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在第二列