LinuCレベル1 101試験の例題と解説
1.02.4ファイルの配置と検索
LinuCレベル1 101試験の出題範囲から、「1.02.4ファイルの配置と検索」についての例題を解いてみます。
例題
以下のコマンドの説明として、誤っているものを1つ選択してください。
- 「locate -c test」を実行すると、検索された結果の数が表示される。
- 「locate -e test」を実行すると、存在するファイルやディレクトリのみを検索する。
- 「locate -b test.db」を実行すると、デフォルト以外のデータベースファイルを指定して検索する。
- 「locate -q test」を実行するとデータベースファイルの読み込みエラーを出力せずに検索する。
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「3. 「locate -b test.db」を実行すると、デフォルト以外のデータベースファイルを指定して検索する。」です。
「locate」は、データベースを参照してファイルやディレクトリを検索し標準出力に表示させるコマンドです。あらかじめファイルやディレクトリの情報をデータベース化することによって、より高速な検索を可能としています。
データベースは「updatedb」コマンドを利用して作成します。任意のファイルに書き出すことも可能です。
locateコマンドの書式は以下の通りです。
locate オプション 検索文字列
オプションは以下の通りです。
-b | : | 上位ディレクトリを検索せず、ファイルや ディレクトリを検索する |
-c | : | 検索された結果の数を表示する |
-d | : | デフォルト以外のデータベースを指定する |
-e | : | 存在するファイルやディレクトリのみを検索する |
-i | : | 大文字小文字を区別しないで検索する |
-l | : | 検索した結果を指定した数まで表示する |
-o | : | 検索結果を改行せず表示する |
-q | : | データーベースファイルの読み込みエラーを出力しない |
-r | : | 正規表現を利用して検索する |
-w | : | パス全体で検索する |
実行例として、「locate test」を実行すると、データベースに記録されているファイルやディレクトリでtestの文字列が含まれているものを出力します。
$ locate test
・
・省略
・
/home/test
/home/test/.bash_logout
/home/test/.bash_profile
/home/test/.bashrc
・
・省略
・
選択肢の解説は以下です。
1. 「locate -c test」を実行すると、検索された結果の数が表示される。
正しい説明をしているため不正解です。
$ locate -c test
366
2. 「locate -e test」を実行すると、存在するファイルやディレクトリのみを検索する。
正しい説明をしているため不正解です。
$ locate -e test
・
・省略
・
/home/test
/home/test/.bash_logout
/home/test/.bash_profile
/home/test/.bashrc
・
・省略
・
3. 「locate -b test.db」を実行すると、デフォルト以外のデータベースファイルを指定して検索する。
-bはデフォルト以外のデータベースファイルを指定して検索するオプションではなく、上位ディレクトリを検索せず、ファイルやディレクトリを検索するオプションです。そのため間違った説明をしているため、正解です。
$ locate -b test
・
・省略
・
/home/test
・
・省略
・
4. 「locate -q test」を実行するとデータベースファイルの読み込みエラーを出力せずに検索する。
正しい説明をしているため不正解です。
$ locate -q test
・
・省略
・
/home/test
/home/test/.bash_logout
/home/test/.bash_profile
/home/test/.bashrc
・
・省略
・
locateコマンドを利用するとデータベースさえ作成しておけば、findコマンド等と比べても高速なファイル・ディレクトリの検索が可能です便利なコマンドですので、使い方を確認しておきましょう。
例題作成者
株式会社デージーネット OSS研究室 勝山 遼