ファイルとディレクトリの検索

よくあることですが、あるファイルやディレクトリが確かに存在することはわかっているのに、どこにあるかがわからなくなることがあります。ファイルやディレクトリの検索は、locate コマンドを使用するとより簡単になります。

locate は、設定した検索基準に一致するファイルやディレクトリを表示します。たとえば、finger コマンドに関連するファイルをすべて検索したいとします。

locate finger

locate コマンドは、データベースを使用して、文字列 finger を含むファイルおよびディレクトリがあるかどうかをチェックします。

もっと locate を知るには: locate のより詳しい説明については、man ページをお読みください (シェルプロンプトで [man locate] と入力します)。

これは手ごろなコマンドで処理も高速です -- ただし、データベースが最新になっていれば、という条件がつきます。データベースは cron により夜間処理で自動的に更新されます。cron とは何でしょうか?これは locate データベースの更新などのさまざまなタスクを実行するために、スケジュールされた間隔をおいて、バックグラウンドで定期的に動作する、小規模のプログラムです。

もっと cron を知るには: cronデーモンです。デーモンはバックグラウンドでタスクを処理します。cron man ページを参照するには、シェルプロンプトで [man cron] と入力してください。

それでは、以下の場合はどうでしょうか。

この場合、ファイルの場所を分類するデータベースである slocatecron が更新する機会がほとんどないことになります。しかし、それならば手動でこのデータベースを更新すればよいわけです。やってみましょう。

まず、su で root になります (プロンプトで [su] と入力し、root パスワードを入力します)。

次に、シェルプロンプトで次のように入力します。

updatedb

数分で slocate データベースが最新の状態になります。