LinuCレベル1 101試験の例題と解説

1.02.4ファイルの配置と検索

LinuCレベル1 101試験の出題範囲から「1.02.4 ファイルの配置と検索」についての例題を解いてみます。
ここでは、whereisコマンドについて確認しておきましょう。

Linucレベル1 101試験 出題範囲


例題

以下のコマンドを実行した場合、出力できない情報を1つ選択してください。

 $ whereis bash
  1. コマンドのバイナリファイルの場所
  2. コマンドのソースファイルの場所
  3. コマンドのマニュアルファイルの場所
  4. コマンドの設定ファイルの場所

※この例題は実際の試験問題とは異なります。


解答と解説

正解は、「4.コマンドの設定ファイルの場所」です。

whereisコマンドは、コマンドのバイナリファイル、ソースファイル、およびマニュアルページファイルの場所を特定するためのコマンドです。

whereisコマンドの書式は以下の通りです。

 whereis [オプション] [コマンド名]

主なオプションを以下に記載します。

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

-m
マニュアルファイルを検索します。

-s
ソースファイルを検索します。

-u
通常とは異なるエントリを持つコマンド名のみを表示します。
バイナリファイル、マニュアルファイル、ソースファイルの各タイプのエントリが一つだけでない場合、表示されます。

-B [ディレクトリ]
バイナリファイルを検索する場所を、ディレクトリで指定します。

-M [ディレクトリ]
マニュアルおよびInfo形式のドキュメントを検索する場所を、ディレクトリで指定します。

-S [ディレクトリ]
ソースファイルを検索する場所を、ディレクトリで指定します。

-f
ディレクトリの終了を示し、ファイル名の開始を示します。(「-B ディレクトリ -f コマンド名」のように使用)
-B, -M, -Sの各オプションが使用される場合に必ず使用する必要があります。

-l
whereisが使用している有効な検索パスのリストを出力します。

以下、使用例を記載します。

"ls"のバイナリファイル、ソースファイル、マニュアルファイルを全て検索する場合

$ whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

"ls"のバイナリファイルのみを検索する場合

$ whereis -b ls
ls: /usr/bin/ls

-bオプションを使用します。

"ls"のマニュアルファイルのみを検索する場合

$ whereis -m ls
ls: /usr/share/man/man1/ls.1.gz

-mオプションを使用します。

"ls"のソースファイルのみを検索する場合

$ whereis -s ls
ls:

-sオプションを使用します。
注:ファイルが見つからない場合、出力は空になります。

"/usr/share/man/man1"ディレクトリ内でのみ、"ls"のマニュアルファイルの検索を行う場合

$ whereis -M /usr/share/man/man1 -f ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

-Mオプションを使用します。

whereisが使用している有効な検索パスのリストを出力する場合

$ whereis -l
bin: /usr/bin
bin: /usr/sbin
bin: /usr/lib
bin: /usr/lib64
bin: /etc
bin: /usr/games
bin: /usr/local/bin
bin: /usr/local/sbin
bin: /usr/local/etc
:

-lオプションを使用します。

また、コマンド毎にオプションを複数指定することも可能です。

"ls"と"tr"のバイナリおよびマニュアルページを検索し、"gcc"のマニュアルページのみを検索する場合

$ whereis -bm ls tr -m gcc
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
tr: /usr/bin/tr /usr/share/man/man1/tr.1.gz
gcc: /usr/share/man/man1/gcc.1.gz /usr/share/info/gcc.info.gz

"ls","tr"には、-b,mオプションを使用します。
"gcc"には、-mオプションのみを使用します。

選択肢の解説は以下です。

問題文のコマンドを実行すると以下のように出力されます。

$ whereis bash
bash: /usr/bin/bash /usr/share/man/man1/bash.1.gz /usr/share/info/bash.info.gz

whereisコマンドは、コマンドのバイナリファイル、ソースファイル、およびマニュアルページファイルの場所を特定するためのコマンドです。

1.bashコマンドのバイナリファイルの場所
2.bashコマンドのソースファイルの場所
3.bashコマンドのマニュアルファイルの場所

よって、「4.bashコマンドの設定ファイルの場所」は whereisコマンドでは出力できない情報であるため、正解です。

今回は、whereisコマンドのサブコマンドについて確認を行いました。
whereisコマンドは、特定のコマンドがどのディレクトリに存在するか等、素早く検索することができるため、使い方を理解し有効に活用しましょう。


例題作成者

株式会社デージーネット 経営企画室営業SEチーム 宮本 郁実

ページトップへ