linux常用命令-grep命令与ps命令详解(超详细)

文章目录

  • 前言
  • 一、grep命令介绍
    • 1. grep命令简介
    • 2. grep命令的基本语法
    • 3. 常用的grep命令选项
  • 二、grep命令示例用法
    • 1. 在文件中搜索匹配模式的行
    • 2. 忽略大小写地搜索匹配模式的行
    • 3. 反转匹配,只打印不匹配模式的行
    • 4. 显示匹配行的行号
    • 5. 统计匹配的行数
    • 6. 打印包含匹配模式的文件名
    • 7. 仅匹配整个单词
    • 8. 递归地搜索目录及其子目录下的文件
  • 三、ps命令介绍
    • 1. ps命令简介
    • 2. ps命令的基本语法
    • 3. 常用的grep命令选项
  • 四、ps命令示例用法
    • 1. 显示当前用户的所有进程
    • 2. 显示所有进程的详细信息
    • 3. 显示指定用户的进程信息
    • 4. 显示指定PID的进程信息
    • 5. 显示没有控制终端的进程
    • 6. 从所有进程中搜索指定名称进程的详细信息
  • 总结


前言

在日常的系统管理和开发工作中,我们经常需要查找文件中的特定内容或者监控系统中的进程状态。为了提高效率,我们可以使用一些强大的命令行工具来完成这些任务。本文将介绍两个常用的命令行工具:grep和ps。


一、grep命令介绍

1. grep命令简介

grep是一个强大的文本搜索工具,用于在文件中查找匹配指定模式的行。它的名称来自于全局正则表达式打印(Global Regular Expression Print)。

2. grep命令的基本语法

grep [选项] 模式 [文件名]

其中,选项用于指定搜索的行为,模式是要匹配的文本模式,文件名是要搜索的文件名。

3. 常用的grep命令选项

  • -i:忽略大小写,不区分大小写地匹配模式。
  • -r:递归地搜索目录及其子目录下的文件。
  • -l:只打印包含匹配模式的文件名,而不打印匹配的行。
  • -n:打印匹配行的行号。
  • -v:反转匹配,只打印不匹配模式的行。
  • -w:仅匹配整个单词,而不是部分匹配。
  • -c:打印匹配模式的行数统计。

二、grep命令示例用法

这里以一个demo.txt文件举例来讲解grep命令用法,文件内容如下:

Hello, this is an example file.
It contains some lines of text.
Let's use grep to search for specific patterns.

1. 在文件中搜索匹配模式的行

在文件中搜索包含单词 “example” 的行

grep "example" demo.txt

在这里插入图片描述

2. 忽略大小写地搜索匹配模式的行

在文件中搜索不区分大小写的单词 "hello"的行

grep -i "hello" demo.txt

在这里插入图片描述

3. 反转匹配,只打印不匹配模式的行

在文件中搜索不包含"text"的行

grep -v "text" demo.txt

在这里插入图片描述

4. 显示匹配行的行号

在文件中搜索包含单词 “example” 的行,并显示行号

grep -n "example" demo.txt

在这里插入图片描述

5. 统计匹配的行数

grep -c "example" demo.txt

在这里插入图片描述

6. 打印包含匹配模式的文件名

grep -l "example" demo.txt

在这里插入图片描述

7. 仅匹配整个单词

在文件中搜索包含单词 “example” 的行,是整个单词,而不是一个单词的一部分

grep -w "example" demo.txt

在这里插入图片描述

8. 递归地搜索目录及其子目录下的文件

搜索/opt/目录下包含内容"Hello, this is an example file."的所有文件

grep -r "Hello, this is an example file." /opt/

在这里插入图片描述

三、ps命令介绍

1. ps命令简介

ps命令是一个用于查看当前系统进程状态的常用命令。它可以显示正在运行的进程的信息,如进程ID(PID)、父进程ID(PPID)、CPU使用率、内存占用等。ps命令的输出结果可以帮助我们监控和管理系统中的进程。

2. ps命令的基本语法

ps [选项]

3. 常用的grep命令选项

  • -e:显示所有进程,包括其他用户的进程。
  • -f:显示完整的进程信息,包括进程的命令行参数。
  • -l:使用长格式显示进程信息。
  • -u <user>:显示指定用户的进程信息。
  • -p <pid>:显示指定PID的进程信息。
  • -a:显示终端上的所有进程,包括其他用户的进程。
  • -x:显示没有控制终端的进程。

四、ps命令示例用法

1. 显示当前用户的所有进程

ps

在这里插入图片描述

2. 显示所有进程的详细信息

ps -ef

在这里插入图片描述

3. 显示指定用户的进程信息

显示用户zcs2312的进程信息

ps -u zcs2312

在这里插入图片描述

4. 显示指定PID的进程信息

显示pid为130905的进程信息

ps -p 130905

在这里插入图片描述

5. 显示没有控制终端的进程

ps -x

在这里插入图片描述

6. 从所有进程中搜索指定名称进程的详细信息

从所有进程中搜索mysql进程的详细信息

ps -ef | grep mysql

在这里插入图片描述


总结

本文介绍了两个常用的命令行工具:grep和ps。grep命令用于在文件中搜索匹配指定模式的行,而ps命令用于查看系统中的进程状态。通过学习和掌握这些命令的基本语法和常用选项,我们可以更高效地进行文件搜索和进程管理。

希望本教程对您有所帮助!如有任何疑问或问题,请随时在评论区留言。感谢阅读!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/193454.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

创投课程研报专题课 | 如何写出高质量研报

协会邀请了来自GPTDAO的分析师——Will作为VC创投课程研报专题课的嘉宾&#xff0c;将于北京时间12月2日(周六)晚上21:00 PM-22:00 PM&#xff0c;与所有对Web3投资、创业心怀热忱的朋友一同探讨《如何写出高质量的研报》这个激动人心的话题。 浙江大学学生区块链协会&#xff…

12.3_黑马MybatisPlus笔记(上)

目录 02 03 04 05 06 07 ​编辑 thinking:system.out::println?​编辑 thinking&#xff1a;list.of? 08 thinking&#xff1a;RequestParam和 ApiParam注解使用&#xff1f; thinking&#xff1a;RequestParam 和PathVariable的区别&#xff1f; ​编辑 ​编…

WPF Live Charts2 自学笔记

文章目录 前言实现效果微软平台的历史问题 WPF 项目搭建Nuget添加额外框架添加项目初始化livecharts配置其它LiveCharts2 案例简单案例Demo示例ViewViewModel GPU渲染 Github地址仓库 前言 LiveChart 是C# 上面很受欢迎的统计图 UI控件。最近在学WPFhalcon开发&#xff0c;想想…

《洛谷深入浅出进阶篇》模意义下的乘法逆元+洛谷P3811

什么是乘法逆元&#xff1f; 算数意义上的乘法逆元指的是倒数&#xff0c;即&#xff1a;a*&#xff08;1/a&#xff09;1 所以 1/a 是 a在算数意义下的乘法逆元&#xff0c;或者可以说二者互为逆元。 这有什么用呢&#xff1f; 除以a就等于乘上a的乘法逆元&#xff0c;乘以…

源码安装mysql

使用源码安装mysql&#xff0c;这里选择的版本是mysql5.7.35 ,系统是Centos7.6 官网下载地址&#xff1a;https://downloads.mysql.com/archives/community/ 下载源码压缩包 [rootlocalhost ~]# cd /opt[rootlocalhost opt]# wget https://downloads.mysql.com/archives/get/…

C++-内存管理

目录 一.C/C内存分布 二. C语言中动态内存管理方式&#xff1a;malloc/calloc/realloc/free 三. C内存管理方式 1.new/delete操作内置类型 2.new和delete操作自定义类型 四.C语言中的动态开辟内存空间和C中的区别 1.对于开辟内置类型 2.…

多线程(初阶七:阻塞队列和生产者消费者模型)

一、阻塞队列的简单介绍 二、生产者消费者模型 三、模拟实现阻塞队列 一、阻塞队列的简单介绍 首先&#xff0c;我们都知道&#xff0c;队列是先进先出的一种数据结构&#xff0c;而阻塞队列&#xff0c;是基于队列&#xff0c;做了一些扩展&#xff0c;在多线程有就非常有意…

【Java Web学习笔记】3 - JavaScript入门

项目代码 https://github.com/yinhai1114/JavaWeb_LearningCode/tree/main/javascript 零、JavaScript引出 JavaScript 教程 官方文档 1. JavaScript能改变HTML内容&#xff0c;能改变HTML属性&#xff0c;能改变HTML样式(CSS),能完成页面的数据验证。 <!DOCTYPE html>…

使用WPF设计时绑定加快开发速度

知识来源&#xff1a;B站up主 香辣恐龙蛋 第一步 第二步

GAMES101:作业2记录

总览 在上次作业中&#xff0c;虽然我们在屏幕上画出一个线框三角形&#xff0c;但这看起来并不是那么的有趣。所以这一次我们继续推进一步——在屏幕上画出一个实心三角形&#xff0c;换言之&#xff0c;栅格化一个三角形。上一次作业中&#xff0c;在视口变化之后&#xff0…

二叉树在线OJ

二叉树的构建及遍历 本题目的要求是&#xff1a; 输入一个数组&#xff0c;里面存放了若干个字符&#xff0c;#代表了空指针&#xff0c;数组中的顺序是 是先序遍历&#xff0c;然后要求你用中序输出 首先我们要做的就是构造结构体&#xff1a; typedef struct TreeNode {char…

inux基础项目开发1:量产工具——业务系统(七)

前言&#xff1a; 前面我们已经构造出来显示系统、输入系统、文字系统、UI系统、页面系统&#xff0c;这个项目百分之八十需要实现的都已经构建出来了&#xff0c;最后让我们对这个项目进行最后一项系统的搭建&#xff0c;也就是业务系统&#xff0c;说到业务大家应该就知道我们…

解决ZED SDK安装后不可用,出现“核心已转储”的闪退问题

在陈述问题简单回顾下ZED SDK安装的步骤 ZED的运行需要显卡支持&#xff0c;cuda加速&#xff0c;因此需要提前安装好显卡驱动以及对应的cuda和cudnn&#xff0c;基础工作在此不再赘述&#xff0c;以下步骤默认已经完成上述准备工作。 建议新建一个虚拟环境以限定ZED使用的py…

飞行员兄弟

飞行员兄弟 思路&#xff1a; 这里一共有16个格子&#xff0c;如果暴力的话也就是2^16次方种排列组合。 这题和之前的开关不一样&#xff0c;这题是会影响到周围很多格子&#xff0c;而开关那题可以利用上方只改变一个的操作来解题&#xff0c;这题我想到的就是暴搜&#xff…

阿里微服务质量保障系列:性能监控最佳实践

建设一体化性能监控平台 随着互联网技术的不断发展&#xff0c;企业的业务规模和复杂度也在不断增加。为了保证业务的稳定性和可靠性&#xff0c;企业需要对其系统进行全面的性能监控。而一体化性能监控就是一种集成了多种监控工具和技术的综合性监控方案&#xff0c;可以帮助…

电源需要考虑的因素

做产品的都离不开电源&#xff0c;产品出问题也首先检查供电是否正常。今天给大家分享的是做好一个电源需要考虑哪些因素。 一&#xff0e; 描述输入电压影响输出电压几个指标形式 1&#xff0e; 稳压系数 A&#xff0e;稳压系数&#xff1a;表示负载不变时&#xff0c;稳压电源…

深度解析:整数和浮点数在内存中的存储

深度解析&#xff1a;整数和浮点数在内存中的存储 引言 在计算机科学中&#xff0c;理解整数和浮点数在内存中的存储方式是深入学习的关键一步。这篇博客将带你深入探讨整数和浮点数的内存表示&#xff0c;并通过代码实例详细解析其存储结构。 整数的内存存储 对于整形来说&a…

Redis命令详解

文章目录 Key&#xff08;键&#xff09; DEL EXISTS EXPIRE EXPIREAT PEXPIRE PEXPIREAT PERSIST KEYS TTL PTTL RENAME RENAMENX TYPE SCAN HSCAN SSCAN ZSCAN DUMP String&#xff08;字符串&#xff09; SET GET INCR DECR MSET MGET APPEND SETNX STRLEN INCRBY DECRBY IN…

Spark大数据集群日常开发过程遇到的异常及解决思路汇总

原创/朱季谦 在开发Spark任务过程中&#xff0c;遇到过不少新人经常可能会遇到的坑&#xff0c;故而将这些坑都总结了下来&#xff0c;方便日后遇到时&#xff0c;可以快速定位解决&#xff0c;壁面耗费过多时间在查找问题之上。 一、出现java.lang.IllegalAccessError: tried…

阻抗匹配电阻原理及其应用

一、匹配电阻的作用 1、阻抗匹配 当信号频率比较高&#xff0c;上升沿比较陡时&#xff0c;电子信号经过阻抗不同的地方时也会产设反射。 PCB的单线阻抗一般会设计成50Ω&#xff0c;发射端阻抗一般是17到40&#xff0c;而接收端一般是MOS管的输入&#xff0c;阻抗是比较大的…