Linux下如何使用grep命令进行匹配
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,小编给大家分享一下Linux下如何使用grep命令进行匹配,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!grep命令以名称
千家信息网最后更新 2025年11月09日Linux下如何使用grep命令进行匹配
小编给大家分享一下Linux下如何使用grep命令进行匹配,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
grep命令以名称为依据从运行进程队列中查找进程,并显示查找到的进程id。每一个进程ID以一个十进制数表示,通过一个分割字符串和下一个ID分开,默认的分割字符串是一个新行。对于每个属性选项,用户可以在命令行上指定一个以逗号分割的可能值的集合。
pgrep命令:
ps -eo pid,cmd | awk '{print $1,$2}' | grep KeyWord参数说明:
| 选项 | 说明 |
|---|---|
| -d | 定义多个进程之间的分隔符, 如果不定义则使用换行符。 |
| -P | 根据父进程PID,找出所有字进程的pid |
| -n | 表示如果该程序有多个进程正在运行,则仅查找最新的,即最后启动的。 |
| -o | 表示如果该程序有多个进程正在运行,则仅查找最老的,即最先启动的(多个进程时即父进程PID)。 |
| -G | 其后跟着一组group id,该命令在搜索时,仅考虑group列表中的进程。 |
| -u | 其后跟着一组有效用户ID(effetive user id),该命令在搜索时,仅考虑该effective user列表中的进程。 |
| -U | 其后跟着一组实际用户ID(real user id),该命令在搜索时,仅考虑该real user列表中的进程。 |
| -x | 表示进程的名字必须完全匹配, 以上的选项均可以部分匹配。 |
| -l | 将不仅打印pid,也打印进程名。 |
| -f | 一般与-l合用, 将打印进程的参数。 |
显示详细信息
使用示例
默认只显示PIDroot@361way:~# pgrep zabbix238023812382238323842385-l 同时显示PID和ProcessNameroot@361way:~# pgrep -l zabbix2380 zabbix_agentd2381 zabbix_agentd2382 zabbix_agentd2383 zabbix_agentd2384 zabbix_agentd2385 zabbix_agentd-o 当匹配多个进程时,显示进程号最小的那个root@361way:~# pgrep -l -o zabbix2380 zabbix_agentd-n 当匹配多个进程时,显示进程号最大的那个root@361way:~# pgrep -l -n zabbix2385 zabbix_agentd
这里需要特别指出的是pgrep默认只能匹配进程的前15个字符串,个体可以参看ubuntu问答上的说明,如下:
ps aux includes the full command line (path and parameters),while pgrep only looks at the first 15 characters of the executable's names
特殊参数
使用pgrep -f 可以进行进程全字符匹配,示例如下:
//使用ps命令可以正常grep到进程root@361way:~# ps auxf|grep druidroot 25713 0.0 0.0 8108 940 pts/0 S+ 06:08 0:00 _ grep --color=auto druiddev 7438 1.3 11.5 5524888 884988 ? Sl Jun16 672:54 java -server -Xmx4g -XX:MaxNewSize=1g -XX:+UseCompressedOops -XX:+UseParNewGC -Duser.timezone=UTC -Dfile.encoding=UTF-8 -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseCMSInitiatingOccupancyOnly -XX:+PrintHeapAtGC -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCApplicationStoppedTime -Djava.io.tmpdir=/data/tmpdata/java.io.tmpdata -Xloggc:/data/tmpdata/java.io.tmpdata/coordinator-gc.log -classpath lib/*:config/coordinator io.druid.cli.Main server coordinator//pgrep的匹配结果为空root@361way:~# pgrep druid//加上-f参数后,正常得到进程pidroot@361way:~# pgrep -f druid7438root@361way:~# pgrep -f -l druid7438 java -server -Xmx4g -XX:MaxNewSize=1g -XX:+UseCompressedOops -XX:+UseParNewGC -Duser.timezone=UTC -Dfile.encoding=UTF-8 -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseCMSInitiatingOccupancyOnly -XX:+PrintHeapAtGC -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCApplicationStoppedTime -Djava.io.tmpdir=/data/tmpdata/java.io.tmpdata -Xloggc:/data/tmpdata/java.io.tmpdata/coordinator-gc.log -classpath lib/*:config/coordinator io.druid.cli.Main server coordinator
使用 -P 参数可以输出指定父进程的子进程,如:
root@361way:~# pgrep -P 238023812382238323842385
以上是"Linux下如何使用grep命令进行匹配"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
进程
命令
多个
参数
字符
字符串
用户
篇文章
跟着
搜索
运行
内容
正在
示例
程序
最大
最小
有效
特殊
不怎么
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
大一数据库技术及应用作业
网络安全技术分析人物形象
网络安全值得考的证书
spark连接es数据库
织梦数据库设置密码
大连豪森软件开发有限公司简介
公安y数据库是什么意思
网易学院网络安全
前端和移动软件开发
网络安全hvv啥意思
安徽工控软件开发需要多少钱
安卓服务器开发语言
互联网共享科技有限公司
十二代服务器系列
印度服务器制造能力
软路由无法连接外网服务器
军工企业做软件开发
提高自我防范意识网络安全金句
软件开发管理目标
车辆检测图像数据库
sql2000压缩数据库
网络安全检查表及答案
spark连接es数据库
复仇者联盟2跟网络安全
oncomine数据库网址
智慧施肥app软件开发
ITUDOU下载软件开发
网络安全倡议书辽宁
如皋什么是网络技术专业服务
大众导航系统数据库有故障