发布时间:2018-05-15 16:00:02编辑:丝画阁阅读(771)
今天来给大家分享两个高效率的组合命令,一个是du和sort结合,查找指定分区或路径下耗用空间容量的目录排序;另外一个是ps、egrep、grep、awk、xargs的结合,一步到位查找关键字进行并进行批量处理。
上面说的两个组合高效命令并不是单独的一个个命令解析,那样非常没意思,我说的是这些命令的组合使用,从而达到我们所需要的某个目的。
有时候我们发现某个分区突然爆满了,这个时候我们就要查看下到底是哪个目录耗用的空间多了,是不是合理的。如果这个时候,你的分区下目录很多,你一个个目录使用du -sh去查的话,会非常耗时。下面来介绍一个一步到位就能给你排序出某个分区下目录大小的排序。
# du --max-depth=2 /home/ | sort -n -r
--max-depth=2 意思是统计到二级目录
sort -n -r 按照数字-逆序排序
这样的话,从上到下,就是目录大小排序,这个时候就可以先查看占据空间最大的目录里面的文件是否是重要文件。
当然如果你的目录级别很多,--max-depth 参数你也可以设置成3或者4,这样就可以一步到位直接查到最终耗用空间最多的目录是哪个,便于你快速对爆满的分区进行空间处理。
相信这个功能还是会偶尔用到的,有时候一些服务器上可能运行着很多的php或者gttp进程亦或者是java进程,这些主进程假死的时候,子进程可能还在,这个时候要不就执行pkill,但是会对这天机器上所有的http、php亦或者是java生效,这样的结果并不是我们想要的,所以这个时候我们要精准定位进程,只处理某些关键字进程就行。
那么下面就来介绍下怎么一步到位处理执行关键字进行的方法:
# ps -ef | egrep 'mingetty|httpd' | grep -v grep | awk '{print $2}' |xargs kill
上述这个命令就是最终的命令。
我们可以分解这个命令,可以先执行:
# ps -ef | egrep 'mingetty|httpd' | grep -v grep
这个命令可以看得出是根据关键字mingetty或httpd查找出相应的进程
再对最终命令进行分解:
# ps -ef | egrep 'mingetty|httpd' | grep -v grep | awk '{print $2}'
这样就可以取出相应进程的进程号。
egrep是标志支持正则表达式;grep -v grep 是过滤grep进程本身; awk '{print $2}'是对得到的结果进行切割,只取第二列,也就是进程号所在的列;xargs kill就是利用正则对取出的进程号进行kill的操作。
关键字:
本站部分内容来源网络及网友上传,本站未必能一一鉴别其是否为公共版权或其版权归属,如果您认为侵犯您的权利,本站将表示非常抱歉!
请您速联系本站,本站一经核实,立即删除。删文删帖联系【2789291421@qq.com】