[记忆向]工作中一些实用的Linux命令组合(持续)

Linux命令大家在工作中都会用到,  但命令很多, 参数也太复杂, 若专门化时间去学习, 往往效果欠佳. 唯有在工作实战中, 结合使用场景, 一边使用, 一边学习.

[记忆向]工作中一些实用的Linux命令组合(持续)_第1张图片

1.xargs  这是一个神奇的命令, 对于多行的处理, 都可以用到

-t    先打印, 后执行
-I    将xargs的每项名称,一般是一行一行赋值给{},可以用{}代替
-n 限制执行的次数
       
find/var/log/ -type f -mtime +3|xargs-t -I{} rm {} //删除三天前的文件

find /var/log/ -type f -mtime +3 -exec rm {} \;//删除三天前的文件

ls -t -n +4| xargs -t -I rm {} //删除三天前的文件

ps -ef|grep java |grep -v grep  |awk ‘{print $2}’|xargs -t -I {} kill -9 {} //杀死所有java进程

2. awk awk的用法很广, 这里罗列比较常用的几个

一般的格式:awk '/pattern/BEGIN{action} {action} END{action}' filename
-F 制定文字分隔符, 默认为空格
$n 表示文本中第n个数据字段
$NF 表示文本中最后一个字段

awk-F: 'BEGIN{sum=0}{if($NF>100)sum++} END{print sum}' log //统计日志中响应时间大于100ms的请 求数量
netstat -n | awk '/^tcp/ {++S[$NF]} END{for(a in S) print a, S[a]}'   //统计并发请求数及tcp连接状态.

cat access_log |grep “connect cbp” |awk‘BEGIN{sum=0;count=0;}{sum+=$10;count++;}END{printf("sum=%d,count=%d,avg=%f\n”,sum,count,sum/count)}’ //计算平均连接时间

3. tail

-n 100 显示最后100行记录
n +100 显示从100行开始和之后的记录, ls命令也支持这种模式

4.sort

-k  3     按照第几个位置的值进行排序
-n  按照字符串数值顺序来排序
-u  unique
-r   倒序
-t   分隔符

ps aux|sort -nk 3  -r | head -n 5   //查看最占用cpu时间的5个进程
ps aux|sort -nk 4  -r | head -n 5   //查看最占用内存的5个进程
du -sh * |sort -nr|head        //查看最大的10个文件


 

你可能感兴趣的:(语言)