Linux 中grep命令

news/2024/11/22 8:56:50/

一、grep是对数据进行过滤查早关键字

源数据可以是

  • 文件内容 grep hello /opt/hello.txt,找出存在hello的那一行.

  • 命令的执行结果 ,这个需要结合管道符使用,cat /etc/passwd | grep 'root'

测试样本文件
I teach linux.I like python.My qq is 222222222.My name is zanshan.Our school website is http://www.baidu.com。Where is my girl friend.Who is your boy friend.
My phone number is 111111111.
1、找出存在My字符的行

Linux是区分大小写的,需要注意

-n参数,显示存在该关键字的行号

grep -n 'root' /etc/passwd

-i grep忽略大小写

grep -i 'root' /etc/passwd

grep '关键字' 文件名
root@server:/opt # grep 'My' hello.txt
My qq is 222222222.
My name is zanshan.
My phone number is 111111111.
root@server:/opt #root@server:/opt # grep -n 'My' hello.txt
5:My qq is 222222222.
7:My name is zanshan.
14:My phone number is 111111111.
root@server:/opt #
2、找出小写my的行
root@server:/opt # grep -n 'my' hello.txt
11:Where is my girl friend.
root@server:/opt #
3、比如,搜索系统中的文件,找出test相关的内容
root@server:/opt # grep -n  'test'  /opt/1.txt
1:test is test
2:this is test file
root@server:/opt #

利用grep找出nginx软件,配置文件中,定义的网站监听端口

root@server:/opt # grep -n -i 'listen'  /www/server/nginx/conf/nginx.conf
71:        listen 888;
root@server:/opt #

二、管道符

1、管道符和grep结合用法最多

管道符,在linux中的表达符号是 

|     (快捷键shift + \)

管道符得标准定义

管道是一种通信机制,通常用于进程间的通信。

它表现出来的形式将==前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin)==。

2、利用管道符和grep,来查看系统用户的信息
2.1找出test用户的信息

/etc/passwd 是系统的用户信息存放文件
在这个文件中,是用户通过命令创建的用户,id号是从1000开始的,比如
useradd test
添加完之后,就会在这个文件中生成一行信息

# 查找用户是否存在的命令
root@server:/opt # id test1
id: ‘test1’: no such user
root@server:/opt #
root@server:/opt # id test
uid=1001(test) gid=1001(test) groups=1001(test)通过grep找到用户,表示该用户存在或者直接id 用户名
root@server:/opt # grep 'test' /etc/passwd
test:x:1001:1001::/home/test:/bin/sh
2.2 管道符
# 管道符
命令1  | 命令2 命令1,拿到用户文件信息   |  交给grep再去过滤
root@server:/opt # cat /etc/passwd | grep 'test'
test:x:1001:1001::/home/test:/bin/sh
root@server:/opt ## 管道符常见用法
检查进程
1.查看系统进程信息的命令ps  -ef  # -e 显示所有的进程信息  -f 格式化显示出进程的id号,等其他信息2.上述命令,找到了一堆进程,如何过滤出我们要的信息?正确使用 grep 和管道符,去过滤机器上某个进程,判断某个进程是否存在1.找出vim的进程
root@server:/opt # ps -ef|grep vim
root      759674  732239  0 11:00 pts/0    00:00:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox --exclude-dir=.venv --exclude-dir=venv vim
root@server:/opt #2.找出nginx的进程
root@server:/opt # ps -ef|grep nginx
root       49535       1  0 Nov05 ?        00:00:00 nginx: master process /www/server/nginx/sbin/nginx -c /www/server/nginx/conf/nginx.conf
www       340703   49535  0 Nov07 ?        00:00:00 nginx: worker process
www       340704   49535  0 Nov07 ?        00:01:06 nginx: worker process检查端口1.检查系统端口的命令,这个命令,和ps -ef  一样,是查看系统某资源信息
netstat -tunlp   # 这个组合参数,是查看系统上,所有的端口信息2. 过滤出,机器上,和ssh远程连接的端口信息,提示程序名叫ssdh,或者端口号是22结合查看端口的命令+ 管道符+ grep,实现,高效的过滤root@server:/opt # netstat -ntlp|grep ssh
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      801/sshd: /usr/sbin
tcp6       0      0 :::22                   :::*                    LISTEN      801/sshd: /usr/sbin
root@server:/opt # netstat -ntlp|grep 'nginx'
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      49535/nginx: master
tcp        0      0 0.0.0.0:888             0.0.0.0:*               LISTEN      49535/nginx: master
root@server:/opt #

3、wc命令:统计文件数量,通过管道符结合使用
# 例如统计用户数量
root@server:/opt # cat /etc/passwd | wc -l
37
root@server:/opt #


http://www.ppmy.cn/news/1548713.html

相关文章

CentOS 8 安装 chronyd 服务

操作场景 目前原生 CentOS 8 不支持安装 ntp 服务,因此会发生时间不准的问题,需使用 chronyd 来调整时间服务。CentOS 8以及 TencentOS 3.1及以上版本的实例都使用 chronyd 服务实现时钟同步。本文介绍了如何在 CentOS 8 操作系统的腾讯云服务器上安装并…

AI大模型开发架构设计(14)——基于LangChain大模型的案例架构实战

文章目录 基于LangChain大模型的案例架构实战1 LangChain 顶层架构设计以及关键技术剖析LangChain 是什么?LangChain的主要功能是什么?LangChain 顶层架构设计LangChain 典型使用场景:QA 问答系统LangChain 顶层架构设计之 Model I/OLangChain 顶层架构…

vue中el-select 模糊查询下拉两种方式

第一种&#xff1a;先获取所有下拉数据再模糊查询&#xff0c;效果如下 1&#xff0c;页面代码&#xff1a;speciesList是种类列表List, speciesId 是speciesList里面对应的id&#xff0c;filterable是过滤查询标签 <el-form-item label"种类" prop"species…

C#编写的日志记录组件 - 开源研究系列文章

以前编写过一个日志记录组件的博文&#xff0c;这次发布一个修改过的完善版本。 1、 项目目录&#xff1b; 2、 源码介绍&#xff1b; 1) 实现&#xff1b; 2) 使用&#xff1b; 后面的参数为级别设置&#xff0c;只有大于这个级别的才进行日志记录&#xff0c;限制了日志记录的…

k8s1.31版本最新版本集群使用容器镜像仓库Harbor

虚拟机 rocky9.4 linux master node01 node02 已部署k8s集群版本 1.31 方法 一 使用容器部署harbor (1) wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo yum -y install docker-ce systemctl enable docker…

远程管理不再难!树莓派5安装Raspberry Pi OS并实现使用VNC异地连接

前言&#xff1a;大家好&#xff01;今天我要教你们如何在树莓派5上安装Raspberry Pi OS&#xff0c;并配置SSH和VNC权限。通过这些步骤&#xff0c;你将能够在Windows电脑上使用VNC Viewer&#xff0c;结合Cpolar内网穿透工具&#xff0c;实现长期的公网远程访问管理本地树莓派…

2024山西省网络建设运维第十八届职业院校技能大赛解析答案(2. DNS 服务)

\2. DNS 服务 任务描述:创建DNS 服务器,实现企业域名访问。 (1)配置linux 主机的 IP 地址和主机名称。 (2)所有linux 主机启用防火墙,防火墙区域为public,在防火墙中放 行对应服务端口。 (3)所有linux 主机之间(包含本主机)root 用户实现密钥ssh 认证, 禁用…

Django实现智能问答助手-进一步完善

扩展 增加问答数据库&#xff0c;通过 Django Admin 添加问题和答案。实现更复杂的问答逻辑&#xff0c;比如使用自然语言处理&#xff08;NLP&#xff09;库。使用前端框架&#xff08;如 Bootstrap&#xff09;增强用户界面 1.注册模型到 Django Admin&#xff08;admin.py…