【Linux】“grep -v grep”命令的作用 + 为什么需要使用该命令

2023-10-26

一、简介

我们经常会在shell脚本中见到如下命令:"ps -ef | grep test_sever | grep -v grep | wc -l",各子命令其作用如下

  • ps -ef 指令用来查询所有进程;
  • grep test_server 通过管道来过滤指定 test_server 进程;
  • grep -v 是反向查询的意思,即过滤出不包含 -v 参数后指定字符的信息;
  • grep -v grep 的作用是即反向过滤除结果集中包含 grep 的项;
  • wc -l 是统计结果的行数

整条指令的作用就是,过滤并统计包含 "test_server" 关键字的进程个数。那么这里会有很多人不太理解为什么需要去除包含 grep 的项,什么是包含 grep 的项???请继续往下看...

二、为什么需要"grep -v grep"

上面的指令在查找包含 "test_server" 关键字的相关进程时用到了 "grep" 命令,该命令执行的时候带有指定查找的进程参数即 "grep test_server",而查找进程的 "grep test_server" 调用本身也是一个进程,不太理解??继续往下看:

例如 这条命令前面的两个子部分:ps -ef | grep test_server 其实是分两步执行的

  • 先执行 ps -ef 统计所有进程信息,"-e" 参数代表显示所有进程,"-f" 参数代表全格式;
  • 再执行 grep test_server 这个命令过滤进程,该命令本身执行的时候也是一个进程,并也带有 test_server 关键字,所以其会出现在最后输出的进程信息里;
  • 但是我们要查找的是 test_server 进程,显然上面的 grep test_server 进程并不是我们要找的进程,所以我们需要把 grep test_server 这个进程过滤掉,才是最后的结果;

怎么过滤呢,肯定不能再用 test_server 做关键字,而是要用 grep 做关键字进行反向过滤,即查找 test_server 进程的话需要按如下格式书写:

ps -ef | grep test_server | grep -v grep
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Linux】“grep -v grep”命令的作用 + 为什么需要使用该命令 的相关文章

随机推荐

  • [羊城杯 2023] web

    文章目录 D0n t pl4y g4m3 D0n t pl4y g4m3 打开题目 可以判断这里为php Development Server 启动的服务 查询得知 存在 PHP lt 7 4 21 Development Server源码
  • 第5讲 Java注释详解

    您的 关注 和 点赞 是认可 是支持 是动力 如意见相佐 可留言 本人必将竭尽全力试图做到准确和全面 终其一生进行修改补充更新 本文首发在IT羊资源网 IT羊资源网 网址 https www ityangzy com IT羊资源网是IT世界
  • 从零开始编写JNI

    最近项目中用到了JNI 本以为很简单的 没想到花了我一天的时间才搞定 主要是在过程中遇到了一个大坑 下面就详细说说 出现的问题是这样的 代码一运行到System loadLibrary xxx 时 就提示java lang Unsatisf
  • 修改omv的国内镜像服务器,Openmediavault教程 篇二:软件源的更改以及社区插件启用...

    Openmediavault教程 篇二 软件源的更改以及社区插件启用 2021 01 11 17 54 49 6点赞 28收藏 16评论 更改软件源之前需要先将社区插件启用 这样就可以一起将源改变成国内镜像 这样免得后面安装插件的时候又要重
  • ubuntu 20.04 安装 微信,QQ等客户端,一键安装,亲测成功,最新更新,优麒麟

    之前一直使用网页版微信 但是聊天记录完全无法存留 一旦断网就会退出登录 然后每次登录都要确认 很麻烦 要是有ubuntu下的微信客户端就好了 但是并不是所有的客户端都一样好用 博主安装并实测了几个ubuntu下的微信客户端 发现基于wine
  • 第一个爬虫程序,基于requests和BeautifulSoup

    断断续续学了1年多python 最近总算感觉自己入门了 记录下这几天用requests和BeautifulSoup写的爬虫 python的环境是anaconda pycharm 直接上代码 requires authorization 作者
  • Shopify如何使用Google的站长工具

    Shopify在做SEO的时候 Google为我们提供了一个简单的工具 让我们了解它如何看待您的网站 哪些问题可能会影响您的流量 以及您如何改进网站以获得更好的排名和结果 这个工具就是 Google Search Console 这个工具已
  • 深度优先算法dfs

    转载https blog csdn net u014394715 article details 51192293 深度优先算法 定义 深度优先搜索算法 英语 Depth First Search 简称DFS 是一种用于遍历或搜索树或图的算
  • 小程序字符串提取图片地址src导致苹果手机体验版白屏

    小程序开发中想把一段html字符串里图片的src取出来 这段html字符串如下图 var srcReg lt src ig 正则 var imgarr content match srcReg content就是图中的字符串 得到的imga
  • 微信小程序使用setData修改数组中的指定下标的属性值

    注释的比较详细 就不过做多解释了 index js 获取应用实例 const app getApp Page 这里data就是你当前界面所有的值 包括你后期动态添加的值都在这里 data list 定义数组 number 1 number
  • shell 脚本里的命令嵌套

    shell 脚本里的命令执行 1 在bash中 与 反引号 都是用来作命令替换的 命令替换与变量替换差不多 都是用来重组命令行的 先完成引号里的命令行 然后将其结果替换出来 再重组成新的命令行 与 在操作上 这两者都是达到相应的效果 但是建
  • thinkphp验证规则

    thinkphp6可以通过验证器验证数据表的字段 规则 验证条件加表名 如uniqu admin user 示例如下 protected rule username 用户名 gt require chsDash unique admin u
  • Java基础-匿名内部类

    匿名内部类可以作为方法的实际参数进行传输
  • JavaScript 数组中常用的方法

    添加 push 数组末尾添加 unshift 数组首位添加 splice 1 0 新增内容 再指定位置插入 第二参数为0 表示新增 大于0 表示修改 删除 pop 删除末尾 shift 删除首位 slice 0 1 删除指定数据 不会改变原
  • 《计算机网络 第七版》读后感

    上大学时 计算机网络是必修的一门课程 讲课的老师是学校里很资深的一个教授 非常有耐心 尽管如此 如今的我还是把那些知识都丢的所剩无几了 其实在工作中 就算是普通的程序员 用到计算机网络的相关知识也不算少 比如 Socket 再比如 RTSP
  • FPN网络详解(知识点记录)

    FPN网络详解 特征图金字塔网络FPN Feature Pyramid Networks 是2017年提出的一种网络 FPN主要解决的是物体检测中的多尺度问题 通过简单的网络连接改变 在基本不增加原有模型计算量的情况下 大幅度提升了小物体检
  • matlab拟合函数参数,matlab怎么拟合函数参数?

    你让fx fitresult结果fx就不是函数 而是个cfit类型了 你可以这样做 把参数提取出来 可以用lsqcurvefit 函数或nlinfit 函数拟合 例如 x y 确定参数的初始值是比较繁琐的工作 一般可以用随机函数rand 来
  • 【English】现在完成时高频考点————去了某地考点

    English 现在完成时高频考点 相信很多人 总是忘记 have has been to have has been in have has gone to 这三兄弟的意思以及用法 那么我就带大家复习一下吧 Have Has been t
  • Zabbix设置邮件脚本报警

    搭建环境 CentOS 6 8 Zabbix 3 0 24 一 安装sendmail或者postfix 安装一种即可 yum y install sendmail 安装 service sendmail start 启动 chkconfig
  • 【Linux】“grep -v grep”命令的作用 + 为什么需要使用该命令

    一 简介 我们经常会在shell脚本中见到如下命令 ps ef grep test sever grep v grep wc l 各子命令其作用如下 ps ef 指令用来查询所有进程 grep test server 通过管道来过滤指定 t