目录
54. shell命令--whereis
功能说明
whereis 命令是 Linux 和 Unix 系统中的一个非常有用的命令,它用于定位二进制程序、源代码和手册页(man pages)的位置。这个命令会搜索系统的标准位置,如 /bin、/usr/bin、/sbin、/usr/sbin 等来查找可执行文件,同时还会在 /usr/share/man 和 /usr/src 等目录下查找相关的手册页和源代码(如果可用的话)。
whereis 命令的功能是显示命令及相关文件的路径位置信息,可用于找到命令(二进制程序)、命令源代码、man 帮助手册等相关文件的路径位置信息,帮助我们更好地管理这些文件。
有别于 find 命令进行的全盘搜索,whereis 命令的查找速度非常快,因为它不是在磁盘中乱找,而是在指定数据库中查询,该数据库是 Linux 系统自动创建的,包含本地所有文件的信息,每天自动更新一次。但也正因为这样,whereis 命令的搜索结果会不及时,比如刚添加的文件可能搜不到,原因就是该数据库文件还没有更新,管理人员需手动执行 updatedb 命令进行更新。
语法格式
SYNOPSIS
whereis [options] [-BMS directory... -f] name...
- options:whereis 命令的选项,比如 -b 只查找二进制文件,-m 只查找手册页等。
- name:要查找的程序或命令的名称。
选项说明
-b:只查找二进制文件的位置。
-m:只查找手册页(man pages)的位置。
-s:只查找源代码的位置。
-u:查找不包含指定类型的条目(默认是查找所有类型)。
-B、-M、-S:后面跟自定义的目录,分别用于指定二进制文件、手册页和源代码的搜索路径。
-f:停止处理任何进一步的命令行参数,这对于包含特殊字符或空格的文件名很有用。
实践操作
1. 使用命令 whereis 查看指令 ls 的位置
whereis ls
# 注意:以上输出信息从左至右分别为查询的程序名、 ls 路径、 ls 的 man 册页路径
2. 单独查询二进制文件或帮助文件
whereis -b ls
whereis -m ls
注意事项
- whereis 命令主要搜索标准位置,对于非标准位置安装的程序,可能需要使用其他方法查找,如 find 命令。
- 如果 whereis 命令找不到某个程序,这并不意味着该程序没有安装,只是可能不在 whereis 搜索的默认路径中。
- 手册页和源代码的位置可能因系统和安装的软件包而异。