shell常用实例总结
将平时常用的小例子总结起来共享给大家,同时自己也备份保存,有新的东西时还会来更新,大家有新的总结可以在些留言[*]添加一个服务:sudo update-rc.d 服务名 defaults 99
[*]删除特殊文件名 --help.txt 的文件:rm -- --help.txt 或 rm ./--help.txt
[*]读取CMOS时间 :hwclock --hctosys
[*]优盘没法卸载:sync;fuser -km /media/usbdisk
[*]查看当前进程树:pstree
[*]查找文件属于哪个包:dpkg -S filename
[*]查看文件第五行到第10行的内容 :sed -n '5,10p' /var/log/apache2/access.log
[*]动态显示进程执行情况:top
[*]如何命令行刻录:cdrecord -scanbus;cdrecord -v -eject speed=8 dev=1,1,0 test.iso
[*]查看包在服务器上面的地址:apt-get -qq --print-uris install ssh | cut -d\' -f2
[*]手工增加一条路由 :sudo route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
[*]去掉文件中的^M:sed -e "s/^M//g" filename > newfile
[*]压缩aaa bbb目录为xxx.tar.gz :tar -zcvf xxx.tar.gz aaa bbb
[*]ADSL手工拨号:sudo pon dsl-provider
[*]创建两个空文件:touch file1 file2
[*]立即让网络支持nat :echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward; sudo iptables -t nat -I POSTROUTING -j MASQUERADE
[*]
[*]查询软件xxx依赖哪些包:apt-cache depends xxx
[*]查看CMOS时间 :hwclock --show
[*]将时间写入CMOS :hwclock --systohc
[*]检查本地是否存在安全隐患:sudo apt-get install rkhunter;rkhunter --checkall
[*]查看路由信息:netstat -rn 或 sudo route -n
[*]设置时间:date -s HH:MM
[*]关闭UTC,将当前时间写入CMOS。:sudo sed -ie 's/UTC=yes/UTC=no/g' /etc/default/rcS;sudo hwclock --systohc
[*]PDF 文件乱码 :sudo apt-get install xpdf-chinese-simplified xpdf-chinese-traditional poppler-data
[*]清除僵死进程:ps -eal | awk '{ if ($2 == "Z") {print $4}}' | sudo kill -9
[*]显示系统运行时间:uptime
[*]回收站在哪里:~/.local/share/Trash/
[*]查找软件库中的软件:apt-cache search 正则表达式
[*]查看拨号日志:sudo plog
[*]命令关机:sudo halt
[*]对比两个文件之间的差异:diff file1 file2
[*]查询软件xxx被哪些包依赖:apt-cache rdepends xxx
[*]查看当前有哪些进程:ps -A
[*]修改系统登录信息:sudo vim /etc/motd
[*]转换 mp3 标签编码 :sudo apt-get install python-mutagen;find . -iname '*.mp3' -execdir mid3iconv -e GBK {} \;
[*]使用ssh方式同步远程数据到本地目录 :rsync -Pa -I --size-only --delete --timeout=300 Remote_IP:/home/ubuntu /backup
[*]中止一个进程:kill 进程号 或 killall 进程名
[*]设置电脑的时区为上海:sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[*]查看当前的内存使用情况:free
[*]查找软件库中的软件:apt-cache search 正则表达式
[*]查看在会话设置的启动程序:ls ~/.config/autostart
[*]一屏查看文件内容 :cat 文件名
[*]挂载ISO文件:sudo mount -t iso9660 -o loop,utf8 xxx.iso /mnt/iso
[*]增加解 cab 文件支持 :sudo apt-get install cabextract
[*]分区卸载:sudo umount 目录名或设备名
[*]增加 7Z 压缩软件:sudo apt-get install p7zip p7zip-full p7zip-rar
[*]ape转换为flac:sudo apt-get install flac shntool;shntool split -t "%n.%p-%t" -f example_UTF-8.cue -o flac example.ape -d flacOutputDir
[*]vim 如何显示彩色字符 :sudo cp /usr/share/vim/vimcurrent/vimrc_example.vim /usr/share/vim/vimrc
[*]把所有文件名中的大写改为小写:rename 'tr/A-Z/a-z/' *
[*]统计当前目录下所有jpg文件的尺寸:find . -name *.jpg -exec wc -c {} \;|awk '{print $1}'|awk '{a+=$1}END{print a}'
[*]批量缩小图片到30%:for i in *; do convert -resize 30%x30% $1 sm-$1; done
[*]关闭笔记本的触摸板 :synclient touchpadoff=1
[*]分区挂载:sudo mount -t 文件系统类型 (-o nls=utf8 或 -o iocharset=utf8) 设备路经 访问路经
[*]硬盘分区:sudo fdisk /dev/sda
[*]设置日期:date -s mm/dd/yy
[*]批量将svg转为png:for i in *; do inkscape $i --export-png=`echo $i | sed -e 's/svg$/png/'`; done
[*]查看网卡状态:sudo ethtool eth0
[*]增加解 cab 文件支持 :sudo apt-get install cabextract
[*]清理旧版本的软件缓存:sudo apt-get autoclean
[*]从服务器上同步时间 :sudo ntpdate ntp.ubuntu.com
[*]删除创建时间在30天之前的文件 :find . -type f -ctime +30 -ctime -3600 -exec rm {} \;
[*]统计当前IP连接的个数 :netstat -na|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r -n
[*]晚上11点自动关机:sudo shutdown -h 23:00
[*]显示包含字符串的文件名:grep -l -r 字符串 路径
[*]连续监视内存使用情况:watch -d free
[*]查看当前系统所有的监听端口:nc -zv localhost 1-65535
[*]使用sun的java编译器:sudo update-java-alternatives -s java-6-sun
[*]转换文件名由GBK为UTF8 :convmv -r -f cp936 -t utf8 --notest --nosmart *
[*]根据字符串匹配来查看文件部分内容:grep 字符串 文件名
[*]递归式创建一些嵌套目录:mkdir –p /tmp/xxs/dsd/efd
[*]增加用户到admin组:sudo usermod -G admin -a 用户名
[*]转换bin/cue到iso文件:sudo apt-get install bchunk;bchunk image.bin image.cue image
[*]控制台下显示中文 :sudo apt-get install zhcon;zhcon --utf8 --drv=vga
[*]查看CPU信息:cat /proc/cpuinfo
[*]显示xxx文件倒数6行的内容 :tail -n 6 xxx
[*]去掉文件中的^M:cat filename | tr -d "^M" > newfile
[*]终端设置代理 :export httphttp_proxy=http://xx.xx.xx.xx:xxx
[*]查看包在服务器上面的地址:apt-get -qq --print-uris install ssh | cut -d\' -f2
[*]vim 如何显示行号::set number
[*]获取jpg的扩展信息(Exif):identify -verbose xxx.jpg
[*]根据IP查电脑名 :nmblookup -A IP地址
[*]查看硬盘的分区:sudo fdisk -l
[*]只读挂载ntfs分区:sudo mount -t ntfs -o nls=utf8,umask=0 /dev/sdb1 /mnt/c
[*]提高wine的反应速度 :sudo sed -ie '/GBK/,/^}/d' /usr/share/X11/locale/zh_CN.UTF-8/XLC_LOCALE
[*]如何设置动态域名:w3m -no-cookie -dump 'http://usere:pass@members.3322.org/dyndns/update?system=dyndns&hostname=yourdns.3322.org'
[*]在后台运行程序,退出登录后,并不结束程序 :nohup 程序 &
[*]显示系统全部可用包的名称:apt-cache pkgnames
[*]现在关机:sudo shutdown -h now
[*]转换文件名由GBK为UTF8 :convmv -r -f cp936 -t utf8 --notest --nosmart *
[*]查看PCI设备:lspci
[*]删除用户:sudo deluser 用户名
[*]删除一个服务 :sudo update-rc.d 服务名 remove
[*]增加 lha 支持 :sudo apt-get install lha
[*]查看当前目录的子目录:ls -d */. 或 echo */.
[*]修改mysql的root口令 :sudo mysqladmin -u root -p password '你的新密码'
[*]查看当前监听80端口的程序 :lsof -i :80
[*]如何禁用某个帐户:sudo usermod -L 用户名 或 sudo passwd -l 用户名
[*]现在重启电脑:sudo shutdown -r now
[*]解压缩 xxx.tar.bz2 :tar -jxvf xxx.tar.bz2
[*]修改网卡MAC地址的方法 :sudo ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
[*]显示一小时以内的包含 xxxx 的文件:find . -type f -mmin -60|xargs -i grep -l xxxx '{}'
[*]查看当前系统所有的监听端口:nc -zv localhost 1-65535
[*]显示22端口现在运行什么程序 :lsof -i :22
[*]删除所有以“~”结尾的临时文件 :find . -name '*~' -exec rm {} \;
[*]默认打开方式的配置文件在哪里:~/.local/share/applications/mimeapps.list
[*]查看当前网卡的物理地址:arp -a | awk '{print $4}'
[*] 统计程序的内存耗用:ps -eo fname,rss|awk '{arr[$1]+=$2} END {for (i in arr) {print i,arr}}'|sort -k2 -nr
[*]转换CD到iso文件:dd if=/dev/cdrom of=isofile.iso
[*]同一个网卡增加第二个IP地址 :sudo ifconfig eth0:0 1.2.3.4 netmask 255.255.255.0
[*]通过ssh传输文件 :scp -rp /path/filename username@remoteIP:/path
[*]批量将svg转为png:for i in *; do inkscape $i --export-png=`echo $i | sed -e 's/svg$/png/'`; done
[*]显示开启文件abc.txt的进程 :lsof abc.txt
[*]显示系统全部可用包的名称:apt-cache pkgnames
[*]详细显示程序的运行信息 :strace -f -F -o outfile
[*]如何切换到root帐号:sudo -Hs
[*]如何使用命令关闭显示器 :xset dpms force off
[*]递归式删除嵌套目录:rm –fr /tmp/xxs
[*]按cpu利用率从大到小排列进程:ps -eo "%C : %p : %z : %a"|sort -nr
[*]查看安装软件时下载包的临时存放目录:ls /var/cache/apt/archives
[*]显示当前内存大小:free -m |grep "Mem" | awk '{print $2}'
[*]批量转换jpg到png:for i in *; do convert $i `echo $i | sed -e 's/jpg$/png/'`; done
[*]显示最近2小时到8小时之内的文件:find . -mmin +120 -mmin -480 -exec more {} \;
[*]察看当前网络连接状况以及程序 :sudo netstat -atnp
[*]查看内核加载的模块:lsmod
[*]带行号显示文件的内容:nl 文件名
[*]查看当前进程树:pstree
[*]统计80端口的连接并排序 :netstat -na|grep :80|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r -n
[*]查看网络连接状态:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S}'
[*]60分钟后关机:sudo shutdown -h +60
页:
[1]