.\" Copyright (c) 1980, 1990 The Regents of the University of California. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)whereis.1 from UCB 4.2 .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .\" .\" Japanese Version Copyright (c) 2001-2021 Yuichi SATO .\" and 2021 Yoichi Chonan .\" all rights reserved. .\" Translated Sat Feb 17 03:19:58 JST 2001 .\" by Yuichi SATO .\" Updated & Modified (util-linux 2.36) Sun Mar 7 09:36:18 JST 2021 .\" by Yuichi SATO .\" and Yoichi Chonan .\" .TH WHEREIS 1 "October 2014" util\-linux "User Commands" .SH 名前 whereis \- コマンドのバイナリ、ソース、マニュアルファイルがどこにあるかを突き止める .SH 書式 \fBwhereis\fP [options] [\fB\-BMS\fP \fIdirectory\fP... \fB\-f\fP] \fIname\fP... .SH 説明 \fBwhereis\fP は、指定されたコマンド名について、 そのバイナリ、ソース、マニュアルファイルがどこにあるかを突き止める。 \fBwhereis\fP に渡された名前は、まず先行するパス名の部分が取り除かれ、 次に、末尾に \fB.\fP\fIext\fP の形を取る拡張子 (たとえば、\fB.c\fP など) があれば、それも (ひとつだけ) 取り除かれる。ソースコードコントロールシステム (SCCS) を使用したことによる \fBs.\fP という接頭辞への対応も行われる。\fBwhereis\fP は、それから、検索対象のプログラムなどを Linux の標準的な場所と、\fB$PATH\fP や \fB$MANPATH\fP によって指定されている場所で見つけ出そうとする。 .IP "[\fB訳注\fP]" 8 「\fBs.\fP という接頭辞への対応」というのは、たとえば、ls のソースファイルの探索を求められたときに、ls.c だけでなく、s.ls.c といったファイルも捜しに行くようにすることである。 .PP 検索対象の限定 (オプション \fB\-b\fP, \fB\-m\fP, \fB\-s\fP) は累加式であり、コマンドラインで後に続く \fIname\fP というパターンに適用される。 なお、検索対象の限定をやり直すと、検索の条件が再設定されることになる。たとえば、 .RS .sp \fBwhereis \-bm ls tr \-m gcc\fP .sp .RE は、"ls" と "tr" については、バイナリファイルと man ページを見つけようとし、"gcc" については、man ページだけを捜す。 .sp オプション \fB\-B\fP, \fB\-M\fP, \fB\-S\fP は、後に続く \fIname\fP というパターンに対する検索パスを設定し直す。たとえば、 .RS .sp \fBwhereis \-m ls \-M /usr/share/man/man1 \-f cal\fP .sp .RE は、"ls" の man ページは、デフォルトのパスのすべてで捜すが、"cal" については、/usr/share/man/man1 ディレクトリのみで検索する。 .SH オプション .IP \fB\-b\fP バイナリを検索する。 .IP \fB\-m\fP マニュアルを検索する。 .IP \fB\-s\fP ソースを検索する。 .IP \fB\-u\fP 検出結果が異例であるコマンド名についてのみ表示する。 ここで異例というのは、明示的に調査を要求した各タイプについて、検出結果がただ 1 つではないことである。従って、'\fBwhereis \-m \-u *\fP' というコマンドは、 カレントディレクトリのファイルのうちで、文書ファイルがまったく存在しないか、2 つ以上存在するものを求めることになる。 .RS .IP "[\fB訳注\fP]" この説明は古くなっているのではないかと思う。実際には、手元の util-linux 2.36 で '\fBwhereis -m -u *\fP' を実行しても、文書ファイルのまったく存在しないものについては、何も表示されない。2 つ以上存在するものだけが表示される。 .RE .IP "\fB\-B \fP\fIlist\fP" \fBwhereis\fP がバイナリを捜す場所を限定する。\fIlist\fP は、ホワイトスペース (訳注: スペースやタブ) で区切ったディレクトリのリストである。 .IP "\fB\-M \fP\fIlist\fP" \fBwhereis\fP がマニュアルや info 形式の文書を捜す場所を限定する。\fIlist\fP は、ホワイトスペースで区切ったディレクトリのリストである。 .IP "\fB\-S \fP\fIlist\fP" \fBwhereis\fP がソースを捜す場所を限定する。\fIlist\fP は、ホワイトスペースで区切ったディレクトリのリストである。 .IP \fB\-f\fP ディレクトリのリストは直前で終わり、ここからファイル名が始まると知らせる。\fB\-B\fP, \fB\-M\fP, \fB\-S\fP オプションの何れかを使用するときは、これを\fI使わなければならない\fP。 .IP \fB\-l\fP \fBwhereis\fP が実際に使用している検索パスのリストを表示する。\fB\-B\fP, \fB\-M\fP, \fB\-S\fP のどれも指定されていない場合にこのオプションが表示するのは、 ハードコードされたパスのうちで、\fBwhereis\fP がシステム上で見つけることのできたものである。 .TP \fB\-h\fP, \fB\-\-help\fP ヘルプを表示して終了する。 .TP \fB\-V\fP, \fB\-\-version\fP バージョン情報を表示して終了する。 .SH ファイルを検索するパス デフォルトで \fBwhereis\fP は、ハードコードされたパスを使って、ファイルを見つけようとするが、 このパスは、グロブのパターンで定義されている。また、 \fBwhereis\fP は、環境変数 \fB$PATH\fP と \fB$MANPATH\fP の内容をデフォルトの検索パスとして使用しようとする。 どんなパスが使われているかを知る一番簡単な方法は、 コマンドにリストオプションの \fB\-l\fP を追加することである。\fB\-l\fP を使えば、\fB\-B\fP, \fB\-M\fP, \fB\-S\fP の効果も表示される。 .SH 環境変数 .IP WHEREIS_DEBUG=all デバッグ出力を有効にする。 .SH 用例 \fI/usr/bin\fP にあるファイルの内、\fI/usr/man/man1\fP にマニュアルがないか、 \fI/usr/src\fP にソースのないものをすべて見つけ出す。 .IP \fBcd /usr/bin\fP .br \fBwhereis \-u \-ms \-M /usr/man/man1 \-S /usr/src \-f *\fP .IP "[\fB訳注\fP]" 上記のコマンドは、少なくとも手元の util-linux 2.36 では、指定したディレクトリにマニュアルやソースがないものの表示はせず、たとえば passwd.1.gz と passwd.1ssl.gz のように、そうしたものが 2 つ以上ある場合だけ表示するようだ。\fB-u\fP オプションの訳注も参照。なお、 当方の場合、マニュアルがあるのは、/usr/share/man/man1 である。 .SH 入手方法 この whereis コマンドは util\-linux パッケージの一部であり、Linux Kernel Archive から入手できる。