常用linux命令拾遗(1)

Linux下面命令多,功能强大,平时重在积累,用时事半功倍。举例几个实用的Linux命令

1、关闭进程

比较冗长的一个命令:先用ps命令获得进程信息,然后用grep的-v选项过滤掉查看本身,再用awk将获得该进程号,然后交给kill命令删除。

ps ef | grep XXX | grep -v grep | awk '{print $2}' | xargs  kill -9

获取进程的pid值可以简单的使用pidof或者pgrep等命令,明显简单了很多。

pidof XXX | xargs kill -9

pgrep XXX | xargs kill -9

另一种思路通过专门通过名称作为参数来执行关闭的命令,比如pkill或者killalll。

pkill -9  进程名称


2、查找

find非常强大的命令。能够按照多种查找条件来寻找文件系统中的文件。

查找某个路径下的某个名称的文件

find  `pwd` -name "xxxxxx"

在根文件系统下,查找大小大于XXX MB的文件,常用来查找过大的文件,可以为后续清理释放空间。

find  / -size +XXXM

找出某个路径的空文件

find /path -empty

除此之外还可以根据时间、uid、gid、文件类型(字符设备、块设备、目录、常规文件等)等条件进行搜索。功能非常强大。


3、管道

1关闭进程中已经展示了一个命令xargs。xargs是linux中一个强大,却容易被忽视的命令。

xargs将管道或者标准输出作为参数传递给可执行的命令。

<first command> | xargs <second command>

#for example

find / -size +XXX | xargs rm     

xargs提供-p参数用来确认xargs所执行的命令是否正确,用户可以键入“y”来确认继续执行命令。如在ceph源码中执行如下命令,则出现是否删除的选择。

ls | xargs -p rm

rm AuthMonitor.cc AuthMonitor.h CMakeLists.txt?

也提供-t参数,它的行为是让执行的命令先打印,但是和“-p”不同的是它不用确认直接执行下去。

还有一个好用的是-I,可以用-I 指定替换字符串一般使用{},比如将本目录下的文件拷贝到/root目录下。

ls | xargs -I {} cp {} /root

有些命令遇到比较长的参数会报错“Argument list too long",遇到这种情况则可以用-0选项,即以“\0”为断开符号执行命令。


4、监控

如果想简单的观察每次命令执行时输出的变化。一个常用的命令是watch。

watch -n 1 <command>

-n 代表interval即时间间隔,常用的选项还有-d(difference)即输出时间间隔内变化的部分。


5、输出合并

shell当中可以用“>”或者“>>”追加的方式将输出重定向到某个地方。还有一个容易被忽视的用法是将输出合并 n&>m。比如让某个命令的标准输出(1)和错误输出(2)到文件中。

command  >  file 2&>1   

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容