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

Locateコマンドを忘れて、plocateははるかに高速な代替手段です

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でコマンドを実行するには、そのマニュアルページを参照してください。


Linux
  1. Linuxでmoveコマンドを使用する5つの方法

  2. Linuxでの解凍コマンドの実用例

  3. LinuxでRsyncコマンドを使用するにはどうすればよいですか?

  1. Linux の find コマンドを使用してファイルを検索する方法

  2. Linux での locate コマンド

  3. nm :オブジェクト ファイル内のシンボルを一覧表示するコマンド。

  1. 組み込みのsplitコマンドを使用してファイルをチャンクに分割します

  2. Rmコマンドが発行されたときにファイルはどこに移動しますか?

  3. STDOUT を使用しない tee コマンドの代替