grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep [options]
[options],只简单列一些可能会用到的:
-c:只打印匹配的行数,不显示匹配的内容。
-I:忽略大小写差别。
-h:当搜索多个文件时,不显示匹配文件名前缀。
-n:在匹配的行前面打印行号。
-s:不显示关于不存在或者无法读取文件的错误信息。
-v:反检索,只显示不匹配的行。
通常我只结合ps -ef命令搜索进程中的信息,ps命令不细说。下面简单写一个例子说明一下:
#查询出所有进程中的信息,其中查询的结果应该包括列信息如:USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
ps -ef
#查询出所有包含tomcat字眼的进程
ps -ef|grep tomcat
#假设我的tomcat是由用户www来执行的,在上面描述的结果中,再从中过滤出包括www用户的进程
ps -ef|grep tomcat|grep www
#在上面描述的结果中,再从中去掉包括grep字眼的进程,通常此命令本身也包含所有关键词,需要去掉
ps -ef|grep tomcat|grep www|grep -v grep
#在上面描述的结果中,打印出所有的pid信息,即$2,第二列
ps -ef|grep tomcat|grep www|grep -v grep|awk '{print $2}'
#在上面描述的结果中,即上一命令的结果,xagrs传递给后面的命令执行,实现批量结束进程
ps -ef|grep tomcat|grep www|grep -v grep|awk '{print $2}'|xargs kill -9