Linux/Unix whereis命令示例
时间:2020-01-09 10:46:07 来源:igfitidea点击:
如何找到和找到给定命令的二进制文件,源文件和手册页文件?
您需要使用whereis命令来查找指定命令或者文件的源,二进制和手册部分。
二进制文件不过是诸如ls之类的命令或者诸如Gimp之类的程序的可执行文件。
使用此命令找出:
- 二进制文件的位置。
- 以及源代码的位置。
- 最后,手册页的位置。
语法
基本语法如下:
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
:限制其中搜索手册部分的地方。-S/path/to/dir
:限制whereis搜索源的位置。
使用-B,-M或者-S选项中的任何一个时,都必须传递-f选项。
-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命令选项
在whereis(1)命令手册页中:
选项 | 含义 |
---|---|
-f | 定义搜索范围。 |
-b | 仅搜索二进制文件。 |
-B | 定义二进制查找路径。 |
-m | 仅搜索手动路径。 |
-M | 定义查找路径。 |
-s | 仅搜索源路径。 |
-S | 定义源查找路径。 |
-u | 从不寻常的实体中搜索。 |
-V | 输出版本信息并退出。 |
-h | 显示此帮助并退出。 |