whereis命令用来定位命令的二进制程序、源代码文件和man手册页等相关文件的路径。
whereis命令查找速度非常快,因为它不是在磁盘中乱找,而是在一个数据库中查询; 数据库是linux系统自动创建的,包含有本地所有文件的信息,并且每天通过自动执行updatedb命令更新一次。正因为这样,whereis命令的搜索结果有时候会不准确,比如刚添加的文件可能搜不到, 原因就是该数据库文件没有被更新。
**语法格式:** whereis [参数] [命令名]
**常用参数:**
| -b | 查找二进制程序或命令 |
| ---- | ----------------------------------- |
| -B | 从指定目录下 查找二进制程序或命令 |
| -m | 查找man手册文件 |
| -M | 从指定目录下 查找man手册文件 |
| -s | 只查找源代码文件 |
| -S | 从指定目录下 查找源代码文件 |
**参考实例**
显示ln命令的程序和man手册页的位置:
```
[root@anycode ~]# whereis ln
ln: /usr/bin/ln /usr/share/man/man1/ln.1.gz /usr/share/man/man1p/ln.1p.gz
```
显示ln命令的二进制程序的路径:
```
[root@anycode ~]# whereis -b ln
ln: /usr/bin/ln
```
显示ln命令的man手册页的路径:
```
[root@anycode ~]# whereis -m ln
ln: /usr/share/man/man1/ln.1.gz /usr/share/man/man1p/ln.1p.gz
```