名前

whereis - コマンドのバイナリ、ソース、マニュアルファイルがどこにあるかを突き止める

書式

whereis [options] [-BMS directory... -f] name...

説明

whereis は、指定されたコマンド名について、 そのバイナリ、ソース、マニュアルファイルがどこにあるかを突き止める。 whereis に渡された名前は、まず先行するパス名の部分が取り除かれる。 ソースコードコントロールシステム (SCCS) を使用したことによる s. というプレフィックスへの対応も行われる。 whereis は、それから、検索対象のプログラムなどを Linux の標準的な場所と、 $PATH や $MANPATH によって指定されている場所で見つけ出そうとする。

検索対象を限定すること (オプション -b, -m, -s) は、 累積的に行われるものであり、 コマンドライン上において後に続く name というパターンに適用される。 検索対象の限定を新たに設定すると、 検索の条件が再設定される。 たとえば、

whereis -bm ls tr -m gcc

は、"ls" と "tr" については、バイナリファイルと man ページを見つけようとし、"gcc" については、man ページだけを捜す。

オプション -B, -M, -S は、後に続く name というパターンに対する検索パスを設定し直す。 たとえば、

whereis -m ls -M /usr/share/man/man1 -f cal

は、"ls" の man ページを、デフォルトのパスすべてから検索するが、 "cal" については、 /usr/share/man/man1 ディレクトリのみを検索する。

オプション

-b

バイナリを検索する。

-m

マニュアルを検索する。

-s

ソースを検索する。

-u

検出結果が異例であるコマンド名についてのみ表示する。 ここで異例というのは、明示的に調査を要求した各タイプについて、検出結果がただ 1 つではないことである。したがって 'whereis -m -u *' というコマンドは、 カレントディレクトリのファイルのうちで、文書ファイルがまったく存在しないか、2 つ以上存在するものを求めることになる。

-B list

whereis がバイナリを捜す場所を限定する。list は、ホワイトスペース (訳注: スペースやタブ) で区切ったディレクトリのリストである。

-M list

whereis がマニュアルや info 形式の文書を捜す場所を限定する。list は、ホワイトスペースで区切ったディレクトリのリストである。

-S list

whereis がソースを捜す場所を限定する。list は、ホワイトスペースで区切ったディレクトリのリストである。

-f

ディレクトリのリストは直前で終わり、 ここからファイル名が始まると知らせる。 -B, -M, -S オプションのいずれかを使用するときは、 これを用いなければならない

-l

whereis が実際に使用している検索パスのリストを表示する。 -B, -M, -S のどれも指定されていない場合に、 このオプションが表示するのは、 ハードコードされたパスのうちで、 whereis がシステム上で見つけることのできたものである。

-h, --help

ヘルプを表示して終了する。

-V, --version

バージョンを表示して終了する。

ファイルを検索するパス

デフォルトで whereis は、ハードコードされたパスを使って、 ファイルを見つけようとするが、 このパスは glob のパターンで定義されている。 また whereis は、環境変数 $PATH$MANPATH の内容をデフォルトの検索パスとして使用しようとする。 どんなパスが使われているかを知る一番簡単な方法は、 コマンドにリストオプションの -l を追加することである。 -l を使えば、-B, -M, -S の効果も表示される。

環境変数

WHEREIS_DEBUG=all

デバッグ出力を有効にする。

/usr/bin にあるファイルの内、/usr/man/man1 にマニュアルがないか、 /usr/src にソースのないものをすべて見つけ出す。

cd /usr/bin whereis -u -ms -M /usr/man/man1 -S /usr/src -f *

バグ報告

バグ報告は、 以下にある issue トラッカーを利用すること。 <https://github.com/util-linux/util-linux/issues>.

入手方法

whereis コマンドは util-linux パッケージの一部であり、 以下からダウンロードできる。 Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.