whereis(1)
whereis — 定位程序
名称
whereis
概要
whereis [-abmqsux] [-BMS dir ... -f] program ...
描述
whereis 实用程序在标准的二进制文件、手册页和源代码目录中查找指定的程序,并打印出所找到的路径。提供的程序名首先会去除前导路径名部分、由 gzip(1)、compress(1) 或 bzip2(1) 添加的单个尾部扩展名,以及源代码控制系统添加的前导 s. 或尾部 ,v。
默认搜索路径是由 sysctl(8) 实用程序为 “user.cs_path” 字符串返回的字符串,并附加 /usr/libexec 和当前用户的 $PATH。手册页默认沿 $MANPATH 搜索。程序源代码位于一组已知的标准位置列表中,包括 /usr/src 和 /usr/ports 的所有子目录。
可用选项如下:
-B 指定搜索二进制文件的目录。需要 -f 选项。
-M 指定搜索手册页的目录。需要 -f 选项。
-S 指定搜索程序源代码的目录。需要 -f 选项。
-a 报告所有匹配项,而非仅报告每种请求类型的第一项。
-b 搜索二进制文件。
-f 界定 -B、-M 或 -S 选项后的目录列表,并指示 program 列表的开始。
-m 搜索手册页。
-q (“quiet”)。抑制在正常输出行前面输出实用程序名。这在 shell 命令行的反引号替换中使用时很方便,参见 实例。
-s 搜索源代码目录。
-u 搜索“不寻常”条目。如果一个文件没有每种请求类型的至少一个条目,则称其为不寻常。仅打印不寻常条目的名称。
-x 搜索源代码目录时不使用“昂贵”的工具。通常,在搜索源代码目录列表的所有一级子目录均未成功后,whereis 会请求 locate(1) 代为查找该条目。由于这可能需要更长时间,可以使用 -x 关闭。
实例
以下命令查找 /usr/bin 下所有没有文档的实用程序:
切换到 ls(1) 的源代码目录:
参见
find(1), locate(1), man(1), which(1), sysctl(8)
历史
whereis 实用程序出现于 3.0BSD。本版本重新实现了在 4.4BSD 中丢失的历史功能。
作者
whereis 命令的本实现由 Jörg Wunsch 编写。
缺陷
whereis 实用程序的本重新实现并非与历史版本逐 bug 兼容。但相信它与 FreeBSD 2.2 到 FreeBSD 4.5 中附带的版本兼容。
指定 -a 选项时,whereis 实用程序可能会报告一些无关的源代码条目。
最后更新于
这有帮助吗?