shell腳本第四篇——常用小腳本
1、將系統進程按內存占用大小排列顯示出來
# ps -e -o “%C : %p : %z : %a”|sort -k5-nr
2、將系統進程按CPU占用大小排列顯示
# ps -e -o “%C : %p : %z : %a”|sort -nr 或# ps aux --sort -rss
3、查找當前目錄下占用為0字節的文件並刪除
# find ./ -type f -size 0 -exec rm -rf {}\; #此命令不要用於對根目錄0字節文件的操作
4、匹配某文件中某一行並進行內容替換
#sed -i ‘/Root/s/no/yes’/etc/ssh/sshd_config #
5、TCP抓包工具分析80端口數據流
# tcpdump -c 10000 -i eth0 -n dst port 80
6、刪除所有空目錄
# find /data -type d -empty -exec rm -rf {}; #最好不要在/目錄下執行此命令
7、將來自80端口的請求轉發到8080端口
#iptables -A PREROUTING -p tcp -m tcp –dport80 -j DNAT –to-destination 127.0.0.1:8080
8、通過apache訪問日誌access.log 統計IP及其訪問的次數,按訪問量列出前10名
# cat access.log | awk '{print $1}' |sort| uniq -c |sort -rn |head -10
9、鎖定關鍵文件,防止被惡意篡改 || 解除鎖定為chattr -i
# chattr +i /etc/passwd chattr +i /etc/inittab
10、更改文件描述符大小為最大值65535 下次登錄生效,查看文件描述符值大小
# echo '* - nofile 65535' >>/etc/security/limits.conf ;# ulimit -n
11、通過ssh通道同步1.105的/etc下的hosts文件到本機 /data目錄下
# rsync -avz -e 'ssh -p 22' [email protected]:/etc/hosts /data/
12、殺掉80端口相關的進程
# lsof -i :80|grep -v "PID"|awk '{print "kill -9",$2}'|sh
13、取出/etc/passwd文件中shell出現的次數,shell指後面/bin/bash,/sbin/nologin
# cat /etc/passwd|awk -F: '{print $7}'|sort|uniq -c
14、在目錄/tmp下找到100個以a開頭的文件,然後把這些文件的第一行保存到文件file中
# find /tmp -type f -name “a*” | head -n 100 | xargs head -q -n 1 >> file
15、防攻擊腳本,企業實用小腳本http://blog.csdn.net/linuxlsq/article/details/52606408
shell腳本第四篇——常用小腳本