1.locate
- 命令名称:locate
- 命令所在路径:/usr/bin/locate
- 执行权限:所有用户
- 功能描述:在文件资料库中查找文件
locate [文件名]
find遍历你所规定的查找范围整个硬盘
locate是建立了整个文件资料库,这个文件资料库会定期更新,在找的时候在资料库中找你要搜索的文件,所以速度很快
与windows中的everything搜索工具差不多,可以达到秒搜。
1.1 文件库
这是因为在=系统中他有他维护的文件资料库,我们搜索一下资料库。
可以搜索到很多行包含locate的文件,其中有一行为locate的文件库。
系统会定时将文件更新在这个资料库,所以搜索速度比较快。
注意:如果一个文件没有被收录到这个文件库中,他就不能找到这个文件。
1.2 updatedb更新文件库
现在我们建立一个文件:
缺点:新建的文件还没有及时的被收录更新到locate文件库中,所以无法搜索到文件。
如何更新locate文件库:
updatedb
使用updatedb命令就可以更新locate文件库:
但是updatedb命令不能更新到/tmp临时文件目录下的新建文件。
1.3 -i不区分大小写
为了方便我们加上-i,不区分大小写搜索。
locate -i [文件名]
测试:
2.which
- 命令名称:which
- 命令所在路径:/usr/bin/which
- 执行权限:所有用户
- 功能描述:搜索命令所在目录及别名信息
which [命令名称]
查找命令目录:
查看命令别名:
这里的rm
其实是rm -i
的别名,这里的-i
是询问确认的意思。
3.whereis
- 命令名称:whereis
- 命令所在路径:/usr/bin/whereis
- 执行权限:所有用户
- 功能描述:搜索命令所在目录及帮助文档路径
whereis [命令名称]
linux中绝大多数帮助文档都在/usr/share/目录下。
这里的man是manual手册的意思。
4.grep
- 命令名称:grep
- 命令所在路径:bin/grep
- 执行权限:所有用户
- 功能描述:在文件中搜索字符串匹配的行并输出
grep [-iv] [指定字串] [文件]
i: 不区分大小写
v: 排除指定字串
一个长文件中,只想找某一个关键字行。
不区分大小写查找:
排除指定字串:
^是以什么开头的符号,这样就相当于是反向查找,屏蔽字符串。