Linux_ops

Linux运维常用指令

  • 查看TCP连接数
1
2
netstat -n | awk '/^tcp/ {++S[$NF]} END {for (a in S) print a, S[a]}'
/^tcp/

1、滤出tcp开头的记录,屏蔽udp, socket等无关记录。

2、state[]相当于定义了一个名叫state的数组

3、NF表示记录的字段数,如上所示的记录,NF等于6

4、$NF 表示某个字段的值,如上所示的记录,$NF也就是$6,表示第6个字段的值,也就是TIME_WAIT

5、state[$NF]表示数组元素的值,如上所示的记录,就是state[TIME_WAIT]状态的连接数

6、++state[$NF]表示把某个数加一,如上所示的记录,就是把state[TIME_WAIT]状态的连接数加一

7、END 表示在最后阶段要执行的命令

  • 查看连接数和IP
1
netstat -nat | grep "port" |awk -F" " '{print $5}' | awk -F:  '{print $1}'  | sort | uniq -c | sort -nr
  • 删除30天前的.log文件
1
find . -mtime +30 -type f -name "*.log" -exec rm -rfv {} \;
  • 查看所有用户计划任务
1
cat /etc/passwd | cut -f 1 -d : |xargs -I {} crontab -l -u {} | grep -v "#"
  • kill某服务名所有进程
1
ps -ef|grep watchbog|awk '{print $2}'|xargs kill -9
  • 查看指定端口进程号
1
netstat -tnlp | grep "8009" | awk -F ' ' '{print $7}' | awk -F '/' '{print $1}'
  • 查询目录top10(大小为单位)
1
find / -type d -print0 | xargs -0 du -h | sort -rh | head -n 10
  • 批量修改不同文件内的相同信息
1
sed -i s/yyyy/xxxx/g `grep yyyy -rl --include="*.txt" ./`
  • 查看内存分配
1
ps -eo pmem,pcpu,rss,vsize,args | sort -k 1 -r | less

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!