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