Linux下如何使用grep命令进行匹配
发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,小编给大家分享一下Linux下如何使用grep命令进行匹配,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!grep命令以名称
千家信息网最后更新 2025年02月08日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安全错误
数据库的锁怎样保障安全
绝地求生现在不能选择服务器了吗
北京项目软件开发哪家便宜
网络安全自荐理由
人大计算机网络技术项目教程
西安慕英华网络技术有限公司评价
数据库技术支持的语言
银行备份数据库流程
查看电脑dns服务器命令
数据库验证规则表达式
宜宾服务器云存储代理
android软件开发算法
view是数据库的模式
短信软件开发商
肇庆网络技术培训
江苏好的软件开发专业服务
儿童网络安全知识 小学生
阿里云服务器登不上
数据库备份还原软件完整最新版
五轴工具磨软件开发
浙江运营网络技术服务代理商
数据采集监控系统不能打开数据库
驱动精灵服务器连接不上
卵巢癌甲基化数据库
江苏网络安全审计硬件多少钱
输入网络安全密钥无法连接
360手机网络安全设置
苹果在贵州的云服务器虚拟主机
电脑服务器主机改装
服务器中的数据库有哪些
西安交大网络安全学院 院长