Ricerca nel sito web

Il comando plocate come alternativa più veloce da individuare in Linux


Il comando plocate trova tutti i file nel sistema che corrispondono al modello specificato, fornendo ricerche molto più veloci su un indice più piccolo.

Quando devi cercare alcuni file in Linux, in genere potresti utilizzare i comandi find o locate. Quindi ora hai una nuova alternativa chiamata plocate.

plocate funziona creando un indice invertito sui trigrammi (combinazioni di tre byte) nelle stringhe di ricerca, che gli consente di restringere rapidamente l'insieme di candidati a un piccolo elenco invece di scansionare linearmente ogni voce.

Prende il nome dagli elenchi di inserzioni che lo hanno ispirato, il comando plocate mira a essere un sostituto immediato di mlocate. Sebbene possa ancora utilizzare updatedb per creare il proprio database, plocate può anche utilizzare l'utilità plocate-build per creare un indice.

A differenza di mlocate, quando vengono cercate più stringhe, plocate restituisce solo i file che corrispondono a tutte le stringhe di ricerca, anziché qualsiasi file che corrisponde anche a una sola stringa.

Per mostrare quanto sia veloce il comando plocate, lo sviluppatore offre questo benchmark sulla home page dello strumento in cui plocate può trovare due file su 27 milioni in pochi millisecondi:

Lo strumento ha rapidamente guadagnato popolarità. Ad esempio, Fedora 36 prevede di utilizzare locate come nuovo fornitore del comando locate per trovare file sui file system.

Installare

Debian 11 Bullseye e versioni successive, backport Debian 10 Buster, Ubuntu 21.04, 21.10 e 22.04:

sudo apt install plocate

Arch Linux e i suoi derivati:

sudo pacman -S plocate

Fedora:

sudo dnf install plocate

Come utilizzare collocare

Ora puoi iniziare a utilizzare plocate. Per prima cosa, devi creare il suo database (indice dei file):

sudo updatedb

Lanciare il comando plocate per cercare un file è semplice. Ad esempio, per cercare un file denominato backup.py digiterai:

plocate backup.py

Se ci sono file che non riesci a trovare, ci sono due probabili colpevoli:

1. Innanzitutto, controlla che il database sia stato aggiornato di recente. La maggior parte degli utenti vorrà utilizzare updatedb di plocate.

C'è un servizio e un timer per aggiornare regolarmente il database. Puoi abilitarlo e attiverà automaticamente il servizio con:

sudo systemctl enable plocate-updatedb.timer
sudo systemctl start plocate-updatedb.timer

2. L'altro motivo per cui un file non viene mostrato sono in genere i permessi. Controlla se riesci a trovare i file come root e, se puoi, il problema è molto probabile che non disponi dei diritti di accesso alla directory dalla root.

Per ulteriori informazioni sul comando plocate in Linux, consulta la relativa pagina del manuale. 

Articoli correlati: