当前位置: 首页 > news >正文

grep 与条件_【125】Linux 中 ps ef|grep和ps、grep详解

69b4e51c95296e134ce621370f72097b.gif

一、ps -ef|grep详解(原文见公众号python宝)

        ps命令将某个进程显示出来,PS是LINUX下最常用的也是非常强大的进程查看命令

        grep命令是查找,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

        中间的|是管道命令 是指ps命令与grep同时执行

          以下这条命令是检查python 进程是否存在:ps -ef |grep python

d0fbb7bcc24a837f4c3154bfa535245d.png

字段含义如下:

        UID:程序被该 UID 所拥有        PID:就是这个程序的 ID        PPID:则是其上级父程序的ID        C:CPU使用的资源百分比        STIME:系统启动时间        TTY:登入者的终端机位置        TIME:使用掉的CPU时间。        CMD:所下达的是什么指令

二、grep详解

        grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为  - ,则 grep 指令会从标准输入设备读取数据。        
# [pythonbao@COSLHR ~]$ grep --help
-a 或 --text : 不要忽略二进制的数据。
-A 或 --after-context= : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。
-b 或 --byte-offset : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。
-B 或 --before-context= : 除了显示符合样式的那一行之外,并显示该行之前的内容。
-c 或 --count : 计算符合样式的列数。
-C 或 --context=或- : 除了显示符合样式的那一行之外,并显示该行之前后的内容。
-d  或 --directories= : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
-e 或 --regexp= : 指定字符串做为查找文件内容的样式。
-E 或 --extended-regexp : 将样式为延伸的正则表达式来使用。
-f 或 --file= : 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
-F 或 --fixed-regexp : 将样式视为固定字符串的列表。
-G 或 --basic-regexp : 将样式视为普通的表示法来使用。
-h 或 --no-filename : 在显示符合样式的那一行之前,不标示该行所属的文件名称。
-H 或 --with-filename : 在显示符合样式的那一行之前,表示该行所属的文件名称。
-i 或 --ignore-case : 忽略字符大小写的差别。
-l 或 --file-with-matches : 列出文件内容符合指定的样式的文件名称。
-L 或 --files-without-match : 列出文件内容不符合指定的样式的文件名称。
-n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。
-o 或 --only-matching : 只显示匹配PATTERN 部分。
-q 或 --quiet或--silent : 不显示任何信息。
-r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。
-s 或 --no-messages : 不显示错误信息。
-v 或 --revert-match : 显示不包含匹配文本的所有行。
-V 或 --version : 显示版本信息。
-w 或 --word-regexp : 只显示全字符合的列。
-x --line-regexp : 只显示全列符合的列。
-y : 此参数的效果和指定"-i"参数相同。
grep -r update /etc/acpi  以递归的方式查找符合条件的文件。例如,查找指定目录/etc/acpi 及其子目录(如果存在子目录的话)下所有文件中包含字符串"update"的文件,并打印出该字符串所在行的内容
grep 'hello' ./* -r  去指定目录下搜索所有含‘h
grep test *file  在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行。
grep -v test *test*  反向查找。前面各个例子是查找并打印出符合条件的行,通过"-v"参数可以打印出不符合条件行的内容。
\ : 忽略正则表达式中特殊字符的原有含义。
^ :匹配正则表达式的开始行。
$ : 匹配正则表达式的结束行。
\\> :到匹配正则表达式的行结束。
[ ] :单个字符,如[A]即A符合要求 。
[ - ] :范围,如[A-Z],即A、B、C一直到Z都符合要求 。
. :所有的单个字符。
* :有字符,长度可以为0。

三、ps 详解

linux上进程有5种状态:

    1. 运行(正在运行或在运行队列中等待)

    2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)

    3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)

    4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)

    5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)

1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。

2)ps -A 显示所有程序。
3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
4)ps -e 此参数的效果和指定"A"参数相同。
5)ps e 列出程序时,显示每个程序所使用的环境变量。
6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
7)ps -H 显示树状结构,表示程序间的相互关系。
8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
9)ps s 采用程序信号的格式显示程序状况。
10)ps S 列出程序时,包括已中断的子程序资料。
11)ps -t   指定终端机编号,并列出属于该终端机的程序的状况。
12)ps u   以用户为主的格式来显示程序状况。
13)ps x   显示所有程序,不以终端机来区分。
14)ps -l 較長,較詳細的顯示該PID的信息

d5ae9e66741197de266c7e05d4b941db.png

About Me: 小麦粒

● 本文作者:小麦粒,专注于python、数据分析、数据挖掘、机器学习相关技术,也注重技术的运用

● 作者博客地址:https://blog.csdn.net/u010986753

● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

● 个人微信号:pythonbao 联系我加微信群

●个人 QQ:87605025

● QQ交流群pythonbao :483766429

● 公众号:python宝 或 DB宝

● 提供OCP、OCM和高可用最实用的技能培训

● 题目解答若有不当之处,还望各位朋友批评指正,共同进步

3e5513f1e60ee3ce17055d7aaa2ead61.gif

如果您觉得到文章对您有帮助,欢迎赞赏哦!有您的支持,小麦粒一定会越来越好!

相关文章:

  • linux搜索文件_学习+使用Linux的最佳姿势,收录近600条Linux系统命令
  • onblur事件怎么触发_JavaScript第十三章节 事件
  • html一个页面中切换多个页面_前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第2章HTML基础知识...
  • window.location.href 设置请求头_常见的http响应的返回头
  • java逆向工程_图书推荐安卓高级逆向工程师技能树
  • rangechecks 检测代码检测到超出范围的数组访问。_夯实基础系列(一)数据类型及其检测及进阶...
  • python示例程序演示_以Python代码实例展示kNN算法的实际运用
  • python 自动下载脚本_Python脚本自动下载小说
  • jdbc封装工具类代码_[22]-JDBC 工具类优化
  • jpg转dwg格式转换器_如何将PDF或者JPG转CAD格式(dwg格式)?
  • python多线程实现生产者消费者_使用Python多线程实现生产者与消费者模型
  • layui框架和vue哪个好_目前流行的9大前端框架
  • python xlwings筛选_使用Python和xlwings在Excel中查找活动/选定单元格的范围
  • stream distinct去重_会了这些 Stream 操作,再学 Flink 真的简单的不得了
  • ubuntu vscode安装_Visual Studio Code软件的安装和开发环境搭建
  • $translatePartialLoader加载失败及解决方式
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • PAT A1050
  • Redis学习笔记 - pipline(流水线、管道)
  • uni-app项目数字滚动
  • use Google search engine
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 创建一个Struts2项目maven 方式
  • 搭建gitbook 和 访问权限认证
  • 高度不固定时垂直居中
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 关于Java中分层中遇到的一些问题
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 目录与文件属性:编写ls
  • 前端面试之闭包
  • ​Spring Boot 分片上传文件
  • ​渐进式Web应用PWA的未来
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (33)STM32——485实验笔记
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (C语言)共用体union的用法举例
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (离散数学)逻辑连接词
  • (转)memcache、redis缓存
  • (转)可以带来幸福的一本书
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .bat批处理(一):@echo off
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .Net Winform开发笔记(一)
  • .py文件应该怎样打开?
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
  • []新浪博客如何插入代码(其他博客应该也可以)
  • [120_移动开发Android]008_android开发之Pull操作xml文件