WHEREIS(1)

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

書式
whereis [-abmqsux] [-BMS dir ... -f] program ...

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

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

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

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

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

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

-a  要求された各タイプで最初に合致するものを報告する代りに、 合致するものすべてを報告します。

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

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

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

-q  (“寡黙”) 。 通常の出力行の前に付くユーティリティ名の出力を抑制します。 シェルコマンド行のバッククォート置換で使うと便利かもしれません。 使用例 を参照してください。

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

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

-x  ソースディレクトリを検索する際に、 “高価” なツールを使用しません。 通常は、ソースディレクトリリストのすべての第 1 階層のサブディレクトリを 検索しても見付からなかった場合、 whereis は代りに locate(1) がエントリを見付けるように依頼します。 この処理はより長い時間を費しますので、 -x で無効化できます。

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

ls(1) のソースコードディレクトリに移動します。

    cd `whereis -sq ls`

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

歴史
whereis ユーティリティは、 3.0BSD で導入されました。この版は 4.4BSD で失われた歴史的な機能を再実装しました。

作者
whereis コマンドのこの実装は、 Jörg Wunsch が記述しました。

バグ
whereis ユーティリティのこの再実装は、歴史的バージョンのバグとは互換性がありません。 しかしながら、 FreeBSD 2.2 から FreeBSD 4.5 の間に出荷されたバージョンとは互換であると信じられています。

whereis ユーティリティは、 -a オプション指定時には、無関係なソースエントリを表示する場合があります。