plocate
指定されたパターンに一致するシステム上のすべてのファイルを検索します。これはlocate
です 投稿リストに基づいて、はるかに小さなインデックスではるかに高速な検索を提供します。
Linuxでいくつかのファイルを検索する必要がある場合は、通常、find
を使用します。 またはlocate
コマンド。これで、plocate
。
plocate
検索文字列内のトリグラム(3バイトの組み合わせ)に転置インデックスを作成することで機能します。これにより、すべてのエントリを直線的にスキャンするのではなく、候補のセットを非常に小さなリストにすばやく絞り込むことができます。
それに影響を与えた投稿リストにちなんで名付けられたplocate
mlocate
のドロップイン置換として作成されました 。それでもupdatedb
を使用できますが データベースを作成するには、plocate
plocate-build
を使用することもできます インデックスを作成するためのユーティリティ。
mlocate
とは異なり 、複数の文字列を検索する場合は、plocate
1つの文字列にさえ一致するファイルではなく、すべての検索文字列に一致するファイルのみを返します。
plocate
の速度を表示するには コマンドは、開発者がツールのホームページにこのベンチマークを表示し、 plocate
わずか数ミリ秒で2700万から2つのファイルを見つけることができます :
このツールはすぐに人気を博しました。たとえば、Fedora36はplocate
の使用を計画しています。 locate
の新しいプロバイダーとして ファイルシステム上のファイルを検索するためのコマンド。
Debian 11 Bullseye以降、Debian 10 Busterバックポート、Ubuntu 21.04、21.10以降:
sudo apt install plocate
Arch Linuxとその派生物:
sudo pacman -S plocate
Fedora:
sudo dnf install plocate
plocateの使用方法
これで、plocate
の使用を開始できます 。まず、データベース(ファイルインデックス)を作成する必要があります:
sudo updatedb
plocate
を起動します ファイルを検索するコマンドは非常に簡単で簡単です。たとえば、backup.py
という名前のファイルを検索するには 次のように入力します:
plocate backup.py
見つからないファイルがある場合は、次の2つの原因が考えられます。
1.まず、データベースが最近更新されたことを確認します。ほとんどのユーザーは、plocateのupdatedb
を使用したいと思うでしょう。 。
データベースを定期的に更新するサービスとタイマーがあります。これを有効にすると、次の方法でサービスが自動的にトリガーされます。
sudo systemctl enable plocate-updatedb.timer
sudo systemctl start plocate-updatedb.timer
2.ファイルが表示されないもう1つの理由は、通常、権限です。ルートとしてファイルを見つけることができるかどうかを確認します。見つけられる場合は、ルートからずっと下のディレクトリへのアクセス権がないことが問題である可能性があります。
plocate
の詳細 Linuxでコマンドを実行するには、そのマニュアルページを参照してください。