LinuCレベル1 Version 4.0 101試験の例題と解説
104.7 システムファイルの確認と適切な位置へのファイルの配置
■トピックの概要
このトピックの内容は以下の通りです。
<104.7 システムファイルの確認と適切な位置へのファイルの配置>
重要度 2
<説明>
典型的なファイルの位置とディレクトリの分類を含む、FHS(Filesystem Hierarchy Standard:ファイルシステム階層標準)について熟知している。
<主要な知識範囲>
・FHSにおけるファイルの正しい位置を理解している
・Linuxシステムで、ファイルやコマンドを見つける
・FHSで定義されている重要なファイルやディレクトリの位置や目的を知っている
<重要なファイル、用語、ユーティリティ>
・find
・locate
・updatedb
・whereis
・which
・type
・/etc/updatedb.conf
■例題
ifconfigコマンドのコマンドのパス、マニュアルファイルやソースコードが置かれている場所を検索したい場合に実行するコマンドを選択してください。
1. $ locate ifconfig
2. $ which ifconfig
3. $ find ./ -name "ifconfig"
4. $ whereis ifconfig
※この例題は実際の試験問題とは異なります。
解答と解説
答えは「4. $ whereis ifconfig」です。
whereisコマンドの主なオプションは以下の通りです。
-b … バイナリファイルのみを検索
-m … マニュアルファイルのみを検索
-s … ソースファイルのみを検索
実際にコマンドを実行してみると以下のような結果が出力されます。
-------------------------------------------------------------------------
$ whereis ifconfig
ifconfig: /usr/sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
-------------------------------------------------------------------------
この場合、/usr/sbin/ifconfigがバイナリファイル、
/usr/share/man/man8/ifconfig.8.gzがマニュアルファイルのパスになります。
このため「4. $ whereis ifconfig」が正解となります。
その他の選択肢の解説は以下の通りです。
[1. $ locate ifconfig]
locateコマンドは、指定されたパターンに一致するファイルを検索するコマンドです。選択肢にある「$ locate ifconfig」を実行した場合、ifconfigという名のファイルやディレクトリを検索します。
[2. $ which ifconfig]
whichコマンドは、コマンドの絶対パスを表示するコマンドです。問題文にあるソースコードやマニュアルファイルは検索しません。また、検索は環境変数PATHに基づいて行われます。そのため、環境変数PATHに設定されていないディレクトリは検索されません。
[3. $ find ./ -name "ifconfig"]
findコマンドは、指定したディレクトリ以下から検索条件にマッチするファイルやディレクトリを検索するコマンドです。
選択肢にある「$ find ./ -name "ifconfig"」を実行した場合、カレントディレクトリ以下からifconfigというファイルやディレクトリを検索します。
問題の選択肢にもあるように、さまざまな検索コマンドが準備されています。目的に応じて適切な検索コマンドが使えるようにしておきましょう。
■例題作成者
株式会社デージーネット OSS研究室 橋本知里