回答:
find / -name example.filename
locate filename
はるかに速くよりもfind
、場合あなたはサービスを見つけ実行している、そしてそれは、一度に存在していたファイル見つかっupdatedb
(cronジョブの制御下befor usualy夜)最後に実行します。
あなたはできる実行updatedb
手で、それさえも遅いよりも示唆cletus、およびルートが必要です。たくさんの新しいものをインストールした後、私は時々データベースを手動で更新します。find
find /
1週間に2回以上、または大きなツリーで作業していることに気付いた場合locate
は、サービスを実行する価値がありlocate(1)
ます。
sudo periodic weekly
はlocate
データベースを更新します。必要なファイルが含まれている可能性のあるインストールまたはダウンロードの後に実行します。
locate
他の人が述べたlocate
ように、ファイルを見つけるための高速な方法です。このコマンドは、ファイル名とフォルダー名の事前にコンパイルされたインデックスを使用します。ファイルシステムをクロールするのではなく、この名前のデータベースが検索されます。
locate example.filename
大文字と小文字を区別しないようにするには、を追加し-i
ます。
locate -i eXAmPle.FileName
locate
データベースを更新するが使用するデータベースはlocate
最新のものでなければなりません。目的のファイルを含むインストールまたはダウンロードを行った後、locate
データベースを更新する必要があります。
locate
データベースには、最終的にあなたのFreeBSDシステムによって自動的に更新されます。このタスクを含む家事の毎週のセットがあります。これらの雑用は/etc/periodic/weekly/310.locate
スクリプトにリストされています。
locate
データベースの早期更新を強制する最も簡単で安全な方法は、今すぐ毎週の雑用を強制することです。
sudo periodic weekly
または、すべての定期的な雑用を強制することもできます。新しいFreeBSDシステムをセットアップした直後にこれを行うことをお勧めします。
sudo periodic daily weekly monthly
他の手段を使用してlocate
データベースを更新すると、安全でないというメッセージが表示され、システムのすべてのファイルの名前がFreeBSDシステムのすべてのユーザーに明らかになる場合があります。periodic
ルートを使用すると、この問題を回避できます。
ロケートデータベースが最新の場合、次のようにします。
locate example.filename
時々する
find . | grep example.filename
ただし、おそらく非常に非効率的です。