目录
1. 快速查找命令 locate
【1】语法:locate 文件名
【2】功能:指在文件资料库中查找文件,能够实现快速搜索。
【3】原理:并不是遍历整个分区/硬盘,而是建立了一个文件资料库,该资料库可以定期更新,查找时只在资料库内查找,能够降低资源消耗,相对find来说查找速率极快。
【4】缺点:① 如果此时我新建一个文件,该资料库并不能立刻更新。所以需要在查找之前执行 updatedb命令,来对资料库进行手动更新。② locate命令找不到/tmp下的文件和目录,因为/tmp下的文件或命令没有收录到locate维护的资料库中,所以尽管执行updatedb命令也找不到。
【5】不区分大小写:locate -i 文件名
liu@SLR:/hd1/Dling/lane/Wmq/hello$ locate TEST1.txt
/hd1/Dling/lane/Wmq/hello/TEST1.txt
liu@SLR:/hd1/Dling/lane/Wmq/hello$ locate -i TEST1.txt
/hd1/Dling/lane/Wmq/hello/TEST1.txt
/hd1/Dling/lane/Wmq/hello/test1.txt
2. 搜索命令所在的目录以及别名 which
【1】语法:which [命令]
【2】功能:搜索命令所在的目录以及别名信息
【3】/bin 和 /usr/bin 下为所有用户可以执行的命令。/sbin和/usr/sbin为root用户可执行的命令
liu@SLR:/hd1/Dling/lane/Wmq/hello$ which ls
/bin/ls
liu@SLR:/hd1/Dling/lane/Wmq/hello$ which useradd
/usr/sbin/useradd
3. 搜索命令所在目录及指定类型信息 whereis
【1】语法:whereis [命令名称]
【2】功能:查找命令所在目录以及执行的文件类型路径,包括 二进制文件(参数- b),man说明文件 (参数 -m) 和源代码文件(参数 -s),查找不包含指定类型的文件 (参数 -u)。若没有参数,则默认为搜索命令所在目录以及帮助文档路径
liu@SLR:/hd1/Dling/lane/Wmq/hello$ whereis bash
bash: /bin/bash /etc/bash.bashrc /usr/share/man/man1/bash.1.gz
liu@SLR:/hd1/Dling/lane/Wmq/hello$ whereis -b bash
bash: /bin/bash /etc/bash.bashrc
4. 文件内字串匹配行并输出 grep
【1】语法:grep -iv [指定字串] [文件]。其中-i表示不区分大小写,-v表示排除指定字串
【2】功能:在文件中搜寻字串匹配的行并输出
liu@SLR:/hd1/Dling/lane/Wmq/hello$ cat TEST1.txt
hello
world
WORLD
nice
liu@SLR:/hd1/Dling/lane/Wmq/hello$ grep "world" TEST1.txt
world
liu@SLR:/hd1/Dling/lane/Wmq/hello$ grep -i "world" TEST1.txt
world
WORLD
liu@SLR:/hd1/Dling/lane/Wmq/hello$ grep -v "nice" TEST1.txt
hello
world
WORLD
注:此文章部分内容来自于b站Linux常用命令-其他文件搜索命令的学习笔记,仅供参考学习