Linux でファイルを見つけるための 2 つの一般的なコマンドは、find です。 見つける .ファイル システムのサイズと検索の深さによっては、find コマンドですべてのデータをスキャンするのに時間がかかる場合があります。たとえば、ファイルシステム全体で data.txt という名前のファイルを検索すると:
# find / -name data.txt
ほとんどの場合、返されるまでに時間がかからない場合でも、数分程度かかります。より迅速な方法は、locate コマンドを使用することです:
# locate data.txt
ただし、この効率には代償が伴います。locate の出力でレポートされるデータは、find コマンドでレポートされるデータほど新鮮ではありません。デフォルトでは、システムは updatedb を実行します これは、システム ファイルのスナップショットを 1 日に 1 回取得し、locate はこのスナップショットを使用して、どのファイルがどこにあるかをすばやく報告します。ただし、最近のファイルの追加または削除 (24 時間以内) はスナップショットに記録されず、場所が不明です。
find コマンドには多くのオプションがあり、非常に構成可能です。検索の深さと幅を減らし、より効率的にする方法はたくさんあります。
locate は以前に構築されたデータベースを使用します。データベースが更新されていない場合、locate コマンドは出力を表示しません。データベースを同期するには、updatedb コマンドを実行する必要があります。
# updatedbLinux / UNIX :特定の権限セットを持つファイルを検索するための find コマンドの例