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

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

find 実際のシステムで検索します。低速ですが、常に最新であり、より多くのオプション (サイズ、変更時間など) があります

locate 以前に構築されたデータベースを使用します (コマンド updatedb )。はるかに高速ですが、「古い」データベースを使用し、名前またはその一部のみを検索します。

いずれにせよ、man findman locate さらに役立ちます。


locate の両方 そして find コマンドはファイルを見つけますが、まったく異なる方法で動作します。

locate オフライン モードで動作します:

  • 簡単に説明すると、slocate と呼ばれる Unix システムのファイル インデックス データベース Unix システムに同梱されているすべてのファイルの場所を一覧表示します。 locate を実行すると 、そのデータベースを使用して特定のファイルを検索します。 locate の問題 検索したいファイルを作成したばかりの場合、 locate slocate が原因で動作しません データベースが最新ではありません。この問題を解決するには、updatedb を使用できます。 slocate を更新するには データベース。 locate を実行しています もう一度、新しく作成されたファイルを見つけます。したがって、多くの Linux システム管理者は cron を使用しています。 slocate を定期的に更新するジョブ データベース。

find オンライン/「リアルタイム」モードで動作します。

  • 実際にすべてのディレクトリを検索して、指定された特定のファイルを見つけ、各ファイルを 1 つずつ調べます。したがって、多くの I/O 呼び出しが必要です。

したがって、その性質に基づいて、locate は find よりも高速ですが、find はリアルタイムであることは明らかです。

これがアイデアを明確にするのに役立つことを願っています。ではごきげんよう。 :)


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

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

  3. Cのstrtok_rとstrtok_sの違いは何ですか?

  1. Linux プラットフォーム ドライバーと通常のデバイス ドライバーの違いは何ですか?

  2. fsck と e2fsck の違いは何ですか?

  3. adduser と useradd の違いは何ですか?

  1. ls と l はどう違いますか?

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

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