简述
whereis 命令用来定位指令的二进制程序、源代码文件和 man 手册页等相关文件的路径。
和 find 相比,whereis 查找的速度非常快,这是因为 Linux 会将系统内的所有文件都记录在一个数据库文件中。当使用 whereis 和即将介绍的 locate 时,会从数据库中查找数据,而不是像 find 命令那样,通过遍历硬盘来查找,效率自然会很高。但是该数据库文件并不是实时更新,默认情况下一星期更新一次。因此,在用 whereis 和 locate 查找文件时,有时会找到已被删除的数据,或者刚刚建立文件却无法查找到,原因就是因为数据库文件没有被更新。
命令介绍
-
命令名称
whereis -
基本语法
whereis [选项] 文件 -
功能描述
定位指令的二进制程序、源代码文件和 man 手册页等相关文件的路径。
命令选项
选项 | 说明 |
---|---|
-b | 只搜索二进制文件 |
-B <目录> | 定义二进制文件查找路径 |
-m | 只搜索 man 手册 |
-M <目录> | 定义 man 手册查找路径 |
-s | 只搜索源代码 |
-S <目录> | 定义源代码查找路径 |
-f | 终止 <目录> 参数列表 |
-u | 搜索不常见记录 |
-l | 输出有效查找路径 |
使用范例
1.查找文件及其相关文件
[wang@localhost ~]$ whereis nginx
nginx:
[wang@localhost ~]$ whereis svn
svn: /usr/bin/svn /usr/share/man/man1/svn.1.gz
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
由于没有安装 nginx,所以查找不出来;安装了 svn,便可以找出很多相关文件。
2.查找二进制文件
# 查找二进制文件
[wang@localhost ~]$ whereis -b svn
svn: /usr/bin/svn
# 查找说明文档路径
[wang@localhost ~]$ whereis -m svn
svn: /usr/share/man/man1/svn.1.gz
# 查找 source 源文件
[wang@localhost ~]$ whereis -s svn
svn:
[wang@localhost ~]$