Ubuntu 命令技巧(官方)

您所在的位置:网站首页 ubuntu强制结束进程 Ubuntu 命令技巧(官方)

Ubuntu 命令技巧(官方)

2023-03-10 11:38| 来源: 网络整理| 查看: 265

Ubuntu 命令技巧

目录[显示]前言

下面的命令大都需要在 控制台 / 终端 / shell 下输入。

控制台, 终端, 和 shell 意味着同样一件事 - 一个命令行界面, 他可以用来控制系统。

打开一个控制台:

应用程序 --> 附件 --> 终端

任何一个使用 'sudo' 作为前缀的命令都需要拥有管理员 (或 root) 访问权限。 所以你会被提示输入你自己的密码。

安装升级查看软件xxx安装内容dpkg -L xxx 查找软件库中的软件apt-cache search 正则表达式或aptitude search 软件包显示系统安装包的统计信息apt-cache stats显示系统全部可用包的名称apt-cache pkgnames显示包的信息apt-cache show k3b查找文件属于哪个包dpkg -S filenameapt-file search filename查看已经安装了哪些包dpkg -l

也可用

dpkg -l | less

翻页查看

查询软件xxx依赖哪些包apt-cache depends xxx查询软件xxx被哪些包依赖apt-cache rdepends xxx增加一个光盘源sudo apt-cdrom add系统更新sudo apt-get update (这一步更新包列表)sudo apt-get dist-upgrade (这一步安装所有可用更新)或者sudo apt-get upgrade (这一步安装应用程序更新,不安装新内核等)清除所有已删除包的残馀配置文件dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

如果报如下错误,证明你的系统中没有残留配置文件了,无须担心。

dpkg: --purge needs at least one package name argument

Type dpkg --help for help about installing and deinstalling packages [*];Use `dselect' or `aptitude' for user-friendly package management;Type dpkg -Dhelp for a list of dpkg debug flag values;Type dpkg --force-help for a list of forcing options;Type dpkg-deb --help for help about manipulating *.deb files;Type dpkg --license for copyright license and lack of warranty (GNU GPL) [*].

Options marked [*] produce a lot of output - pipe it through `less' or `more' !

编译时缺少h文件的自动处理sudo auto-apt run ./configure查看安装软件时下载包的临时存放目录ls /var/cache/apt/archives备份当前系统安装的所有包的列表dpkg --get-selections | grep -v deinstall > ~/somefile从上面备份的安装包的列表文件恢复所有包dpkg --set-selections < ~/somefilesudo dselect清理旧版本的软件缓存sudo apt-get autoclean清理所有软件缓存sudo apt-get clean删除系统不再使用的孤立软件sudo apt-get autoremove

如果使用

sudo apt-get autoremove --purge

的话会把这些孤立软件的残留配置文件也一并移除

查看包在服务器上面的地址apt-get -qq --print-uris install ssh | cut -d\' -f2

彻底删除Gnomesudo apt-get --purge remove liborbit2彻底删除KDEsudo apt-get --purge remove libqt3-mt libqtcore4一键安装 LAMP 服务sudo tasksel install lamp-server删除旧内核sudo aptitude purge ~ilinux-image-.*\(\!`uname -r`\)导入ppa源的key值#W: GPG签名验证错误: http://ppa.launchpad.net jaunty Release: 由于没有公钥,下列签名无法进行验证: NO_PUBKEY 5126890CDCC7AFE0sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 5126890CDCC7AFE0 #5126890CDCC7AFE0替换为你需要导入的Key值增加 add-apt-repository 命令sudo apt-get install software-properties-common增加一个ppa源sudo add-apt-repository ppa:user/ppa-name #使用 ppa 的地址替换 ppa:user/ppa-name添加163镜像源sudo add-apt-repository "deb http://mirrors.163.com/ubuntu/ `lsb_release -cs` main restricted universe multiverse"sudo add-apt-repository "deb http://mirrors.163.com/ubuntu/ `lsb_release -cs`-updates main restricted universe multiverse"sudo add-apt-repository "deb http://mirrors.163.com/ubuntu/ `lsb_release -cs`-security main restricted universe multiverse"系统升级这里指的是版本间的升级,例如 9.04=>10.04。使用该升级方式通常需要使用 backports 源。sudo apt-get updatesudo apt-get install update-manager-coresudo do-release-upgrade系统查看内核uname -a查看系统是32位还是64位#查看long的位数,返回32或64getconf LONG_BIT#查看文件信息,包含32-bit就是32位,包含64-bit就是64位file /sbin/init

或者使用

uname -m查看Ubuntu版本cat /etc/issue或 cat /etc/lsb-release 或 lsb_release -dsc查看内核加载的模块lsmod查看PCI设备lspci查看USB设备lsusb #加参数 -v 可以显示USB设备的描述表(descriptors)lsusb -v查看网卡状态sudo apt-get install ethtool sudo ethtool eth0激活网卡的 Wake-on-LANsudo apt-get install wakeonlan或 sudo ethtool -s eth0 wol g查看CPU信息cat /proc/cpuinfo显示当前硬件信息sudo lshw查看内存型号sudo dmidecode -t memory获取CPU序列号或者主板序列号#CPU IDsudo dmidecode -t 4 | grep ID#Serial Numbersudo dmidecode | grep Serial#CPUsudo dmidecode -t 4#BIOSsudo dmidecode -t 0#主板:sudo dmidecode -t 2#OEM:sudo dmidecode -t 11显示当前内存大小free -m |grep "Mem" | awk '{print $2}'查看硬盘温度sudo apt-get install hddtempsudo hddtemp /dev/sda显示系统运行时间uptime查看系统限制ulimit -a查看内核限制ipcs -l查看当前屏幕分辨率xrandr硬盘查看块设备lsblk查看硬盘的分区sudo fdisk -l硬盘分区#危险!小心操作。sudo fdisk /dev/sda硬盘格式化#危险!将第一个分区格式化为 ext3 分区, mkfs.reiserfs mkfs.xfs mkfs.vfatsudo mkfs.ext3 /dev/sda1硬盘检查#危险!检查第一个分区,请不要检查已经挂载的分区,否则容易丢失和损坏数据sudo fsck /dev/sda1硬盘坏道检测sudo badblocks -s -v -c 32 /dev/sdb#得到坏的块后,使用分区工具隔离坏道。分区挂载sudo mount -t 文件系统类型 设备路经 访问路经 #常用文件类型如下: iso9660 光驱文件系统, vfat fat/fat32分区, ntfs ntfs分区, smbfs windows网络共享目录, reiserfs、ext3、xfs Linux分区#如果中文名无法显示尝试在最後增加 -o nls=utf8 或 -o io #如果需要挂载後,普通用户也可以使用,在 -o 的参数後面增加 ,umask=022 如:-o nls=utf8,umask=022分区卸载sudo umount 目录名或设备名只读挂载ntfs分区sudo mount -t ntfs -o nls=utf8,umask=0 /dev/sdb1 /mnt/c可写挂载ntfs分区sudo mount -t ntfs-3g -o locale=zh_CN.utf8,umask=0 /dev/sdb1 /mnt/c挂载fat32分区sudo mount -t vfat -o iocharset=utf8,umask=0 /dev/sda1 /mnt/c挂载共享文件sudo mount -t smbfs -o username=xxx,password=xxx,iocharset=utf8 //192.168.1.1/share /mnt/share挂载ISO文件sudo mount -t iso9660 -o loop,utf8 xxx.iso /mnt/iso查看IDE硬盘信息sudo hdparm -i /dev/sda查看软raid阵列信息cat /proc/mdstat参看硬raid阵列信息dmesg |grep -i raidcat /proc/scsi/scsi查看SATA硬盘信息sudo hdparm -I /dev/sda或sudo apt-get install blktoolsudo blktool /dev/sda id查看硬盘剩余空间df

df --help 显示帮助

查看目录占用空间du -hs 目录名闪盘没法卸载syncfuser -km /media/闪盘卷标使用文件来增加交换空间#创建一个512M的交换文件 /swapfilesudo dd if=/dev/zero of=/swapfile bs=1M count=512 sudo mkswap /swapfilesudo swapon /swapfile#sudo vim /etc/fstab #加到fstab文件中让系统引导时自动启动/swapfile swap swap defaults 0 0查看硬盘当前读写情况# 首先安装 sysstat 包sudo apt-get install sysstat#每2秒刷新一次sudo iostat -x 2测试硬盘的实际写入速度dd if=/dev/zero of=test bs=64k count=512 oflag=dsync进程查看当前的内存使用情况free连续监视内存使用情况watch -d free# 使用 Ctrl + c 退出动态显示进程执行情况toptop指令运行时输入H或?打开帮助窗口,输入Q退出指令。查看当前有哪些进程ps -AFL查看进程的启动时间ps -A -opid,stime,etime,args查看目前登入用户运行的程序w查看当前用户程序实际内存占用,并排序ps -u $USER -o pid,rss,cmd --sort -rss统计程序的内存耗用ps -eo fname,rss|awk '{arr[$1]+=$2} END {for (i in arr) {print i,arr[i]}}'|sort -k2 -nr按内存从大到小排列进程ps -eo "%C  : %p : %z : %a"|sort -k5 -nr列出前十个最耗内存的进程ps aux | sort -nk +4 | tail按cpu利用率从大到小排列进程ps -eo "%C  : %p : %z : %a"|sort -nrps aux --sort -pcpu |head -n 20查看当前进程树pstree中止一个进程kill 进程号(就是ps -A中的第一列的数字)或者 killall 进程名强制中止一个进程(在上面进程中止不成功的时候使用)kill -9 进程号或者 killall -9 进程名图形方式中止一个程序xkill 出现骷髅标志的鼠标,点击需要中止的程序即可

查看进程打开的文件lsof -p 进程的pid显示开启文件abc.txt的进程lsof abc.txt 显示22端口现在运行什么程序lsof -i :22 显示nsd进程现在打开的文件lsof -c nsd在後台运行程序,退出登录後,并不结束程序nohup 程序 &#查看中间运行情况 tail nohup在后台运行交互式程序,退出登录后,并不结束程序sudo apt-get install screenscreen vim a.txt#直接退出后使用 screen -ls # 1656.pts-0.ubuntu (Detached)screen -r 1656 #恢复#热键,同时按下Ctrl和a键结束后,再按下功能键C-a ?#显示所有键绑定信息C-a w#显示所有窗口列表C-a C-a#切换到之前显示的窗口C-a c#创建一个新的运行shell的窗口并切换到该窗口C-a n#切换到下一个窗口C-a p#切换到前一个窗口(与C-a n相对)C-a 0..9#切换到窗口0..9C-a a#发送 C-a到当前窗口C-a d#暂时断开screen会话C-a k#杀掉当前窗口在后台运行交互式程序,退出登录后,并不结束程序tmux 进入后再运行其它命令tmux attach #恢复#热键,同时按下Ctrl和b键结束后,再按下功能键C-b c#创建一个新的运行shell的窗口并切换到该窗口C-b n#切换到下一个窗口C-b p#切换到前一个窗口(与C-a n相对)C-b 0..9#切换到窗口0..9C-b d #暂时断开会话C-b &#杀掉当前窗口详细显示程序的运行信息strace -f -F -o outfile 增加系统最大打开文件个数#ulimit -SHnsudo vim /etc/security/limits.conf文件尾追加 * hard nofile 4096* soft nofile 4096sudo vim /etc/pam.d/su将 pam_limits.so 这一行注释去掉 重起系统清除僵尸进程ps -eal | awk '{ if ($2 == "Z") {print $4}}' | xargs sudo kill -9将大于120M内存的php-cgi都杀掉ps -eo pid,fname,rss|grep php-cgi|grep -v grep|awk '{if($3>=120000) print $1}' | xargs sudo kill -9Linux系统中如何限制用户进程CPU占用率renice +10 `ps aux | awk '{ if ($3 > 0.8 && id -u $1 > 500) print $2}'` #或直接编辑/etc/security/limits.conf文件。ADSL配置 ADSLsudo pppoeconfADSL手工拨号sudo pon dsl-provider激活 ADSLsudo /etc/ppp/pppoe_on_boot断开 ADSLsudo poff查看拨号日志sudo plog如何设置动态域名#首先去 http://www.3322.org 申请一个动态域名#然後修改 /etc/ppp/ip-up 增加拨号时更新域名指令sudo vim /etc/ppp/ip-up#在最後增加如下行w3m -no-cookie -dump 'http://username:[email protected]/dyndns/update?system=dyndns&hostname=yourdns.3322.org'网络根据IP查网卡地址arping IP地址根据IP查电脑名nmblookup -A IP地址查看当前IP地址ifconfig eth0 |awk '/inet/ {split($2,x,":");print x[2]}'查看当前外网的IP地址w3m -no-cookie -dump www.ip138.com/ip2city.asp|grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'w3m -no-cookie -dump ip.loveroot.com|grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'curl ifconfig.me查看当前监听80端口的程序lsof -i :80查看当前网卡的物理地址ifconfig eth0 | head -1 | awk '{print $5}'

或者

cat /sys/class/net/eth0/address同一个网卡增加第二个IP地址#在网卡eth0上增加一个1.2.3.4的IP:sudo ifconfig eth0:0 1.2.3.4 netmask 255.255.255.0#删除增加的IP:sudo ifconfig eth0:0 down立即让网络支持natecho 1 | sudo tee /proc/sys/net/ipv4/ip_forwardsudo iptables -t nat -I POSTROUTING -j MASQUERADE查看路由信息netstat -rnsudo route -n手工增加一条路由sudo route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1手工删除一条路由sudo route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1修改网卡MAC地址的方法sudo ifconfig eth0 down #关闭网卡sudo ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE #然后改地址sudo ifconfig eth0 up #然后启动网卡

永久改地址方法

sudo gedit /etc/network/interfaces

在 iface eth0 inet static 后面添加一行:

pre-up ifconfig eth0 hw ether 01:01:01:01:01:01

配置文件应该像如下

iface eth0 inet staticpre-up ifconfig eth0 hw ether 01:01:01:01:01:01address 192.168.1.10netmask 255.255.255.0gateway 192.168.1.1

最后是 logout 或者reboot

统计当前IP连接的个数netstat -na|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r -nnetstat -na|grep SYN|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r -nnetstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n统计当前所有IP包的状态netstat -nat|awk '{print awk $NF}'|sort|uniq -c|sort -n统计当前20000个IP包中大于100个IP包的IP地址tcpdump -tnn -c 20000 -i eth0 | awk -F "." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr | awk ' $1 > 100 '屏蔽IPV6echo "blacklist ipv6" | sudo tee /etc/modprobe.d/blacklist-ipv6察看当前网络连接状况以及程序sudo netstat -atnp查看网络连接状态netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'查看当前系统所有的监听端口nc -zv localhost 1-65535查看网络的当前流量#安装 ethstatus 软件sudo apt-get install ethstatus#查看 ADSL 的速度sudo ethstatus -i ppp0#查看 网卡 的速度sudo ethstatus -i eth0#或安装 bwm-ng sudo apt-get install bwm-ng#查看当前网络流量bwm-ng查看域名的注册备案情况whois baidu.cn查看到某一个域名的路由情况tracepath baidu.cn重新从服务器获得IP地址sudo dhclient从当前页面开始镜像整个网站到本地wget -r -p -np -k http://www.21cn.com· -r:在本机建立服务器端目录结构;· -p: 下载显示HTML文件的所有图片;· -np:只下载目标站点指定目录及其子目录的内容;· -k: 转换非相对链接为相对链接。如何多线程下载sudo apt-get install axelaxel -n 5 http://xxx.xxx.xxx.xxx/xxx.zip或者lftp -c "pget -n 5 http://xxx.xxx.xxx.xxx/xxx.zip“如何查看HTTP头w3m -dump_head http://www.example.com或 curl --head http://www.example.com快速使用http方式共享目录#进入需要共享的目录后运行: python -m SimpleHTTPServer#其它电脑使用http://ip:8000 来访问#自定义端口为8080: python -m SimpleHTTPServer 8080SSH 远程端口转发ssh -v -CNgD 7070 username@sshhostipaddress监控网络所有的tcp数据sudo apt-get install snort #安装snort入侵检测程序sudo snort -vde监控TCP/UDP连接的流量sudo apt-get install iftop sudo iftop#或sudo apt-get install iptrafsudo iptraf扫描某个IP的端口nc -v -w 1 192.168.1.1 -z 1-1000iptables防止外网用内网IP欺骗#eth0 为外网网卡sudo iptables -t nat -A PREROUTING -i eth0 -s 10.0.0.0/8 -j DROPsudo iptables -t nat -A PREROUTING -i eth0 -s 172.16.0.0/12 -j DROPsudo iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/16 -j DROP 查看nat规则sudo iptables -t nat -L查看filter规则sudo iptables -L -n取消nat规则sudo iptables -t nat -F取消filter规则sudo iptables -F阻止一个IP连接本机#规则位于最后sudo iptables -t filter -A INPUT -s 192.168.1.125 -i eth0 -j DROP 关闭 1234 端口sudo iptables -A OUTPUT -p tcp --dport 1234 -j DROP开启 80 端口sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT限制访问80端口的外部IP最大只有50个并发sudo iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 --connlimit-mask 32 -j DROP禁止一个IP或者一个IP段访问服务器端口服务#80端口 ,规则插入到前面sudo iptables -t filter -I INPUT -s 192.168.2.0/24 -p tcp --dport http -j DROP#21端口,规则插入到前面sudo iptables -t filter -I INPUT -s 192.168.1.23 -p tcp --dport ftp -j DROP安全检查本地是否存在安全隐患sudo apt-get install rkhuntersudo rkhunter --checkall如何安装杀毒软件sudo apt-get install clamavclamscan -r ~/Linux下可以使用的商业杀毒软件卡巴斯基(deb): http://www.kaspersky.com/productupdates?chapter=146274389avast!(免费/deb): http://www.avast.com/eng/download-avast-for-linux-edition.html小红伞(gz): http://www.avira.com/en/downloads/avira_antivir_professional.htmlBitDefender(比特梵德/run):http://download.bitdefender.com/SMB/Workstation_Security_and_Management/BitDefender_Antivirus_Scanner_for_Unices/Unix/Current/EN_FR_BR_RO/Linux/

申请比特梵德的KEY:http://www.bitdefender.com/site/Products/ScannerLicense/

防止服务器被暴力破解ssh密码sudo apt-get install denyhosts查看系统的登录情况last查看所有帐号的登录情况lastlog服务添加一个服务sudo update-rc.d 服务名 defaults 99删除一个服务sudo update-rc.d 服务名 remove临时重启一个服务/etc/init.d/服务名 restart临时关闭一个服务/etc/init.d/服务名 stop临时启动一个服务/etc/init.d/服务名 start用户管理增加用户sudo adduser 用户名删除用户sudo deluser 用户名修改当前用户的密码 passwd修改用户密码 sudo passwd 用户名修改用户资料sudo chfn userid如何禁用/启用某个帐户sudo usermod -L 用户名 #锁定用户sudo usermod -U 用户名 #解锁或sudo passwd -l 用户名 #锁定用户sudo passwd -u 用户名 #解锁增加用户到admin组,让其有sudo权限sudo usermod -G admin -a 用户名如何切换到其他帐号(需要该用户的密码)su 用户名如何切换到root帐号sudo -ssudo -isudo su设置配置默认Java环境sudo update-alternatives --config java设置系统http代理export http_proxy=http://xx.xx.xx.xx:xxx设置系统https代理export https_proxy=http://xx.xx.xx.xx:xxx修改系统登录信息sudo vim /etc/motd使用eclipse等其他自带java编译器的软件,换回sun的编译器方法

对于Java JDK6 (就是1.6,sun缩短Java的版本名字了):

sudo update-java-alternatives -s java-6-sun

对于Java JDK1.5

sudo update-java-alternatives -s java-1.5.0-sun中文切换输入法引擎im-switch -c察看文件编码enca 文件名file 文件名转换文件名由GBK为UTF8sudo apt-get install convmvconvmv -r -f cp936 -t utf8 --notest --nosmart *批量转换src目录下的所有文件内容由GBK到UTF8find src -type d -exec mkdir -p utf8/{} \;find src -type f -exec iconv -f GBK -t UTF-8 {} -o utf8/{} \;mv utf8/* srcrm -fr utf8转换文件内容由GBK到UTF8iconv -f gbk -t utf8 $i > newfile批量转换文件内容由GBK到UTF8for i in `find . *`; do if [ -f "$i" ]; then iconv -f gb2312 -t utf8 $i > "./converted/$i" fi ; done转换 mp3 标签编码sudo apt-get install python-mutagenfind . -iname '*.mp3' -execdir mid3iconv -e GBK {} \;

或者使用图形界面工具“小K”,具体请参考解决文件名mp3标签和文本文件内容的乱码问题

控制台下显示中文sudo apt-get install zhcon使用时,输入zhcon即可更具体的输入:zhcon --utf8 --drv=vga如果在/etc/zhcon.conf中指定了分辨率,可以去掉--drv=vga以指定的分辨率启动。

zhcon是个外挂的控制平台,也就是像US-DOS那样是额外安装的软件,装完后是需要驱动才能进去的,不然有可能死机; 当然驱动什么的在你sudo apt-get install zhcon的时候就已经安装了; 你所需要的是在进zhcon时要申明你所用的驱动,而zhcon在安装时,就装了3种驱动:vga,framebuffer,libggi,而我们一般都是用的第一种驱动,因为比较方便简单,而那2钟驱动.很麻烦,我也就没改过.好了说了这么多该告诉各位怎么进入zhcon了; 运行时需输入:zhcon --utf8 --drv=vga

lftp 登录远程Windows中文FTP lftp :~>set ftp:charset GBKlftp :~>set file:charset UTF-8java6 的安装和中文设置#下面是ubuntu安装标准的sun-java,安装过程中需要使用tab键切换同意其授权协议sudo add-apt-repository "deb http://archive.canonical.com/ `lsb_release -c | awk '{print $2}'` partner"sudo apt-get updatesudo apt-get install sun-java6-jdk sun-java6-plugin ttf-wqy-microheisudo apt-get remove ttf-kochi-gothic ttf-kochi-mincho ttf-unfonts ttf-unfonts-coresudo mkdir -p /usr/lib/jvm/java-6-sun/jre/lib/fonts/fallbacksudo ln -s /usr/share/fonts/truetype/arphic/wqy-microhei.ttc /usr/lib/jvm/java-6-sun/jre/lib/fonts/fallbackopenjdk6 的安装和中文设置sudo apt-get install openjdk-6-jdk ttf-wqy-microhei#有两种解决办法,第一种关闭Java的AAecho "export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on'" >> ~/.profile#第二种直接修改Java字体配置echo "allfonts.umingcn=WenQuanYi Microhei Hei" | sudo tee -a /usr/lib/jvm/java-6-openjdk/jre/lib/fontconfig.propertiesecho "allfonts.uminghk=WenQuanYi Microhei Hei" | sudo tee -a /usr/lib/jvm/java-6-openjdk/jre/lib/fontconfig.propertiesecho "allfonts.umingtw=WenQuanYi Microhei Hei" | sudo tee -a /usr/lib/jvm/java-6-openjdk/jre/lib/fontconfig.propertiesecho "allfonts.wqy-zenhei=WenQuanYi Microhei Hei" | sudo tee -a /usr/lib/jvm/java-6-openjdk/jre/lib/fontconfig.propertiesecho "allfonts.shanheisun=WenQuanYi Microhei Hei" | sudo tee -a /usr/lib/jvm/java-6-openjdk/jre/lib/fontconfig.propertiesecho "filename.WenQuanYi_Microhei_Hei=/usr/share/fonts/truetype/wqy/wqy-microhei.ttc" | sudo tee -a /usr/lib/jvm/java-6-openjdk/jre/lib/fontconfig.properties程序显示有些字大,有些小 sudo apt-get remove ttf-kochi-gothic ttf-kochi-mincho ttf-unfonts ttf-unfonts-corePDF 文件乱码sudo apt-get install poppler-dataFlash中文乱码sudo gedit /etc/fonts/conf.d/49-sansserif.conf 将倒数第四行 sans-serif改为 sans保存即可,重启firefox增加农历sudo apt-get install lunar-applet鼠标点击面板右键 -> 添加到面板 -> 农历日期unzip 中文文件名乱码sudo apt-get install p7zip-fullexport LANG=zh_CN.GBK #临时在控制台修改环境为zh_CN.GBK,然后解压缩即可7za e docs.zipibus跟随

安装ibus-gtk即可,最好另外安装:ibus-qt4

查看具体字体名称fc-match monospacewqy-zenhei.ttc: "WenQuanYi Zen Hei Mono" "Regular"文件管理创建一个空文件> file.txttouch file.txt一屏查看文件内容cat 文件名不显示以#开头的行cat /etc/vsftpd.conf |grep -v ^#分页查看文件内容more 文件名可控分页查看文件内容less 文件名带行号显示文件的内容nl 文件名cat -n 文件名去除文件中的行号cut -c 5- a.py删除文件中的重复行cat file.txt |sort -u根据字符串匹配来查看文件部分内容grep 字符串 文件名显示包含或者不包含字符串的文件名grep -l -r 字符串 路径 #显示内容包含字符串的文件名grep -L -r 字符串 路径 #显示内容不包含字符串的文件名find . -path './cache' -prune -o -name "*.php" -exec grep -l "date_cache[$format]['lang']" {} \; #显示当前目录下不包含cache目录的所有含有“date_cache[$format]['lang']”字符串的php文件。find . -type f -name \*.php -exec grep -l "info" {} \;快速查找某个文件whereis filenamefind 目录 -name 文件名locate 文件名 # 注意,为了得到更好的效果,运行前可以更新下数据库,运行 sudo updatedb 即可,但这个命令每隔一段时间会自动运行,所以不用太在意创建两个空文件touch file1 file2递归式创建一些嵌套目录mkdir -pv /tmp/xxs/dsd/efd递归式删除嵌套目录rm -fr /tmp/xxs回当前用户的宿主目录cd ~ # 这个是波浪线,在 Tab 键的上面# 或者更简单的cd回到上一次的目录cd - # 这个是连字符,在退格键的左边两个查看当前所在目录的绝对路经pwd获得文件的后缀名echo xxx.xxx.rmvb |sed 's/.*\(\..*$\)/\1/'去除文件的后缀名echo xxx.xxx.rmvb |sed 's/\(.*\)\..*$/\1/'列出当前目录下的所有文件,包括以.开头的隐含文件的具体参数ls -al

或(在 Ubuntu 中)

ll移动路径下的文件并改名mv 路径/文件 /新路径/新文件名复制文件或者目录cp -av 原文件或原目录 新文件或新目录查看文件类型file filename查看文件的时间stat filename对比两个文件之间的差异 diff file1 file2

一边比较一边编辑还是彩色的:(需要安装 Vim)

vimdiff file1 file2显示xxx文件倒数6行的内容tail -6 xxx让tail不停地读取最新的内容tail -10f /var/log/apache2/access.log

或者

tailf /var/log/apache2/access.log查看文件中间的第五行(含)到第10行(含)的内容sed -n '5,10p' /var/log/apache2/access.log

查找关于xxx的命令apropos xxxman -k xxx通过ssh传输文件scp -rp /path/filename username@remoteIP:/path #将本地文件拷贝到服务器上scp -rp username@remoteIP:/path/filename /path #将远程文件从服务器下载到本地tar cvzf - /path/ | ssh username@remoteip "cd /some/path/; cat -> path.tar.gz" #压缩传输tar cvzf - /path/ | ssh username@remoteip "cd /some/path/; tar xvzf -" #压缩传输一个目录并解压rsync -avh /path/to/file/or/dir user@host:/path/to/dir/or/filersync -avh user@host:/path/to/file/or/dir /path/to/file/or/dir把所有文件的後辍由rm改为rmvbrename 's/.rm$/.rmvb/' *把所有文件名中的大写改为小写rename 'tr/A-Z/a-z/' *删除特殊文件名的文件,如文件名:--help.txtrm -- --help.txt 或者 rm ./--help.txt查看当前目录的子目录ls -d */ 或 echo */将当前目录下最近30天访问过的文件移动到上级back目录find . -type f -atime -30 -exec mv {} ../back \;查找当前目录下最近30天访问过的文件打包备份find . -type f -atime -30 | xargs tar zcvpf backup.tar.gzfind . -type f -atime -30 -print -exec tar rvpf backup.tar {} \;显示系统服务器一小时以内的包含 xxxx 的所有邮件find /home/ -path "*Maildir*" -type f -mmin -60|xargs -i grep -l xxxx '{}'将当前目录下最近2小时到8小时之内的文件显示出来find . -mmin +120 -mmin -480 -exec more {} \;删除修改时间在30天之前的所有文件find . -type f -mtime +30 -exec rm -v {} \;删除访问时间在30天之前的所有文件find . -type f -atime +30 -exec rm -v {} \;查找guest用户的以avi或者rm结尾的文件并删除掉find . -name '*.avi' -o -name '*.rm' -user 'guest' -exec rm {} \;查找不以java和xml结尾,并7天没有使用的文件删除掉find . ! -name *.java ! -name ‘*.xml’ -atime +7 -exec rm {} \;查找目录下所有有包含abcd文字的文本文件,并替换为xyzgrep -rIl "abcd" ./* --color=never | xargs sed -i "s/abcd/xyz/g" #注意grep的一个参数是大写的i,一个参数是小写的L删除当前目录里面所有的 .svn 目录find . -name .svn -type d -exec rm -fr {} \;删除当前目录所有以“~”结尾的临时文件find . -name "*~" -exec rm {} \;删除包含 aaa 字符串的所有文件grep -rl "aaa" * |xargs rm -fv统计当前文件个数echo $(($(ll|wc -l)-3));统计当前目录下所有jpg文件的尺寸find . -name *.jpg -exec wc -c {} \;|awk '{print $1}'|awk '{a+=$1}END{print a}'统计当前目录个数ls -l /usr/bin|grep ^d|wc -l统计当前目录下占空间最大的前10名文件或目录du -sm * | sort -nr | head -10显示当前目录下2006-01-01的文件名ls -l |grep 2006-01-01 |awk '{print $8}'备份当前系统到另外一个硬盘 sudo rsync -Pa / /media/disk1 --exclude=/media/* --exclude=/home/* --exclude=/sys/* --exclude=/tmp/* --exclude=/proc/* --exclude=/mnt/*使用ssh方式同步远程数据到本地目录rsync -Pa -I --size-only --delete --timeout=300 Remote_IP:/home/ubuntu/back /backup使用ftp方式同步远程数据到本地目录lftp -c "open Remote_IP;user UserName Password;set cache:enable false;set ftp:passive-mode false;set net:timeout 15;mirror -e -c /back /backup;"去掉文件中的^M#注意不要使用同样的文件名,会清空掉原文件cat -A filename| tr -d "^M$" > newfile或者

cat -A word|sed -e 's/\^M\$//g' > newfile

直接修改文件

ex "+:%s/[Ctrl+V][Enter]//g" "+:wq" filename

或者

dos2unix filename转换Dos文本文件到Unix文本文件tr -d '\15\32' < dosfile.txt > unixfile.txt #dos = > unixawk '{ sub("\r$", ""); print }' dosfile.txt > unixfile.txt #dos = > unixawk 'sub("$", "\r")' unixfile.txt > dosfile.txt #unix = > dos转换bin/cue到iso文件#sudo apt-get install bchunkbchunk image.bin image.cue image转换目录到iso文件mkisofs -o isofile.iso dirname转换CD到iso文件dd if=/dev/cdrom of=isofile.iso将一个文件作为附件发到邮箱#sudo apt-get install mailutils sharutilsuuencode xxx.tar.gz xxx.tar.gz |mail [email protected](echo "hello, please see attached file"; uuencode xxx.tar.gz xxx.tar.gz)| mail [email protected]合并多个pdf文件到一个pdf文件#apt-get install gs pdftkgs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=output.pdf -dBATCH input1.pdf input2.pdf比较两个目录里面的文件是否有相同diff -r dir1 dir2比较一个远程文件和一个本地文件ssh user@host cat /path/to/remotefile | diff /path/to/localfile -当file.log里出现Finished: SUCCESS时候就退出tailtail -f /path/to/file.log | sed '/^Finished: SUCCESS$/ q'统计py代码行数,不包括空行find . -name "*.py" | xargs grep '^.' | wc -lfind . \( -path '*migrations*' -prune -o -name '*.py' \) -type f | xargs grep '^.' | wc -l统计java代码行数,不包括空行和公共目录find . -path './src/java/com/xxx/common' -prune -o -name '*.java' -print | xargs grep '^.' | wc -l给文件增加行号nl HelloWorld.java > HelloWorldCode.java影像播放swf文件

安装swf解码器

sudo apt-get install swfmill如何保存串流视频(mms/rtsp)mplayer -dumpfile dump.rm -dumpstream rstp://....批量将rmvb转为avi#ipod touch可用for i in *.rmvb; do mencoder -vf harddup -oac mp3lame -lameopts vbr=3 -ovc xvid -xvidencopts fixed_quant=4 -of avi $i -o `echo $i | sed -e 's/rmvb$/avi/'`; done批量将DVD转为avifor i in *.VOB; do mencoder -oac mp3lame -lameopts aq=7:vbr=2:q=6 -srate 44100 -ovc xvid -xvidencopts fixed_quant=4 -of avi $i -o `echo $i | sed -e 's/VOB$/avi/'`; done批量将任何格式的电影转为ogv#sudo apt-get install ffmpeg2theora #firefox3.5或chrome直接支持播放,无需安装任何解码器,注意不支持rmvb,rmvb会出现a/v不同步问题for i in *; do ffmpeg2theora --optimize --deinterlace $i; done批量将rmvb格式的电影转为ogv#!/bin/bashfor i in *; do mkfifo "/tmp/$i" mencoder -quiet -vf harddup -ovc raw -oac pcm -o "/tmp/$i" "$i" & ffmpeg2theora --optimize --deinterlace "/tmp/$i" -o "`echo $i | sed 's/\(.*\)\..*$/\1/'`.ogv" rm "/tmp/$i"done利用gst来转换任意电影为ogv#!/bin/bashfor i in *; do gst-launch-0.10 filesrc location="$i" ! decodebin name=demux \ { oggmux name=mux ! filesink location="`echo $i | sed 's/\(.*\)\..*$/\1/'`.ogv" } \ { demux. ! queue ! audioconvert ! vorbisenc ! queue ! mux. } \ { demux. ! queue ! ffmpegcolorspace ! videorate ! theoraenc ! mux. } done

批量转换任意文件为ipod touch使用的mp4#!/bin/bash#ubuntu10.04自带的mencoder由于版权问题,不支持h264编码,需要重新编译;也可以直接参考下面的压缩方法。#sudo apt-get install mencoder mplayerfind . -name '*.avi' -o -name '*.rm' -o -name '*.rmvb' -o -name '*.wmv' -o \ -name '*.vob' -o -name '*.asf' -o -name '*.mpg' -o -name '*.ts' -o \ -name '*.flv' -o -name '*.mpeg' -o -name '*.ogv' -o -name '*.mov' -o \ -name '*.mkv' -o -name '*.dat' | while read i; do basename=`echo $i | sed 's/\(.*\)\..*$/\1/'` font="WenQuanYi Zen Hei" if [ -f "${basename}.srt" ] ; then cp "${basename}.srt" $$.srt m0="-vf scale=480:-10,harddup -sub $$.srt -unicode -subcp GB18030 -subfont-text-scale 3"; else m0="-vf scale=480:-10,harddup"; fi x0="-lavfopts format=mp4 -faacopts mpeg=4:object=2:raw:br=160 -oac faac -ovc x264 -sws 9 -x264encopts nocabac:level_idc=30:bframes=0:global_header:threads=auto:subq=5:frameref=6:partitions=all:trellis=1:chroma_me:me=umh:bitrate=500 -of lavf -ofps 24000/1001"; mencoder $m0 -fontconfig -font "${font}" $x0 -o "$$.mp4" "$i" mv "$$.mp4" "${basename}.mp4" if [ -f "${basename}.mp4" ] ; then rm "$i" fidone转换任意格式的视频到H264#!/bin/bash#sudo apt-get install faac x264 gpac mplayer mencoderbasename=`echo $1 | sed 's/\(.*\)\..*$/\1/'`#获得视频的长宽和帧数mplayer -vo null -ao null -identify -frames 0 "$1" 2>/dev/null > video.infoFPS=`cat video.info | grep ID_VIDEO_FPS | cut -d = -f 2`#FPS=23.976W=`cat video.info | grep ID_VIDEO_WIDTH | cut -d = -f 2`H=`cat video.info | grep ID_VIDEO_HEIGHT | cut -d = -f 2`WIDTH=480HEIGHT=`expr $WIDTH \* $H \/ $W`echo $1 FPS=$FPS WIDTH=$WIDTH HEIGHT=$HEIGHTmkfifo audio.wav video.yuvfaac -o audio.aac audio.wav &mplayer -ao pcm:file=audio.wav:fast -vc null -vo null "$1" x264 --profile baseline --fps $FPS -o video.264 video.yuv ${WIDTH}x${HEIGHT} &mencoder -vf scale=$WIDTH:$HEIGHT,harddup,pp=fd,format=i420 -nosound -ovc raw -of rawvideo -ofps $FPS -o video.yuv "$1"MP4Box -new -add video.264 -add audio.aac -fps $FPS "$basename.mp4"rm video.info audio.aac video.264 audio.wav video.yuv#使用方法将上面的脚本保存为 x264.sh , x264.sh xxx.avi 来进行转化。压制DVD到H264,支持ipod#sudo apt-get install faac x264 gpac mplayerFPS=29.970mkfifo audio.wavcat VTS_01_1.VOB VTS_02_1.VOB VTS_02_2.VOB VTS_03_1.VOB VTS_04_1.VOB | mplayer -nocorrect-pts -vo null -vc null -ao pcm:file=audio.wav:fast - &faac audio.wav -o audio.aacmkfifo video.y4mcat VTS_01_1.VOB VTS_02_1.VOB VTS_02_2.VOB VTS_03_1.VOB VTS_04_1.VOB | mplayer -vo yuv4mpeg:file=video.y4m -vf scale=480:-3,harddup,pp=fd -nosound - &x264 --profile baseline --muxer mp4 --demuxer y4m video.y4m -o video.mp4MP4Box -add video.mp4 -add audio.aac -fps $FPS video.mp4图形界面为ipod touch转mp4的方法

先确保有zenity和memcoder

wget http://linuxfire.com.cn/~lily/toIpod -O ~/.gnome2/nautilus-scripts/toIpod && chmod +x ~/.gnome2/nautilus-scripts/toIpod

在nautilus里对视频文件点右键,选择"脚本"-"toIpod".

详情请查看出处。

转换flv到MP4#sudo apt-get install ffmpegffmpeg -i 矜持.flv -ar 22050 矜持.mp4mencoder/mplayer 反拉丝参数-vf lavcdeint合并多个 rm 文件为一个 avi 文件mencoder -ovc lavc 1.rm -oac mp3lame -o 1.avimencoder -ovc lavc 2.rm -oac mp3lame -o 2.avimencoder -idx 1.avi -ovc copy -oac copy -o o1.avimencoder -idx 2.avi -ovc copy -oac copy -o o2.avicat o1.avi o2.avi | mencoder -noidx -ovc copy -oac copy -o output.avi -合并视频到一个文件mencoder -ovc copy -oac copy -idx -o 目标文件名 文件名1 文件名2CD 抓轨为 mp3 (有损)#sudo apt-get install abcdeabcde -o mp3 -bCD 抓轨为 Flac (无损)#sudo apt-get install abcdeabcde -o flac -bape 转换为 flac#sudo apt-get install flac shntool iconv mac#iconv -f GB2312 -t UTF-8 example.cue -o example_UTF-8.cue#shntool split -t "%n.%p-%t" -f example_UTF-8.cue -o flac example.ape -d flacOutputDir#sudo apt-get install libav-toolsffmpeg -i example.ape example.flacape/flac 转换为 mp3#sudo apt-get install shntool iconv libav-toolsffmpeg -i CDImage.ape CDImage.flaciconv -f gbk -t utf-8 CDImage.cue | shntool split -t "%n.%p-%t" -o 'cust ext=mp3 lame --quiet - %f' CDImage.flac批量将 ape 转为 mp3for f in *.ape; do gst-launch-0.10 filesrc location="$f" ! decodebin ! audioconvert ! lame vbr=0 bitrate=320 ! id3mux ! filesink location="${f%.ape}.mp3"; done#需要安装 shntoolfor i in *.ape; do shnconv -i ape -o "cust ext=mp3 lame -b 320 - %f" "$i" -d mp3OutputDir; done批量将 ape 转为 m4afor f in *.ape; do ffmpeg -i "$f" -acodec alac "${f%.ape}.m4a"; done批量将 ape 转为 aacfor f in *.ape; do ffmpeg -i "$f" -acodec aac -strict experimental -ab 256k "${f%.ape}.aac"; done批量将 flac 转为 mp3for i in *.flac; do shnconv -i flac -o "cust ext=mp3 lame -b 320 - %f" "$i" -d mp3OutputDir; done批量将svg转为pngfor i in *.svg; do inkscape $i --export-png=`echo $i | sed -e 's/svg$/png/'`; done批量转换格式到mp3#sudo apt-get install lame mplayerfor i in *; do base=${i%.*}; mplayer -quiet -vo null -vc dummy -af volume=0,resample=44100:0:1 -ao pcm:waveheader:file="$i.wav" "$i" ; lame -V0 -h -b 192 -vbr-new "$i.wav" "$base.mp3"; rm -f "$i.wav" ; done批量缩小图片到30%for i in *.jpg; do convert -resize 30%x30% "$i" "sm-$i"; done批量转换jpg到pngfor i in *.jpg; do convert $i `echo $i | sed -e 's/jpg$/png/'`; done将文字转为图片convert -size 200x30 xc:transparent -font /usr/share/fonts/truetype/wqy/wqy-microhei.ttc -fill red -pointsize 16 -draw "text 5,15 '测试中文转为图片'" test.png如何压缩png图片#sudo apt-get install optipngoptipng -o7 old.png new.png#或 sudo apt-get install pngcrush#pngcrush -brute old.png new.png将多张图片合并到一个PDF文件convert *.jpg out.pdf批量把pdf转换为txt并格式化sudo apt-get install poppler-utils poppler-datafind ./ -name '*.txt' | while read i; do cat $i | awk '{if ($0 ~ "^space:”) {printf “\n”$0} else {printf $0}}’ | sed ‘/^space:*digit:*$/d’ | sed ’s/^space:\+/ /’ | sed ’s/"/”/g’ > “../txt/$i”; done转换 pdf 到 png#sudo apt-get install imagemagickconvert -density 196 FILENAME.pdf FILENAME.png获取jpg的扩展信息(Exif)identify -verbose xxx.jpg获取视频文件 xxx.avi 的信息mplayer -vo null -ao null -frames 0 -identify "xxx.avi" 2>/dev/null | sed -ne '/^ID_/ { s/[]()|&;`'"'"'\\!$" []/\\&/g;p }'查看MKV视频文件 xxx.mkv 的信息#sudo apt-get install mkvtoolnixmkvinfo -v xxx.mkv

抓取桌面操作的视频ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg命令行读出文本espeak -vzh "从前有座山"命令行抓屏 scrot -s screenshot.png压缩增加 7Z 压缩软件#支持 7Z,ZIP,Zip64,CAB,RAR,ARJ,GZIP,BZIP2,TAR,CPIO,RPM,ISO,DEB 压缩文件格式sudo apt-get install p7zip p7zip-full p7zip-rar#将所有已txt结尾的文件都加入到files.7z7z a -t7z files.7z *.txt#解压缩files.zip7z x files.zip#删除 files.zip中所有已bak结尾的文件7z d -r files.zip *.bak #列出file.7z中所有的文件信息7z l files.7z#测试files.zip中所有doc结尾文件的正确性7z t -r files.zip *.doc #更新files.zip中的所有doc结尾的文件(不是所有的压缩格式都支持更新这一选项)7z u files.zip *.doc增加 rar 格式解压和压缩支持#解压sudo apt-get install unrar#压缩#源里的rar包有文件名乱码问题,不建议使用。#如果确实需要rar压缩功能,请到以下网址直接下载RAR for Linux#http://www.rarlab.com/download.htm增加 zip 格式解压和压缩支持#解压sudo apt-get install unzip#压缩sudo apt-get install zip解压缩 xxx.tar.gztar -xf xxx.tar.gz解压缩 xxx.tar.bz2tar -xf xxx.tar.bz2压缩aaa bbb目录为xxx.tar.gztar -zcvf xxx.tar.gz aaa bbb压缩aaa bbb目录为xxx.tar.bz2tar -jcvf xxx.tar.bz2 aaa bbb增加 lha 支持sudo apt-get install lha增加解 cab 文件支持sudo apt-get install cabextractNautilus显示隐藏文件Ctrl+h显示地址栏Ctrl+l特殊 URI 地址* computer:/// - 全部挂载的设备和网络* network:/// - 浏览可用的网络* burn:/// - 一个刻录 CDs/DVDs 的数据虚拟目录* smb:/// - 可用的 windows/samba 网络资源* x-nautilus-desktop:/// - 桌面项目和图标* file:/// - 本地文件* trash:/// - 本地回收站目录* ftp:// - FTP 文件夹* ssh:// - SSH 文件夹* fonts:/// - 字体文件夹,可将字体文件拖到此处以完成安装* themes:/// - 系统主题文件夹查看已安装字体fc-list |grep 文获取安装的中文字体信息

文件管理器(比如nautilus)的地址栏里输入 ~/.fonts ,就可以查看当前用户拥有的fonts——而系统通用字体位于 /usr/share/fonts

日期和时间显示日历cal # 显示当月日历cal 2 2007 # 显示2007年2月的日历显示农历#sudo apt-get install lunardate '+%Y %m %d %H' |xargs lunar --utf8设置日期date -s mm/dd/yy设置时间date -s HH:MM将时间写入CMOShwclock --systohc查看CMOS时间 hwclock --show读取CMOS时间hwclock --hctosys从服务器上同步时间sudo ntpdate ntp.ubuntu.comsudo ntpdate time.nist.gov设置电脑的时区为上海sudo dpkg-reconfigure tzdata

然后根据提示选择 Asia/Shanghai。这样在升级了 tzdata 包之后时区也是对的。

XP 和 Ubuntu 相差了 8 小时的时差#关闭UTC,将当前时间写入CMOS。sudo sed -ie 's/UTC=yes/UTC=no/g' /etc/default/rcSsudo hwclock --systohc将时间截转为时间date -d@1234567890工作区不同工作区间切换Ctrl + ALT + ←Ctrl + ALT + →或者,将滚轮鼠标放在工作区图标上滚动控制台指定控制台切换Ctrl + ALT + Fn(n:1~7)控制台下滚屏SHIFT + pageUp/pageDown控制台抓图setterm -dump n(n:1~7)

只是支持tty1-7。没中文。没颜色代码序列。

回到上一次的目录cd –以root的身份执行上一条命令sudo !!数据库mysql的数据库存放路径/var/lib/mysql从mysql中导出和导入数据mysqldump 数据库名 > 文件名 #导出数据库mysqladmin create 数据库名 #建立数据库mysql 数据库名 < 文件名 #导入数据库忘了mysql的root口令怎么办sudo /etc/init.d/mysql stopsudo mysqld_safe --skip-grant-tables &sudo mysqladmin -u user password 'newpasswordsudo mysqladmin flush-privileges修改mysql的root口令sudo mysqladmin -u root -p password '你的新密码'

如何优化mysqlwget http://www.day32.com/MySQL/tuning-primer.shchmod +x tuning-primer.sh./tuning-primer.shmysql命令行中文显示?号mysql> set names utf8;常用mysql管理语句show table status; #查询表状态show full processlist; #查询mysql进程alter table site_stats engine=MyISAM; #转换表为MyISAM类型,转表锁为行锁。show variables; #查看mysql 变量mysql的自动备份#备份 forum myweb 数据库到 /backup/mysql 目录,并删除7天之前的备份记录mysqldump --opt --skip-lock-tables -u root forum | gzip -9 > /backup/mysql/forum.`date +%Y%m%d`.sql.gzmysqldump --opt --skip-lock-tables -u root myweb | gzip -9 > /backup/mysql/myweb.`date +%Y%m%d`.sql.gzfind /backup/mysql/ -type f -ctime +7 -exec rm {} \;控制如何使用命令关闭显示器xset dpms force off设置CPU的频率sudo apt-get install cpufrequtils #查看cpu当前频率信息sudo cpufreq-info 设置模式,对应于{最省电(最低频率),用户控制,最高或最低,正常,最大性能} cpufreq-set -g {powersave, userspace, ondemand, conservative, performance}命令关机sudo haltsudo shutdown -h now #现在关机定时关机sudo shutdown -h 23:00 #晚上11点自动关机sudo shutdown -h +60 #60分钟后关机命令重启电脑sudo rebootsudo shutdown -r now如何修改ssh登录提示sudo gedit /etc/motd如何关闭ssh登录提示sudo gedit /etc/ssh/sshd_config 修改这一行为: PrintLastLog no如何使用命令关闭笔记本的触摸板synclient touchpadoff=1那么开启触摸板就是:synclient touchpadoff=0从命令行通知桌面消息#sudo apt-get install libnotify-binnotify-send "hello world"统计统计最常用的10条命令history | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n10 统计每个单词的出现频率,并排序awk '{arr[$1]+=1 }END{for(i in arr){print arr[i]"\t"i}}' FILE_NAME | sort -rn统计80端口的连接个数并按照从大到小排列netstat -na|grep :80|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r -n编辑器vim中删除技巧:%s/[Ctrl-v][Enter]//g 删除DOS方式的回车^M:%s= *$== 删除行尾空白:%!sort -u 删除重复行:%s/^.{-}pdf/new.pdf/ 只是删除第一个pdf:%s/// 删除多行注释:g/^$/d 删除所有空行 :g!/^dd/d 删除不含字符串'dd'的行:v/^dd/d 删除不含字符串'dd'的行:g/str1/,/str2/d 删除所有第一个含str1到第一个含str2之间的行:v/./.,/./-1join 压缩空行:g/^$/,/./-j 压缩空行ndw 或 ndW 删除光标处开始及其后的 n-1 个字符。d0 删至行首。d$ 删至行尾。ndd 删除当前行及其后 n-1 行。x 或 X 删除一个字符。Ctrl+u 删除输入方式下所输入的文本。D 删除到行尾x,y 删除与复制包含高亮区dl 删除当前字符(与x命令功能相同)d0 删除到某一行的开始位置d^ 删除到某一行的第一个字符位置(不包括空格或TAB字符)dw 删除到某个单词的结尾位置d3w 删除到第三个单词的结尾位置db 删除到某个单词的开始位置dW 删除到某个以空格作为分隔符的单词的结尾位置dB 删除到某个以空格作为分隔符的单词的开始位置d7B 删除到前面7个以空格作为分隔符的单词的开始位置d) 删除到某个语句的结尾位置d4) 删除到第四个语句的结尾位置d( 删除到某个语句的开始位置d) 删除到某个段落的结尾位置d{ 删除到某个段落的开始位置d7{ 删除到当前段落起始位置之前的第7个段落位置dd 删除当前行d/text 删除从文本中出现“text”中所指定字样的位置,一直向前直到下一个该字样所出现的位置(但不包括该字样)之间的内容dfc 删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括该字符)之间的内容dtc 删除当前行直到下一个字符“c”所出现位置之间的内容D 删除到某一行的结尾d$ 删除到某一行的结尾5dd 删除从当前行所开始的5行内容dL 删除直到屏幕上最后一行的内容dH 删除直到屏幕上第一行的内容dG 删除直到工作缓存区结尾的内容d1G 删除直到工作缓存区开始的内容ci{ 删除修改光标所在的{}中的所有内容,change in { 的简写ca{ 删除修改光标所在的{}中的所有内容,包括{}ci" 删除修改光标所在的""中的所有内容,change in " 的简写ca" 删除修改光标所在的""中的所有内容,包括{}ci( 删除修改光标所在的()中的所有内容,change in ( 的简写ca( 删除修改光标所在的()中的所有内容,包括{}vim一个远程文件vim scp://username@host//path/to/somefile如何配置Emacs

打开新立得或者命令行,查找emacs, 选择你想要的版本,比如emacs22或者emacs21.

之后的配置参考Emacs 常见问题及其解决方法

vim 如何显示彩色字符sudo cp /usr/share/vim/vimcurrent/vimrc_example.vim /usr/share/vim/vimrc让 vim 直接支持编辑 .gz 文件sudo apt-get install vim-fullvim 如何显示行号,在~/.vimrc中加入set number

如果没有~/.vimrc文件,则可以在/etc/vim/vimrc中加入

set numbervim配色方案 (~/.vimrc)colorscheme scheme可用的 scheme 在 /usr/share/vim/vim71/colors/ 解决vim中文编码问题,在~/.vimrc中加入let &termencoding=&encodingset fileencodings=utf-8,gbk,ucs-bom,cp936#再提供一个实践中觉得不错的配置:" Encoding relatedset encoding=UTF-8set langmenu=zh_CN.UTF-8language message zh_CN.UTF-8set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1set fileencoding=utf-8gedit中文乱码的解决gconftool-2 --set /apps/gedit-2/preferences/encodings/auto_detected "[UTF-8,CURRENT,GB18030,BIG5,ISO-8859-15,UTF-16]" --type list --list-type string编译和打包安装通用编译环境sudo apt-get install build-essential通用的编译安装步骤./configure && make && sudo make install如何编译安装软件 katesudo apt-get install apt-buildsudo apt-build install kate获得源代码包sudo apt-get source mysql-server解压缩还原源代码包dpkg-source -x mysql-dfsg-5.1_5.1.30-1.dsc安装编译打包环境sudo apt-get build-dep mysql-server重新编译并打包Debian化的源码dpkg-buildpackage -rfakeroot获得源码并重新打包apt-get source php5-cgi #或手工下载源码后使用 dpkg-source -x php5_5.2.6.dfsg.1-3ubuntu4.1.dsc 解开源码sudo apt-get build-dep php5-cgicd php5-5.2.6.dfsg.1dpkg-buildpackage -rfakeroot -uc -b给源代码打补丁patch -p0 < mysql.patch安装 gtk+ 编译环境sudo apt-get install build-essential libgtk2.0-dev其它把终端加到右键菜单sudo apt-get install nautilus-open-terminal 如何删除Totem电影播放机的播放历史记录rm ~/.recently-used清除桌面挂载硬盘图标gconftool-2 --set /apps/nautilus/desktop/volumes_visible 0 --type bool

恢复:

gconftool-2 --set /apps/nautilus/desktop/volumes_visible 1 --type bool如何更换gnome程序的快捷键点击菜单,鼠标停留在某条菜单上,键盘输入任意你所需要的键,可以是组合键,会立即生效;如果要清除该快捷键,请使用backspaceman 如何显示彩色字符vim ~/.bashrc#增加下面的内容:export LESS_TERMCAP_mb=$'\E[01;31m'export LESS_TERMCAP_md=$'\E[01;31m'export LESS_TERMCAP_me=$'\E[0m'export LESS_TERMCAP_se=$'\E[0m'export LESS_TERMCAP_so=$'\E[01;44;33m'export LESS_TERMCAP_ue=$'\E[0m'export LESS_TERMCAP_us=$'\E[01;32m'#生效文件#source .bashrc如何在命令行删除在会话设置的启动程序cd ~/.config/autostartrm 需要删除启动程序如何提高wine的反应速度sudo sed -ie '/GBK/,/^}/d' /usr/share/X11/locale/zh_CN.UTF-8/XLC_LOCALE

可能造成某些游戏帧数降低 

如何命令行刻录mkisofs -o test.iso -Jrv -V test_disk /home/carla/cdrecord -scanbusscsibus1: 1,1,0 101) 'HL-DT-ST' 'CD-RW GCE-8481B ' '1.04' Removable CD-ROMcdrecord -v -eject speed=8 dev=1,1,0 test.iso

http://www.ibm.com/developerworks/cn/linux/l-cdburn/index.html

延迟抓图gnome-screenshot -d 10 #延迟10秒抓图gnome-screenshot -w -d 5 #延迟5秒抓当前激活窗口回收站在哪里Ubuntu8.04 Gnome 2.22.2 以后在 $HOME/.local/share/Trash/Ubuntu8.04 之前在 $HOME/.Trash/强制清空回收站sudo rm -fr $HOME/.local/share/Trash/files/默认打开方式的配置文件在哪里#全局/etc/gnome/defaults.list #个人~/.local/share/applications/mimeapps.listFirefox 的缓存目录在哪里ls ~/.mozilla/firefox/*.default/Cache/查看samba的用户sudo pdbedit -L增加一个用户到sambasudo pdbedit -a username从samba账户中删除一个用户sudo pdbedit -x username显示samba账户信息sudo pdbedit -r username测试samba账户是否正常smbclient -L 192.168.1.1 -U username -d 3samba的数据库存在哪里/var/lib/samba/passdb.tdbsamba用户Windows下无法登录在Windows的运行输入 cmd ,进入终端,输入 net use 命令,将显示已经连接的帐号如 \\192.168.1.1\username再输入 net use \\192.168.1.1\username /delete 删除现有的共享连接,再尝试进入另外一个目录就可以正常登录了。Pidgin 的聊天记录在哪里~/.purple/logs/安装PDF打印机sudo apt-get install cups-pdf#打印生成的pdf文件在 ~/PDF 文件夹里面nvidia快速重设显示设置及配置多显示器sudo dpkg-reconfigure xserver-xorgsudo nvidia-xconfig#nvidia-settings 用于设置分辨率和多显示器sudo nvidia-settingskacpid进程大量占用CPU

硬件驱动中不要激活无线网卡驱动即可

替换上一条命令中的一个短语^foo^bar^!!:s/foo/bar/AMD64位系统安装免费的杀毒软件 avast!wget http://files.avast.com/files/linux/avast4workstation_1.3.0-2_i386.debsudo dpkg --force-architecture -i avast4workstation_1.3.0-2_i386.debsudo apt-get install ia32-libs#然后打开 http://www.avast.com/registration-free-antivirus.php 去申请免费一年的许可证号应用合适的字体显示尺寸

获取信息

xdpyinfo | grep -B1 dot

例如

dimensions: 1440x900 pixels (333x212 millimeters) resolution: 110x108 dots per inch

获取X server信息

grep DPI /var/log/Xorg.0.log

例如

[ 19.244] (--) NVIDIA(0): DPI set to (110, 108); computed from "UseEdidDpi" X config

这里设置的X DPI会被桌面的顶替,找到你自己的替换,如上的DPI从默认的96改为109。

重新配置键盘类型sudo dpkg-reconfigure keyboard-configuration 官方Ubuntu 命令技巧 Ubuntu 命令技巧(官方) Ubuntu命令使用技巧 Ubuntu 命令技巧 Ubuntu 命令技巧 ubuntu的命令技巧 Ubuntu 命令技巧 Ubuntu 命令技巧 Ubuntu 命令技巧 Ubuntu 命令技巧 Ubuntu命令技巧 Ubuntu命令技巧 Ubuntu 命令技巧 Ubuntu 命令技巧 Ubuntu 命令技巧 Ubuntu 命令技巧 ubuntu 命令一句话技巧 Ubuntu 命令技巧 c#获取或修改配置文件 UITableView重用机制 基于Java的四大开源测试工具 php获取远程文件大小的三种方法(实例代码) VS2010配置OpenGL时gl文件夹的存放位置 Ubuntu 命令技巧(官方) 触摸与手势原理 设计模式学习--------1.组合模式学习 自定义控件:属性为控件需要注意的地方 UITabBar&UINavigation Extjs开发遇到的问题 OpenCV如何获取视频当前的一帧图像 根据表名获取表字段信息 基于 ThinkPHP 实现: 流水号类 ( SN.class.php )


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3