noble (1) whereis.1.gz

Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all bug

名前

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

書式

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

説明

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

       [訳注]  「s.     という接頭辞への対応」というのは、たとえば、ls    のソースファイルの探索を求められたとき
               に、ls.c だけでなく、s.ls.c といったファイルも捜しに行くようにすることである。

       検索対象の限定 (オプション -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 つ以上存在する
              ものを求めることになる。

              [訳注] この説明は古くなっているのではないかと思う。実際には、手元の util-linux 2.36 で '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 は、ハードコードされたパスを使って、ファイルを見つけようとするが、  このパスは、グロ
       ブのパターンで定義されている。また、  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 *

       [訳注] 上記のコマンドは、少なくとも手元の util-linux 2.36  では、指定したディレクトリにマニュアルやソース
              がないものの表示はせず、たとえば passwd.1.gz と passwd.1ssl.gz のように、そうしたものが 2 つ以上あ
              る場合だけ表示するようだ。-u     オプションの訳注も参照。なお、     当方の場合、マニュアルがあるの
              は、/usr/share/man/man1 である。

入手方法

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