GNU/Linux >> Linux の 問題 >  >> Linux

Linuxのlocateコマンドとfindコマンドの違いは何ですか

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 コマンドを実行する必要があります。

# updatedb
Linux / UNIX :特定の権限セットを持つファイルを検索するための find コマンドの例


Linux
  1. Linux の rpm コマンドで使用される -i オプションと -U オプションの違いは何ですか?

  2. Linuxで同時コマンドを実行する際の&(アンパサンド)と&&(ダブルアンパサンド)の違いは何ですか?

  3. env と set (Mac OS X または Linux) の違いは何ですか?

  1. Unix、Linux、BSD、GNU の違いは何ですか?

  2. Linux では、free コマンドによって報告されるバッファとキャッシュの違いは何ですか?

  3. unlink と rm の違いは何ですか?

  1. Linuxコンテナとイメージの違いは何ですか?

  2. Linuxのバッファメモリとキャッシュメモリの違いは何ですか?

  3. Linux での「検索」と「検索」の違いは何ですか?