Linux 十一 搜索查找 find locate grep 管道符

本文介绍了Linux搜索查找的指令,包括find用于查找文件或目录,可从指定目录递归遍历子目录;locate能快速定位文件路径,基于事先建立的数据库查询;还介绍了grep过滤查找及“|”管道符,管道符可将前一命令结果传递给后一命令处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux搜索查找的指令

find 查找文件或者目录

find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。

find  [搜索范围]  [选项]  

在这里插入图片描述

示例

根据名称查找/home 目录下的hello.txt文件

find  /home   -name  hello.txt 

按拥有者:查找/opt目录下,用户名称为 nobody的文件

find /opt -name nobody

查找整个linux系统下大于10M的文件(+n 大于 -n小于 n 等于)

find   /  -size   +10M

根据名称查找 / 目录下的filename.txt文件。

find / -name *.txt

在/home目录下查找大于200m的文件(+n 大于 -n小于 n等于)

find /home -size +204800
locate快速定位文件路径

locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。

locate 搜索文件

特别说明
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。

示例

updatedb // 创建locate的数据库
locate tmp
grep 过滤查找及“|”管道符

管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理

grep 选项 查找内容 源文件

在这里插入图片描述

示例
请在 /etc/profile 文件中,查找 “if” 所在行,并且显示行号

grep –n   if  /etc/profile  [在/etc/profile 中查找 if ,并显示行,区别大小写]
grep –ni   if  /etc/profile  [在/etc/profile 中查找 if ,并显示行,不区别大小写]

配合 管道 | 使用案例, 查看当前服务器有没有 sshd 服务在监听

netstat -anp | grep sshd

查找某文件在第几行

ls  | grep -n dev

在这里插入图片描述

查找 yes/home/hello 文件中是否存在 如果有 输出行数和yes

cat /home/hello | grep -n yes
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值