1、find:从指定目录向下递归地遍历其各个子目录,将满足条件的文件或目录显示在终端
2、locate:可以快速定位文件路径
3、grep指令和管道符“|”:grep过滤查找,管道符“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
find指令从指定目录向下递归地遍历其各个子目录,将满足条件的文件或目录显示在终端
find [搜索范围] [选项]
(1)、按文件名,根据名称查找/home目录下的hello.txt文件
find /home -name hello.txt
(2)、按拥有者,查找/opt目录下,用户名为nobody的文件
find /opt -user nobody
(3)、查找整个Linux系统下大于20M的文件(+n大于,-n小于,n等于)
find / -size +20M
(4)、查找整个Linux系统下小于20M的文件
find / -size -20M
(5)、查找整个Linux系统下等于20M的文件
find / -size 20M
(6)、查询根目录下,所有.txt文件
find / -name *.txt
locate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件
名称及路径的locate数据库实现快速定位给定的文件。locate无需遍历整个文件系统,
查询速度较快,为了保证查询结果的准确性,管理员必须定期更新locate时刻。
locate 搜索文件
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令,创建locate数据库。
(1)、请使用locate指令快速定位hello.txt文件所在目录
第一步:updatedb --创建locate数据库
第二步:locate hello.txt
grep过滤查找,管道符“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
grep [选项] 查找内容 源文件
-n:显示匹配行及行号
-i:忽略字母大小写
(1)、请在hello.txt文件中,查找yes所在行,并显示行号。
cat hello.txt | grep -n yes
(2)、请在hello.txt文件中,查找yes所在行,并显示行号,忽略大小写。
cat hello.txt | grep -ni yes