回答:
find
実際のシステムで検索します。遅くなりますが、常に最新であり、より多くのオプション(サイズ、変更時間など)があります
locate
以前に構築されたデータベースを使用します(コマンドupdatedb
)。はるかに高速ですが、「古い」データベースを使用し、名前またはその一部のみを検索します。
いずれにせよ、man find
及びman locate
更なるお手伝いをします。
updatedb
大体同じよういろいろ書いありませんfind / -type f | gzip > locate.gz
。
どちらlocate
とfind
コマンドファイルを見つけることが、彼らは非常に異なる方法で動作します。
locate
オフラインモードで動作します。
locate
、そのデータベースを使用して特定のファイルを検索します。問題は、locate
あなたがちょうどあなたが今検索したいファイル、作成した場合である見つけるためではないでしょう仕事をslocateをデータベースが最新ではありませんが。この問題を解決updatedb
するには、slocateデータベースの更新に使用できます。locate
再度実行すると、新しく作成されたファイルが見つかります。したがって、多くのLinuxシステム管理者は、cron
ジョブを使用してslocateデータベースを定期的に更新します。find
オンライン/「リアルタイム」モードで動作します。
そのため、性質に基づいて、locateはfindよりも高速ですが、findはリアルタイムです。
これがアイデアのクリアに役立つことを願っています。ではごきげんよう。:)
findを使用する代わりに、locateコマンドを使用できます。多くの場合、このコマンドはより高速で、ファイルシステム全体を簡単に検索できます。apt-getを使用してコマンドをインストールできます。
sudo apt-get update
sudo apt-get install mlocate
LocateがFindよりも高速な理由は、ファイルシステム上のファイルのデータベースに依存しているためです。データベースは通常、cronスクリプトを使用して1日に1回更新されますが、次のように入力して手動で更新できます。
sudo updatedb
今すぐこのコマンドを実行してください。最近取得または作成されたファイルを検索する場合、データベースは常に最新でなければなりません。