華文網

linux 學習——Shell命令組合 /一夫當關,萬夫莫開

1、刪除空格和空行

sed '/^$/d' filename #刪除空行

sed 's/ //g' filename

sed 's/[[:space:]]//g' filename

2、刪除空檔

find / -type f -size 0 -exec rm -rf {} ;

3、刪除0位元組檔find . -type f -size 0 -exec rm -rf {} ;

find . type f -size 0 -delete

4、查看進程,按記憶體從大到小排列ps -e -o “%C : %p : %z : %a”|sort -k5 -nr

5、按cpu利用率從大到小排列ps -e -o “%C : %p : %z : %a”|sort -nr

6、列印說cache裡的URLgrep -r -a jpg /data/cache/* | strings | grep “http:” | awk -F’http:’ ‘{print “http:”$2;}’

7、查看http的併發請求數及其TCP連接狀態netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’

8、sed在這個文裡Root的一行,匹配Root一行,將no替換成yes。sed -i ‘/Root/s/no/yes/’ /etc/ssh/sshd_config

9、如何殺掉mysql進程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

10、for的用法(如給mysql建軟連結)cd /usr/local/mysql/bin

for i in *

do ln /usr/local/mysql/bin/$i /usr/bin/$i

done

11、取IP地址 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}’

ifconfig |awk -F"[ ]+|[:]" 'NR==2 {print $4}'

12、記憶體的大小 free -m |grep “Mem” | awk ‘{print $2}’

13、查看80埠的連接,並排序 netstat -an -t | grep “:80” | grep ESTABLISHED | awk ‘{printf “%s %s ”,$5,$6}’ | sort

14、查看Apache的併發請求數及其TCP連接狀態 netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’

15、統計一下伺服器下面所有的jpg的檔的大小 find / -name *.jpg -exec wc -c {} ;|awk ‘{print $1}’|awk ‘{a+=$1}END{print a}’

16、可運行進程數目 vmwtat 1 5

17、檢查DNS Server工作是否正常,這裡以61.139.2.69為例 dig www.baidu.com @61.139.2.69

18、檢查當前登錄的用戶個數 who | wc -l

19、以記憶體大小排序列出進程

ps aux --sort=rss |sort -k 6 -rn

20、日誌查看、搜索cat /var/log/rflogview/*errors

grep -i error /var/log/messages

grep -i fail /var/log/messages

tail -f -n 2000 /var/log/messages