Linux下如何使用grep命令进行匹配
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,小编给大家分享一下Linux下如何使用grep命令进行匹配,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!grep命令以名称
千家信息网最后更新 2026年11月02日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安全错误
数据库的锁怎样保障安全
互联网金融公司科技
壕鑫互联网络科技
无线互联网科技
广州善班互联网科技
上海亿帐通互联网科技
天扬科技互联网广告
中国互联网金融科技基金
深圳卡尔迅互联网科技有限公司怎么样
济南和联互联网科技有限公司
互联网之后的科技是什么
中国科技互联网公司收入
深圳市优智互联网科技有限公司
广西互联网科技孵化中心
互联网公司黑科技创始人
广州新华互联网科技学校电竞方面
爱医互联网络科技
科技大学互联网
梅州GM互联网络科技有限公司
张家口科技产业互联网平台
互联网科技的前景
上海睿民互联网科技有限公司
国智互联网科技
互联网科技巨头监管
奇酷互联网科技
广州紫鲸互联网科技
江苏南京365互联网科技
汽车互联网创新科技园
晓花互联网科技有限公司网址
徐州市互联网科技有限公司
山东有哪些互联网科技公司