By zhenzixu, 20 August, 2024
Forums
1.查看访问IP统计前10名: netstat -an|grep 10.48.114.138:80|grep ESTABLISHED |awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -r |head -10 2.查看Apache的并发请求数及其TCP连接状态: Linux命令: netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’ netstat -n | awk ‘/^tcp/ {++state[$NF]} END {for(key in state) print key,”/t”,state[key]}’ 3.用tcpdump嗅探80端口的访问看看谁最高 tcpdump -i bond1 -tnn dst port 80 -c 1000 | awk -F”.” ‘{print $1″.”$2″.”$3″.”$4}’ | sort | uniq -c | sort -nr |head -20 4.压缩包中的文件过滤: zgrep -a 5.批量替换: find ./ -type f -exec sed -i ‘s/218.207.208.20:59002/112.5.196.27:12000/g’ {} \; 6.列出大于1M的文件大小: find . -type f -size +1M -exec ls -lh {} \; | awk ‘{print $5,$9}’ 7.批量删除 1) find . -type d -name ‘.svn’ | xargs rm -rf #先(递归)找到当前路径下含有 .svn的文件目录,再经 xargs逐个干掉 2) find . -type d -iname ‘.svn’ -exec rm -rf {} \; #先(递归)找到.当前路径下含有.svn的文件目录,再干掉 -iname filename #同-name ,区别 -i 忽略大小写 8.在/ l o g s目录中查找更改时间在5日以前的文件并删除它们: find logs -type f -mtime +5 -exec -ok rm {} \; 9.查询当天修改过的文件 find ./ -mtime -1 -type f -exec ls -l {} \; 10.强制替换: \cp -aRp -r -f /home/test /usr/local/test 11.模糊过滤: grep a…b abc.txt (代表过滤abc.txt中以a开头b结尾的连续的5位字符 grep a*b abc.txt 过滤含有a b的字符 12.打印某段日志前后20行 grep -c 20 “关键字” abc.txt