# whereis.1

WHEREIS(1)

WHEREIS(1)

FreeBSD General Commands Manual

WHEREIS(1)

## [名称](#__u540D___u79F0_)

`whereis` —

定位程序

## [概要](#__u6982___u8981_)

`whereis` \[`-abmqsux`] \[`-BMS` dir ... `-f`] program ...

## [描述](#__u63CF___u8FF0_)

`whereis` 实用程序检查指定程序的标准二进制文件、手册页和源目录，打印出它找到的任何程序的路径。 提供的程序名称首先去除前导路径名称组件、由 gzip(1), compress(1) 或 bzip2(1) 添加的任何单个尾随扩展名，以及前导 ‘`s.`’ 。或来自源代码控制系统的尾随 ‘`,v`’ 。

搜索的默认路径是 sysctl(8) 实用程序为 “user.cs\_path” 字符串返回的字符串，附加了 /usr/libexec 和当前用户的 `$PATH` 。 默认情况下沿 `$MANPATH` 。 程序源位于已知标准位置的列表中，包括 /usr/src 和 /usr/ports 的所有子目录。

可以使用以下选项：

[`-B`](#B)

指定目录以搜索二进制文件。 需要 `-f` 选项。

[`-M`](#M)

指定目录以搜索手册页。 需要 `-f` 选项。

[`-S`](#S)

指定目录以搜索程序源。 需要 `-f` 选项。

[`-a`](#a)

报告所有匹配项，而不是仅报告每个请求类型的第一个。

[`-b`](#b)

搜索二进制文件。

[`-f`](#f)

在 `-B`, `-M` 或 `-S` 选项之后分隔目录列表，并指示 program 列表的开头。

[`-m`](#m)

搜索手册页。

[`-q`](#q)

(“quiet”) 。禁止在正常输出行前面输出实用程序名称。 这可以很方便地用于 shell 命令行的反引号替换，请参阅 [实例](#__u5B9E___u4F8B_) 。

[`-s`](#s)

搜索源目录。

[`-u`](#u)

搜索 “unusual” 的条目。 如果一个文件没有每个请求类型的至少一个条目，则称该文件为异常文件。 仅打印异常条目的名称。

[`-x`](#x)

搜索源目录时不要使用 “expensive” 的工具。 通常情况下，在源目录列表的所有一级子目录都搜索不成功后， `whereis` 会请求 locate(1) 代表它查找该条目。 由于这可能需要更长的时间，因此可以使用 `-x` 将其关闭。

## [实例](#__u5B9E___u4F8B_)

以下查找 /usr/bin 下没有文档的所有实用程序：

`whereis -m -u /usr/bin/*`

切换到 ls(1) )的源码目录：

`` cd `whereis -sq ls` ``

## [参见](#__u53C2___u89C1_)

find(1), locate(1), man(1), which(1), sysctl(8)

## [历史](#__u5386___u53F2_)

`whereis` 实用程序出现在 3.0BSD 中。 这个版本重新实现了 4.4BSD 中丢失的历史功能。

## [作者](#__u4F5C___u8005_)

`whereis` 命令的这个实现是由 Jörg Wunsch 。

## [缺陷](#__u7F3A___u9677_)

`whereis` 实用程序的这种重新实现与历史版本不兼容。 它被认为与 FreeBSD 2.2 到 FreeBSD 4.5 所附带的版本兼容。

当指定 `-a` 选项时， `whereis` 实用程序可以报告一些不相关的源条目。

August 22, 2002

FreeBSD 13.1-RELEASE
