概述
whereis
命令通常用来查找可执行文件、联机帮助文件和源代码文件。通常用来查询某个命令的文件位置。如果想要查找更大范围的文件,考虑使用 find
命令或者 locate
命令。
该命令的查找速度很快,因为不是全磁盘搜索,而是在一个数据库中查找,该数据库包含本地所有文件的信息,所以效率很高。但是该数据库并不是实时更新的,只是定时某个时间周期内更新一次,所以搜索结果可能不准确,如新增的文件可能搜不到,如删除的文件还在搜索结果中。
注:通常该命令与
which
命令容易弄混,因为这两个命令大多数时候都是用来搜索命令的路径的。他们区别如下:
whereis
命令查询的是命令的位置、帮助文档的位置,不能查找到别名;which
命令查询的是命令的位置和命令别名。whereis
命令是从数据库中查找,效率更高,但不是实时的,可能存在误差;which
命令是从PATH
环境变量指定的路径中查找命令,是实时的。whereis
命令可以查找到命令的帮助文档所在位置;which
命令只能查找到命令本身的位置和别名信息。
语法
该命令的语法如下:
whereis [选项] [文件名或目录名]
该命令支持的选项有:
选项 | 说明 |
---|---|
-b | 只查找二进制文件 |
-B<目录> | 只在设置的目录下查找二进制文件 |
-f | 不显示文件名前的路径名称 |
-m | 只查找帮助说明文件 |
-M <目录> | 只在设置的目录下查找说明文件 |
-s | 只查找原始代码文件 |
-S <目录> | 只在设置的目录下查找原始代码文件 |
-u | 查找不包含指定类型的文件 |
使用
查找某个命令的位置
如果要查找某个命令的位置,格式如下:
# 语法
whereis 命令名称
# 示例
whereis ls
显示命令帮助文件所在位置
如果要查找某个命令帮助文档所在位置,命令格式如下:
# 语法
whereis -m 命令名称
# 示例
whereis -m ls