linux搜索查找类指令

128 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第5天,点击查看活动详情

搜索查找类指令



find指令

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

基本语法:find [搜索范围] [选项]

选项说明:

选项功能
-name<查询方式>按照指定的文件名查找模式查找文件
-user<用户名>查找属于指定用户名所有文件
-size<文件大小>按照指定的文件大小查找文件。

案例1:按文件名:根据名称查找/home 目录下的hello.txt文件 在这里插入图片描述 案例2:按拥有者:查找/opt目录下,用户名称为nobody的文件 在这里插入图片描述

案例3:查找整个linux系统下大于20m的文件(+n 大于-n小于 n等于)

在这里插入图片描述

**案例4:查找 / 目录下所有 .xml文件 **

find / -name *.xml

在这里插入图片描述

locate指令

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

基本语法:locate 搜索文件

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

案例1:请使用locate指令快速定位 test.txt文件所在目录 在这里插入图片描述

grep指令和管道符号 |

grep过滤查找,管道符"|",表示将前一个命令的处理结果输出传递给后面的命令处理。

基本语法:grep [选项] 查找内容 源文件

常用选项:

选项功能
-n显示匹配行以及行号
-i忽略字母大小写

案例1:请在hello.txt文件中,查找"yes" 所在行,并且显示行号

cat hello.txt | grep -n yes 在这里插入图片描述

上面的意思就是,把cat hello.txt这个命令交给了grep去处理,由grep去过滤yes这个单词 在这里插入图片描述