過去問ドリル

オリジナル問題 LinuCレベル1試験 問題 問9

ファイル・ディレクトリの操作と管理/ファイルの配置と検索

findコマンドとlocateコマンドの違いに関する説明として、正しいものをすべて選べ。

出典:オリジナル問題 LinuCレベル1試験 問題 問9

正解:A、B、C

解説

findは実行のたびにディレクトリツリーを実際にたどって検索するため、最新のファイル状態を反映しますが、ツリーが大きいと時間がかかります。locateは事前に構築されたデータベースを検索するため高速ですが、データベースはupdatedbコマンド等によって定期的に(多くの場合cronで日次等)更新されるため、直近に作成・削除されたファイルが反映されていないことがあります。findがデータベースを参照して高速化しているという説明は誤りです。

選択肢ごとの解説

  • A正しい。findは実行時にディレクトリツリーを実際にたどるため、最新の状態を反映します。
  • B正しい。locateは事前構築のデータベースを検索するため、一般にfindより高速です。
  • C正しい。locateのデータベースはupdatedb等によって定期的に更新されます。
  • D誤り。事前に構築されたデータベースを参照して高速に検索するのはlocateの特徴で、findは実際にディレクトリツリーをたどるため、この説明はfindとlocateが逆になっています。
LinuCレベル1の過去問を演習モードで解く