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

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

locateは、指定された検索条件に一致するファイルやディレクトリを表示します。たとえば、fingerコマンドに関連するファイルをすべて検索したいとします(fingerは、ユーザーのコンピュータを誰が使用しているのかを調べるためのコマンドです)。

locate finger

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

ティップもっとlocateを知るには
 

locateのより詳しい説明については、locateのmanページを参照してください(シェルプロンプトでman locateと入力します)。

locateコマンドを利用すればすぐに結果を得られますが、それにはデータベースの内容が最新であることが条件です。データベースは、cronを使用することにより、毎晩自動的に更新されます。cronは、バックグラウンドで実行される小さなプログラムであり、スケジュールに基づいた一定の間隔で、locateデータベースの更新などのさまざまな作業を行います。

ティップもっとcronを知るには
 

cronは、スケジュールに基づいて一定の間隔で作業を実行するデーモンです。デーモンはバックグラウンドで作業を行います。cronのmanページを参照するには、シェルプロンプトでman cronと入力してください。

ユーザーのマシンに複数のオペレーティングシステムがインストールされていて、それらを切り替えて使用している場合(Red Hat Linuxを停止してリスタートします)、または一日の終わりにマシンをシャットダウンしている場合には、cronslocateデータベース(ファイルの場所を登録するために使用)を更新する機会がほとんどありません。

データベースを手作業で更新するには、rootとしてログインし(シェルプロンプトからsuと入力してから、rootパスワードを入力します)、updatedbと入力してください。

updatedb

数分後には、slocateデータベースは最新の状態になっています。

注意anacronによる自動更新
 

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

詳しい説明については、anacronのmanページまたはinfoページを参照してください(コマンドラインからman anacronまたはinfo anacronと入力します)。