37 个强大的 Linux shell 命令
jopen 11年前
要在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 |