linux_grep操作

grep命令

grep(global search regular expression(RE) and print out the line 全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来
用法:grep [参数] 字符串 文件名
主要参数:
   无参:显示匹配行
   -c:显示匹配行数
   -i:忽略大小写
   -v:输入不匹配行

查看某个进程:ps -ef | grep mysql,ps和 grep联合使用,|是管道符,先执行前面,二次执行后面的操作

 

第一列root是启动的用户(uid),第二列1260是进程pid,第三列1是父进程(ppid),1902是grep自己的进程pid,这个不用管,第四列是进程占用cpu的百分比,第五列时间是进程启动的时间,第六列?或pts/0是在什么终端上运行,最后一列是apache启动命令和日志的位置

 

ps -ef|grep mysql|grep -v grep|awk '{print $2}',grep -v grep是去除掉grep进程的,awk是截取字符串,print $2是打印第二列,也就是pid这列,这个命令的意思是找到mysql的进程pid并打印出来,如下图:

 

杀进程:kill -9 pid,pid可以输入多个,如kill -9 1260 1679,会把两个进程全部杀掉

ps -ef|grep httpd|grep -v grep|awk '{print $2}'|xargs,把所有pid放在一行里

ps -ef|grep httpd|grep -v grep|awk '{print $2}'|xargs kill -9杀掉所有进程pid,重启命令是./xampp restart

 

常用方法:

ps -ef | grep httpd |awk '{print $2}'|sort,按照pid升序排列

grep "要搜索的内容" 要搜索的文件1 文件2 文件3, -n打印行号

 

使用grep命令,显示server.log文件中所有包含error的行,并显示行号?

cat server.log|grep -n 'error'

 

grep -n bbb a.txt b.txt(a.txt和b.txt两个文件),输出匹配出的内容所在的行号,输出文件名,行号,包含搜索内容的内容,如下图:

 

检查一个端口被占用的命令是什么:netstat -lanp|grep port

如果被占用,如何查看该端口被哪个进程占用着?

如果有进程就是被占用,然后找到pid,ps -ef|grep pid可以看到哪个进程占用的

 

netstat命令

netstat命令用于打印linux中网络系统的状态信息,可让你得知整个linux系统的网络情况,常用方法netstat -lanp查全部的端口,netstat -lanp|grep httpd可以查到apache占用的端口,如下图:

 

通过ps -ef|grep 1260,通过pid找到进程,如下图:

 

ps aux和ps -ef两种不同风格的命令,VSZ是虚拟内存的使用量,单位是kb,COMMAND和PID很重要,PID在第二列

原文地址:https://www.cnblogs.com/laosun0204/p/10543894.html