WHEREIS(1)

名称
whereis - プログラムのパスを表示します

書式
whereis [-bms] [-u] [-BMS -dir -... -f] program ...

解説
whereis は標準のバイナリディレクトリやマニュアルページそして、特定のプログラム のソースファイルディレクトリを検索し、指定されたプログラムのパスが 見つかれば表示します。 与えられた名前は、はじめにパス名部分が取り除かれ、 gzip(1) または compress(1) による拡張子をひとつ削除し、 ソースコード制御システムのためのファイル名のはじめの ‘s.’ や最後の ‘,v’ を外し、パス名にされます。

検索されるディレクトリは sysctl(8) に文字列 “user.cs_path” を与えた時に返される文字列と /usr/libexec および現在のユーザの $PATH です。マニュアルは、デフォルトでは $MANPATH にしたがって検索されます。プログラムソースは、 /usr/src や /usr/ports の全てのサブディレクトリを含む、標準の場所のリストにあるものとされます。

以下のようなオプションが利用可能です。

-B  バイナリを検索するためのディレクトリを指定します。 -f オプションが必要です。

-M  マニュアルページを検索するためのディレクトリを指定します。 -f オプションが必要です。

-S  プログラムソースを検索するためのディレクトリを指定します。 -f オプションが必要です。

-b  バイナリを検索します。

-f  -B, -M, -S オプションが指定された後で、ディレクトリのリストの境界を設定し、 name リストのはじめを指定します。

-m  マニュアルページを検索します。

-s  ソースディレクトリを検索します。

-u  “unusual” エントリを検索します。ファイルは、要求されたそれぞれのタイプのエントリがない場合に 普通でない (unusual) といわれます。

実行例
以下では、 /usr/bin 以下のドキュメントがない全てのユーティリティを見つけます。
    whereis -m -u /usr/bin/*

関連項目
find, locate(1), man(1), which(1), sysctl(8)

バグ
ソースの検索は、ソースディレクトリのリストの各要素の第一レベルの サブディレクトリを検索するクイック検索で実装されています。 これが成功しない場合、 locate(1) ユーティリティがサブディレクトリのより深いところまで検索するために 呼び出されます。これは、時間がかかりますし、ロケートデーターベースが 更新されている時にだけ成功します。

歴史
whereis コマンドは、 3.0BSD で導入されました。この版は 4.4BSD で失われた歴史的な機能を再実装しました。