【 whereis 】コマンド――コマンド本体と関連ファイルを検索する:Linux基本コマンドTips(95)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「whereis」コマンドです。
本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、コマンド本体と関連ファイル(マニュアルファイルやソースファイル)を検索する「whereis」コマンドです。
whereisコマンドとは?
「whereis コマンド名」で、コマンド本体およびマニュアルファイル(本連載第86回参照)とソースファイルのパスを表示します。
似たような機能を持つコマンドとしては、「which」コマンドと「type」コマンドがあります。whichはコマンド本体のパスを表示するコマンドで、typeは「このコマンド名でbashが何を実行するか」を表示するコマンドです。
- [参考]PATHを理解して、コマンドの在りかを探してみよう(連載:“応用力”をつけるためのLinux再入門 第8回)
- [参考]typeコマンド――シェルがどのコマンドを起動しているかを知る(本連載 第13回)
whereisコマンドの主なオプション
whereisコマンドの主なオプションは次の通りです。
オプション | 意味 |
---|---|
-b | バイナリファイル(コマンド本体やライブラリなど)だけを探す |
-m | マニュアルファイルだけを探す |
-s | ソースファイルだけを探す |
-u | 通常とは異なるエントリを探す。検索結果でバイナリファイル、マニュアルファイル、ソースファイルそれぞれが「1つではなかったもの」(0または複数見つかったもの)が表示される |
-B ディレクトリ | バイナリファイルを探すディレクトリを指定する(フルパスで指定。複数ある場合は空白で区切る) |
-M ディレクトリ | マニュアルファイルを探すディレクトリを指定する(フルパスで指定。複数ある場合は空白で区切る) |
-S ディレクトリ | ソースファイルを探すディレクトリを指定する(フルパスで指定。複数ある場合は空白で区切る) |
-f | 「-B」「-M」「-S」オプションの指定時にディレクトリリストを終了し、この後はファイル名の指定であることを示す(「-B ディレクトリ -f コマンド名」のように使用) |
-l | 検索しているパスを表示する |
コマンド本体と関連ファイルのパスを表示する
「whereis コマンド名」で、コマンドの本体やライブラリなどのバイナリファイル、マニュアルファイル、ソースファイルのパスが表示されます。
バイナリファイルだけを検索したい場合は「-b」オプション、マニュアルファイルだけの場合は「-m」オプション、ソースファイルだけの場合は「-s」オプションを指定します。
コマンド実行例
whereis コマンド名
(指定したコマンド本体と関連ファイルのパスを表示する)(画面1)
検索対象ディレクトリを確認、変更する
whereisコマンドは、環境変数PATHや環境変数MANPATH、「/etc/man_db.conf」ファイルの設定などに従って動作します。
whereisコマンドで検索対象となるパスは、「-l」オプションで確認できます。バイナリファイルの検索ディレクトリは「bin:」、マニュアルファイルは「man:」、ソースファイルは「src:」で示されます。なお、基本的な検索対象ディレクトリは、「man whereis」でも確認できます。
コマンド実行例
whereis -l
(検索対象のディレクトリを確認する)(画面2)
他のディレクトリを検索対象にしたい場合は、「-B」「-M」「-S」オプションを使用します。この場合、検索対象を指定する前に「-f」オプションを追加する必要があることに注意してください。
例えば、「/usr/local/src」からもソースファイルを検索したい場合は、「whereis -S /usr/local/src/* -f コマンド名」のように指定します。
パスは全て“絶対パス”(「/」から始まるパス)で指定し、複数のディレクトリを指定する場合は“空白”で区切ります。同様に、バイナリファイルの検索パスは「-B パス」、マニュアルの検索パスは「-M パス」で指定します。
なお、検索結果が多すぎて読みにくい場合は、「tr」コマンド(本連載第52回参照)で空白を「改行(\n)」に置き換えるとよいでしょう。
コマンド実行例
whereis -S /usr/local/src/* -f コマンド名
(ソースファイルの検索パスに「/usr/local/src」を追加する(画面3)
whereis -s -S /usr/local/src/* -f コマンド名
(ソースファイルの検索パスに「/usr/local/src」を追加してソースファイルのみ検索する)
筆者紹介
西村 めぐみ(にしむら めぐみ)
PC-9801N/PC-386MからのDOSユーザー。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。のち退社し、専業ライターとして活動を開始。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.