よくあることですが、あるファイルやディレクトリが確かに存在することはわかっているのに、どこにあるかがわからなくなることがあります。ファイルやディレクトリの検索は、locate コマンドを使用するとより簡単になります。
locate は、設定した検索基準に一致するファイルやディレクトリを表示します。たとえば、finger コマンドに関連するファイルをすべて検索したいとします。
locate finger
locate コマンドは、データベースを使用して、文字列 finger を含むファイルおよびディレクトリがあるかどうかをチェックします。
もっと locate を知るには: locate のより詳しい説明については、man ページをお読みください (シェルプロンプトで [man locate] と入力します)。
これは手ごろなコマンドで処理も高速です -- ただし、データベースが最新になっていれば、という条件がつきます。データベースは cron により夜間処理で自動的に更新されます。cron とは何でしょうか?これは locate データベースの更新などのさまざまなタスクを実行するために、スケジュールされた間隔をおいて、バックグラウンドで定期的に動作する、小規模のプログラムです。
もっと cron を知るには: cron はデーモンです。デーモンはバックグラウンドでタスクを処理します。cron man ページを参照するには、シェルプロンプトで [man cron] と入力してください。
それでは、以下の場合はどうでしょうか。
複数のオペレーティングシステムをマシンで使用していて、それらを切り替えて使用している、すなわち、Red Hat Linux システムを停止してリスタートすることになる。
毎日業務終了時にマシンをシャットダウンし、電源を落としている。
この場合、ファイルの場所を分類するデータベースである slocate を cron が更新する機会がほとんどないことになります。しかし、それならば手動でこのデータベースを更新すればよいわけです。やってみましょう。
まず、su で root になります (プロンプトで [su] と入力し、root パスワードを入力します)。
次に、シェルプロンプトで次のように入力します。
updatedb
数分で slocate データベースが最新の状態になります。