欢迎光临
我们一直在努力

工作中一些常用的shell命令

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

赞(0) 打赏
未经允许不得转载:运维那些事 » 工作中一些常用的shell命令

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏