オリジナル問題 LinuCレベル1試験 問題 問9
ファイル・ディレクトリの操作と管理/ファイルの配置と検索findコマンドとlocateコマンドの違いに関する説明として、正しいものをすべて選べ。
出典:オリジナル問題 LinuCレベル1試験 問題 問9
- Afindは実行時にディレクトリツリーを実際にたどって検索するため、最新の状態を反映する
- Blocateは事前に作成されたデータベースを検索するため、findより高速なことが多い
- Clocateのデータベースは、通常updatedbコマンド等で定期的に更新される
- Dfindコマンドは、事前に構築されたデータベースを参照することで高速に検索する
正解:A、B、C
解説
findは実行のたびにディレクトリツリーを実際にたどって検索するため、最新のファイル状態を反映しますが、ツリーが大きいと時間がかかります。locateは事前に構築されたデータベースを検索するため高速ですが、データベースはupdatedbコマンド等によって定期的に(多くの場合cronで日次等)更新されるため、直近に作成・削除されたファイルが反映されていないことがあります。findがデータベースを参照して高速化しているという説明は誤りです。
選択肢ごとの解説
- A正しい。findは実行時にディレクトリツリーを実際にたどるため、最新の状態を反映します。
- B正しい。locateは事前構築のデータベースを検索するため、一般にfindより高速です。
- C正しい。locateのデータベースはupdatedb等によって定期的に更新されます。
- D誤り。事前に構築されたデータベースを参照して高速に検索するのはlocateの特徴で、findは実際にディレクトリツリーをたどるため、この説明はfindとlocateが逆になっています。