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

ファイルやディレクトリが有ることは判っているのに、 どこに有るかが正確に判らないことがあります。 locateコマンドを使用してファイルやディレクトリ を検索します。

locateコマンドは指定された検索条件 に一致するファイルやディレクトリを表示します。例えば、 名前にfingerと言う単語が付くすべての ファイルを検索したい場合には、以下の様に入力します。

locate finger

locateコマンドはデータベースを 使用して、文字列fingerを含むファイルや ディレクトリがあるかどうかをチェックします。検索の結果は finger.txtと呼ばれるファイル、 pointerfinger.txtと呼ばれるファイル、 fingerthumbnailsという名前の ディレクトリを含むことになります。locate についてもっと知りたい場合は、locateの manページをお読みください(シェルプロンプトで man locateとタイプします)。

locateコマンドを使用すれば、 すぐに結果を得られますが、それはデータベースが最新の状態 であることが必要です。データベースは、cron を通して、毎晩自動的に更新されます。 Cronは、バックグランドで実行される小さなプログラム で定期的なスケジュールでさまざまな作業(locate データベースを更新など)をします。

ティップヒント
 

Cronは スケジュールに基づいて一定の間隔で作業を実行する デーモンです。 cronmanページ を読むには、シェルプロンプトでman cronと とタイプしてください。cronについての詳細は Red Hat Linux カスタマイズガイドを参照してください。

cronはファイルの場所をカタログ化するのに使用される slocateのデータベースを定期的に更新します。 複数の オペレーティングシステムを切り替えたり、一日の終りにマシンを停止している 状態では、cronが実行するデータベースの自動更新が邪魔を されてしまいます。

データベースを手動で更新する場合は、シェルプロンプトで rootとして ログイン(suと入力して、rootパスワードを入力)して から、updatedbコマンドを入力します。

しばらくすると、locateコマンドで使用されている slocateデータベースが最新の状態に更新されます。

注意注意
 

anacronを使用すると周期を日数単位 で指定して、定期的にシステムにコマンドを実行させることができます。 cronとは異なり、マシンが常に稼働しているとの想定は していません。したがって、24時間連続稼働のマシンでなくとも、通常は cronで制御されるような毎日、毎週、及び毎月行われる 作業を制御することができます。

詳細については、anacronのmanページ (コマンドラインでman anacron とタイプします)、 またはRed Hat Linux カスタマイズガイドを参照してください。