Linux / Unix whereis 命令示例
我是 Linux 和类 Unix 系统命令行新手。如何查找和定位给定命令的二进制文件、源代码和手册页文件?
您需要使用该whereis命令来查找指定命令或文件的源代码、二进制文件和手册部分。
- 二进制文件的位置。
- 以及源代码的位置。
- 最后,手册页的位置。
目的
查找指定程序或命令的二进制文件、源代码和手册页。
句法
基本语法如下:
whereis command whereis program whereis [options] program whereis -BMS directory -f command
whereis 命令示例
要找出 date 命令的可执行文件、源代码和手册页的位置,请输入:
$ whereis date
示例输出:
我如何仅搜索二进制文件?
尝试-b按如下方式传递选项:
$ whereis -b date
我如何仅搜索手册部分文件?
使用该-m选项如下:
$ whereis -m date
我如何仅搜索源代码文件?
传递-s选项如下:
$ whereis -s date
我如何仅搜索不寻常的条目?
如果文件没有每个请求类型的条目,则该文件被称为不寻常的。因此,以下示例要求查找当前目录中没有文档的文件:
$ whereis -m -u *
如何将二进制文件的搜索限制在特定目录中?
您可以通过以下选项来限制 whereis 搜索文件的位置:
- -B /path/to/dir:限制 whereis 搜索二进制文件的位置。
- -M /path/to/dir:限制 whereis 搜索手册章节的位置。
- -S /path/to/dir:限制 whereis 搜索源的地方。
-f使用 -B、-M 或 -S 选项时必须传递该选项。该-f选项终止最后一个目录列表并发出文件名开始的信号。在此示例中,仅针对 ls 和 gcc 命令限制在 /bin/ 目录中搜索二进制文件:
$ whereis -B /bin -f ls gcc
示例输出:
ls: /bin/ls /usr/share/man/man1/ls.1.gz gcc:
gcc 命令没有输出,因为它位于 /usr/bin/ 目录中。要查找 /sbin/ 目录中未记录在 /usr/man/man8 目录中或在 /root/src 目录中没有源代码的所有文件,请输入:
# cd /sbin
# whereis -u -M /usr/man/man8/ -S /root/src/ -f *
whereis 命令选项
从命令手册页:
选项 | 意义 |
---|---|
-f | 定义搜索范围。 |
-b | 仅搜索二进制文件。 |
-B | 定义二进制文件查找路径。 |
-m | 仅搜索手动路径。 |
-M | 定义 man 查找路径。 |
-s | 仅搜索源路径。 |
-S | 定义源查找路径。 |
-u | 从不寻常的实体中搜索。 |
-V | 输出版本信息并退出。 |
-h | 显示此帮助并退出。 |
使用 man 命令查看 whereis 命令手册页或在此处在线阅读:
man whereis
结论
本页为 Linux 和 Unix 用户通过示例解释了 whereis 命令。