day10 管道符grep 和 find

news/2025/2/28 19:42:24/文章来源:https://www.cnblogs.com/yangzaikai/p/18743937

day10 管道符grep 和 find

grep 命令

grep 是对于数据进行查找的关键词

源数据可以是

  • 文件内容 grep hello /opt/hello.txt,找出存在hello的那一行
  • 命令的执行结果 ,这个需要结合管道符使用,cat /etc/passwd | grep 'root'
测试数据I teach linux.I like python.My qq is 877348180.My name is chaoge.Our school website is http://yuchaoit.cn。Where is my girl friend.Who is your boy friend.
My phone number is 15233334444.

1.找出存在My字符的行

linux是区分大小写的,注意

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

grep -n 'root' /etc/passwd

-i grep忽略大小写

grep -i 'root' /etc/passwd ,无论大小写,找出/etc/passwd文件中,包含的root信息

命令的格式
grep '关键词' 文件名[root@linux-yzk ~]# vim greptest.txt
[root@linux-yzk ~]# 
[root@linux-yzk ~]# 
[root@linux-yzk ~]# grep 'My' greptest.txt 
My qq is 877348180.
My name is chaoge.
My phone number is 15233334444.:加了行的参数 是n[root@linux-yzk ~]# grep  -n  'My' greptest.txt 
5:My qq is 877348180.
7:My name is chaoge.
14:My phone number is 15233334444.:
[root@linux-yzk ~]# 

找出小写my的行

[root@linux-yzk ~]# grep -n 'my' greptest.txt 
11:Where is my girl friend.
[root@linux-yzk ~]# 

可以理解为在你所想要找的文本中找到你要的关键词

greo的忽略大小写参数 -i 结合-n显示行号

[root@localhost opt]# grep -n -i 'apple' t1.txt t2.txt t3.txt   
t1.txt:1:apple1
t1.txt:2:apple1
t1.txt:3:apple1
t1.txt:4:apple1
t1.txt:8:Apple1
t1.txt:9:apple1
t1.txt:10:Apple1
t2.txt:1:apple2
t3.txt:1:apple3

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

[root@linux-yzk ~]# grep -n -i 'listen'  /etc/nginx/nginx.conf
39:        listen       80;
40:        listen       [::]:80;
59:#        listen       443 ssl http2;
60:#        listen       [::]:443 ssl http2;
[root@linux-yzk ~]# 

管道符

  • 管道符是和grep 结合最多的
管道符 在Linux 中表现的符号是 |

管道符的标准的定义

管道是一种通信机制,通常用于进程间的通信。它表现出来的形式将==前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin)==。

利用grep和管道符,来查看用户的信息

1.找处yzk 的用户信息
用户信息在 /etc/passwd 下存放着关于查找用户存在的信息或者说用户存在的命令grep 'yzk' /etc/passwd[root@linux-yzk ~]# grep 'yzk' /etc/passwd
yzk:x:1000:1000:yzk:/home/yzk:/bin/bash
[root@linux-yzk ~]# 这里也可以用id的方法
id yzk [root@linux-yzk ~]# id yzk
uid=1000(yzk) gid=1000(yzk) 组=1000(yzk),10(wheel)
[root@linux-yzk ~]# \

用管道符的方法

命令1 | 命令2 [root@linux-yzk ~]# cat /etc/passwd | grep 'yzk'
yzk:x:1000:1000:yzk:/home/yzk:/bin/bash
[root@linux-yzk ~]# 

管道符常用的用法

检查进程

1.检测系统进程的命令ps -ef  e->显示所有的进程 -f ->格式化进程的id号,等其他的信息2.上述命令,找到了一堆进程,如何过滤出我们要的信息呢?学习如何,正确使用 grep 和管道符,去过滤机器上某个进程,判断某个进程是否存在1.找出vim的进程[root@linux-yzk ~]# ps -ef | grep 'vim'
root       8637   7890  0 18:54 pts/1    00:00:00 grep --color=auto vim
[root@linux-yzk ~]# 2.找出nginx的进程
[root@linux-yzk ~]# ps -ef |grep 'nginx'
root       6875      1  0 16:21 ?        00:00:00 nginx: master process /usr/sbin/nginx
nginx      6876   6875  0 16:21 ?        00:00:00 nginx: worker process
nginx      6877   6875  0 16:21 ?        00:00:00 nginx: worker process
nginx      6878   6875  0 16:21 ?        00:00:00 nginx: worker process
nginx      6879   6875  0 16:21 ?        00:00:00 nginx: worker process
root       8639   7890  0 18:54 pts/1    00:00:00 grep --color=auto nginx
[root@linux-yzk ~]# 
  • 检查端口
1.需要学习,检查端口的命令,这个命令和ps一样,是检查系统某资源信息netstat -tunlp 这个组合个ps -ef 一样2. 过滤出,机器上,和ssh远程连接的端口信息,提示程序名叫ssdh,或者端口号是22结合查看端口的命令+ 管道符+ grep,实现,高效的过滤netstat -tunlp   | grep  'nginx'

统计文件的数量

统计系统中/var/log 目录下有多少的log文件[root@linux-yzk ~]# find /var/log -type f -name '*.log' | wc -l
37
[root@linux-yzk ~]# 

统计用户的数量

/etc/passwdcat -n /etc/passwd | wc -l
[root@linux-yzk ~]# cat -n /etc/passwd | wc -l
46

管道符,结合find命令搜索信息

1.
find / -name '*.txt'  # 这个命令找出的,每一个txt文件的名字吧,并且就是,一堆,一行一行的文本而已2.我要判断出,这些文件,哪一个是包含了apple字符串内容的
一个个的去grep这些文件才行!!!
1.找出系统上所有的txt文本 find / -type f '*.txt'2.判断哪些文件中是包含了apple文本行的
find / -type f '*.txt' | grep 'apple' 

xrags

作用,简单来说,就是把其他的命令给它的数据。传递给它后面的命令作为参数

语法如下

命令1 | xargs 选项选项-i 用 {} 代替传递的数据

全系统搜索,包含数据的文件名

[root@linux-yzk ~]# find / -type f -name '*.txt' | xargs  -i grep 'yzk' {}###MnaCdEYQlbocbhgFbQC4H1OP/GUUBHm2z+/Gi6r888Fjayyzkb6IZiAbGUSuuTDp###S6loIgDdTe2PIV7k929KrH/V9NfWooRn4gVTcLEyzkF9CyPJJjvbkTqnpSgSPaK0

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

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

相关文章

[豪の学习笔记] JavaReStudy#07

IDEA常用快捷键、包、访问修饰符、OOP封装、OOP继承、super关键字、方法重写/覆盖、OOP多态、Object类详解面向对象编程-进阶部分 1 - IDEA常用快捷键 1.删除当前行 ctrl+Y 2.查看一个类的层级关系 ctrl+H 3.定位方法 ctrl+B 4.自动分配变量名,在后面加 .var 5.导入该行需要的…

HTB GreenHorn (源码审计、PDF修复) 随笔

一、端口信息扫描 Spawn Machine后拿到了IP,先nmap扫一下,输入nmap -sV -sC -v 10.10.11.25 -Pn探到了22,80,3000端口,并且可以发现80端口重定向到了http://greenhorn.htb/页面 输入vim /etc/hosts打开一下hosts文件,添加10.10.11.25 greenhorn.htb再探测一下子域名,看看…

CS144 Lab2

CS144 Lab2 开始有点痛苦了,因为文档给的并不全面,光读文档是没法覆盖所有的test case的,有太多的业务逻辑要自己考虑。接下来分别就几个难点总结一下: SYN/FIN 有几种情况要特判:当前没收到过SYN,要拒绝所有的segment 当前收到过SYN了,又收到了新的SYN,这得拒绝 当前收…

msyql三表命令

一、建表 create table student( stu_no int, stu_name varchar(10), sex char(1), age int(3), edit varchar(20) ) DEFAULT charset=utf8; insert into student values (1,wang,男,21,hello), (2,小明,女,22,haha2), (3,hu,女,23,haha3), (4,li,男,25,haha4); create table …

活动报名:Voice Agent 技术现状及应用展望丨 3.8 北京

「人人发言,所有人向所有人学习!」——Z 沙龙「一起探索下一代语音驱动的人机交互界面。」——RTE 开发者社区3 月 8 日周六下午,北京,「智谱 Z 计划&Z Fund」和「RTE 开发者社区」将合办一场 Voice Agent 主题的线下活动。多家语音模型的技术负责人,多个落地场景(AI…

Advance Installer Appium环境配置

安装参数文件同步环境变量 Path = [python_Dir];[NodeJS_Dir];[AndroidSDK_Dir];[redis_Dir]

2月solar月赛wp

2025年Solar应急响应公益月赛-2月暗链排查-1 网站被劫持,被跳转到外部网站,请分析外部原因。本题提供两个端口:第一个端口为ssh端口默认密码为solar@202502第二个端口为被劫持的web服务,路径为 /projectA/index.jsp做的时候,跳转到/projectA/home有一串js代码 拿出里面那串…

谷歌地图案例 | 为服务不足的银行客户提供优质服务

谷歌地图占全球导航市场67%,重塑空间运行。Current银行用谷歌地图平台提供精确定位,为“银行服务不足”群体改善财务状况,商家和客户均受益。据Statista最新数据显示,谷歌地图以67%的全球导航市场份额构建起数字时代的基础设施霸权。这项始于2005年的地理信息服务,已完成从…

解决在Ubuntu中用conda配置环境和下载依赖缓慢问题(重点:mamba)

前情:背景:在重现text2cad文章的过程中,通过environment.yml下载环境和依赖(包括pythonocc-core,pytorch等需要conda安装的包)开发环境:Ubuntu待下载的包: 官方environment.yml中要求的包及对应版本要求(之后会根据我的cuda驱动版本等其他问题,对包的版本进行调整):de…

又一款免费的资产设备管理软件 - WGFIX

WGFIX是wgcloud团队最近发布的一个资产管理系统,免费开源,而且使用非常简单,部署也很方便,非常适合中小企业使用的一款IT资产设备管理系统 下载:www.wgstart.com WGFIX资产设备管理系统是私有化部署的B/S系统,只需要在本地搭建好WGFIX后,所有用户都通过浏览器来访问使用…

4D毫米波雷达

4D毫米波雷达平台产品MRR610 & SRR610是经纬恒润新设计推出的第六代毫米波雷达平台产品,平台选用业内高集成度的SoC解决方案,可为客户提供高性价比雷达单品和多雷达融合解决方案。 4D毫米波雷达平台产品MRR610 & SRR610是经纬恒润新设计推出的第六代毫米波雷达…

学习备忘-不删除32位Office安装AccessDataEngine 64位版本(共存)

一、Access database engine是什么Access database engine是微软官方推出的一款功能强大的数据库引擎可再发型程序包,主要用于access数据库调用引擎,方便office系统文件和office应用程序之间的数据传输。 二、Access Database EngineMicrosoft Access Database Engine 64位是…