whereis ( 英文名称:where is ) 命令是 Linux / FreeBSD 系统中的用于快速定位命令及其相关资源文件路径的一个工具。它能够实现查找命令的可执行文件位置、查找命令的帮助文档的位置,还可以查找命令的源代码文件位置,whereis 基于创建的数据库进行查找,查找速度非常的快。

本文将为你介绍 whereis 命令的使用方法,使你对 whereis 命令具有基本的了解。

whereis 命令语法

如下给出 whereis 命令的基本语法形式:

whereis [选项] 命令名...

语法结构中各部分的解释说明:

  • 命令名:要查找的命令,支持同时查询多个命令,命令之间使用空格分隔,(可选内容)
  • 选项:用于控制查找的选项
  • 无参数时:会给出一个命令提示信息

输出信息中路径的说明:

  • 二进制文件路径一般包含 bin:如 /bin/、/sbin/、/usr/bin/、/usr/local/bin/ 等路径
  • 帮助书册路径一般包含 man:如 /usr/share/man/、/usr/local/man/ 等路径
  • 源代码路径一般包含 src:如 /usr/src/、/usr/local/src/ 等路径

whereis 命令使用示例

1. 查找命令位置

给出需要查找的命令参数,就会输出该命令相关资源的位置信息:

whereis ls

输出信息为:

ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

显示的信息中包含二进制文件和帮助手册。

2. 查找特定类型文件

使用相应的选项,只查找类型的文件:

whereis -b python3
# 输出:python3: /usr/bin/python3

如上示例使用 -b 选项,只查找二进制文件,输出内容为:

python3: /usr/bin/python3 /usr/lib/python3 /etc/python3 /usr/share/python3

3. 查询多个命令

指定以空格分割的多个命令,就可以同时查询多个命令:

whereis cp ls

输出内容为:

cp: /usr/bin/cp /usr/share/man/man1/cp.1.gz
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

4. 查找命令的源代码

使用 -s 选项只可以指定只查找命令的源代码:

whereis -s coreutils

输出信息为:

coreutils: /usr/src/coreutils

注意:查找源代码,注意参数应为程序名而非命令名。如果在你的系统中没有安装源代码软件包,则不会显示源代码文件信息。

whereis 命令选项详解

选项 说明 示例
-b 仅查找二进制文件的路径 whereis -b nano
-m 仅查找帮助手册文件的路径 whereis -m tar
-s 仅查找源代码文件的路径信息 whereis -s bash
-u 查找不完整条目的信息(缺少指定类型) whereis -u -m docker
-B <目录> 指定在特定的目录中搜索二进制文件 whereis -B / opt / bin git
-M <目录> 指定在特定的目录中搜索帮助手册 whereis -M / usr / local / man ls
-S <目录> 指定在特定的目录中搜索源代码 whereis -S / usr / src vim
-f 终止目录列表,只显示文件名,需要配置 -B -M -S 使用 whereis -B / opt / bin -f python
-l 显示默认配置的所有用于搜索的路径信息 whereis -l
-V 显示版本信息 whereis -V
-h 显示帮助信息 whereis -h

whereis 与 which 命令的区别

相比 which 命令,whereis 命令能够查找更多的内容。

特性 whereis which
搜索范围不同 可查找二进制/手册/源码等文件 只能查找二进制的可执行文件
搜索路径不同 搜索整个系统目录 只查找 PATH 环境变量中配置的路径
查找速度不同 使用创建的数据库查找内容,查找速度非常的快 实时的按照目录路径搜索文件,速度一般
二进制文件的处理方式不同 不显示别名信息 会显示别名信息

结语

本文全面的介绍了 whereis 的语法结构及其功能,并给出了 whereis 命令的具体使用示例,whereis 查找命令的速度非常快,同时还能查找多种类型的文件。 whereis 命令可以在 Linux 各发行版和 FreeBSD 系统中使用,基本功能是相同的。