37 个强大的 Linux shell 命令
 jopen 12年前
要在Linux平台上工作,你无法避免使用shell命令来完成某些任务。 在这篇文章中,我们将分享37强大的Linux的shell命令。
| Task | Commands | |
| 1 | Delete file with 0 byte(empty file) | find . -type f -size 0 -exec rm -rf {} \; find . type f -size 0 -delete | 
| 2 | Check process memory consumption | ps -e -o "%C : %p : %z : %a"|sort -k5 -nr | 
| 3 | Check process CPU utilizetion | ps -e -o "%C : %p : %z : %a"|sort -nr | 
| 4 | Print URLs in cache | grep -r -a jpg /data/cache/* | strings | grep "http:" | awk -F'http:' '{print "http:"$2;}' | 
| 5 | Check concurrent http connections and TCP connectio status | netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' | 
| 6 | Replace no with yes in a line which contains Root in a file | sed -i '/Root/s/no/yes/' /etc/ssh/sshd_config | 
| 7 | Kill mysql process | ps aux |grep mysql |grep -v grep  |awk '{print $2}' |xargs kill -9 killall -TERM mysqld kill -9 `cat /usr/local/apache2/logs/httpd.pid` | 
| 8 | List service in rc.d | ls /etc/rc3.d/S* |cut -c 15- | 
| 9 | Display multiline information with EOF | cat << EOF +--------------------------------------------------------------+ | === Welcome to Tunoff services === | +--------------------------------------------------------------+ EOF | 
| 10 | Use of for loop | cd /usr/local/mysql/bin for i in * do ln /usr/local/mysql/bin/$i /usr/bin/$i done | 
| 11 | Get IP address | ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6- ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' |cut -d: -f2 | awk '{ print $1}' | 
| 12 | Memory size | free -m |grep "Mem" | awk '{print $2}' | 
| 13 | Check connections to port 80 | netstat -an -t | grep ":80" | grep ESTABLISHED | awk '{printf "%s %s\n",$5,$6}' | sort | 
| 14 | Check concurrent connections and TCP connection status to Apache | netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' | 
| 15 | Check all jpg file size | find / -name *.jpg -exec wc -c {} \;|awk '{print $1}'|awk '{a+=$1}END{print a}' | 
| 16 | CPU number | cat /proc/cpuinfo |grep -c processor | 
| 17 | CPU load | cat /proc/loadavg | 
| 18 | CPU load | mpstat 1 1 | 
| 19 | Memory space | free | 
| 20 | Disk usage | df -h | 
| 21 | Find files and directories taking most space in a disk space | du -cks * | sort -rn | head -n 10 | 
| 22 | Disk I/O load | iostat -x 1 2 | 
| 23 | Network load | sar -n DEV | 
| 24 | Network error | netstat -i cat /proc/net/dev | 
| 25 | Network connection number | netstat -an | grep -E “^(tcp)” | cut -c 68- | sort | uniq -c | sort -n | 
| 26 | Total process number | ps aux | wc -l | 
| 27 | Check process tree | ps aufx | 
| 28 | Number of runnable processes | vmwtat 1 5 | 
| 29 | Check whether a DNS server works properly | dig www.baidu.com @61.139.2.69 | 
| 30 | Check number of users logged in currently | who | wc -l | 
| 31 | Check and search log | cat /var/log/rflogview/*errors grep -i error /var/log/messages grep -i fail /var/log/messages tail -f -n 2000 /var/log/messages | 
| 32 | Kernel log | dmesg | 
| 33 | Time | date | 
| 34 | Opened handles | lsof | wc -l | 
| 35 | Capture network package | tcpdump -c 10000 -i eth0 -n dst port 80 > /root/pkts | 
| 36 | Check repetitions of IP and print it with lowest to largest order | less pkts | awk {'printf $3"\n"'} | cut -d. -f 1-4 | sort | uniq -c | awk {'printf $1" "$2"\n"'} | sort -n -t\ +0 | 
| 37 | kudzu to check network adaptor type | kudzu --probe --class=network |