GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come utilizzare il comando locate in Linux

Introduzione

Il locate command è un'utilità Unix utilizzata per trovare rapidamente file e directory. Il comando è un'alternativa più comoda ed efficiente a trova comando, che è più aggressivo e richiede più tempo per completare la ricerca.

Di fronte a find , il locate comando non esegue la ricerca nell'intero filesystem, ma esamina un database di file regolarmente aggiornato nel sistema. Pertanto, la ricerca viene completata molto più velocemente.

In questo tutorial imparerai a installare e utilizzare locate comando in Linux.

Prerequisiti

  • Un sistema che esegue Linux.
  • Un account con privilegi di amministratore.

Come installare localizzare

A seconda della distribuzione Linux in uso, locate il pacchetto potrebbe non essere preinstallato.

Per verificare se locate è installato, immettere:

locate

Se find è installato sulla tua distribuzione, il comando stampa il seguente output:

Per questo tutorial, abbiamo utilizzato Ubuntu 20.04, che non viene fornito con locate utility preinstallata. In questo caso, il messaggio di output è:

Installa locate su Ubuntu e Debian

Segui i passaggi seguenti per installare locate su Ubuntu o Debian:

1. Aggiorna il repository del pacchetto:

sudo apt update 

2. Installa locate pacchetto eseguendo:

sudo apt install mlocate

Installa locate su CentOS e Fedora

Segui i passaggi seguenti per installare locate su CentOS o Fedora:

1. Aggiorna il repository del pacchetto:

sudo yum -y update

2. Esegui il comando seguente per installare locate :

sudo yum install mlocate

Come utilizzare il comando locate in Linux con esempi

Il locate comando trova i file in Linux usando il nome del file. find viene utilizzato per ottenere risultati istantanei ed è un'utilità essenziale quando la velocità è una priorità.

Il comando esegue la ricerca utilizzando un database contenente bit di file con i percorsi corrispondenti nel sistema. Tuttavia, locate non verifica la presenza di file al di fuori del database, il che significa che non segnala i file creati dopo l'ultimo aggiornamento del database.

La sintassi per locate il comando è:

locate [options] [pattern]

Alcune opzioni utili sono:

Opzione Descrizione
-A, --all Visualizza solo le voci che corrispondono a tutti i pattern specificati.
-b, --basename Corrisponde solo al nome di base rispetto ai modelli specificati.
-c, --count Emette il numero di voci corrispondenti invece dei nomi dei file.
-d, --database [DBPATH] Sostituisce il database predefinito con [DBPATH] - un elenco di nomi di file di database separati da due punti.
-e, --existing Visualizza solo le voci per i file esistenti.
-L, --follow Utilizzare per verificare se esistono file se il --existing l'opzione è specificata. Il --follow opzione omette collegamenti simbolici interrotti.
-i, --ignore-case Ignora la distinzione tra maiuscole e minuscole.
-p, --ignore-spaces Ignora la punteggiatura e gli spazi durante la corrispondenza dei modelli.
-t, --transliterate Utilizza iconv traslitterazione per ignorare accenti e segni diacritici quando si abbinano i modelli.
-l, --limit, -n [LIMIT] Utilizzare per uscire correttamente dopo aver trovato un [LIMIT] numero di voci.
-0, --null Separa le voci di output utilizzando il ASCII NUL carattere invece di stampare ogni voce in una nuova riga.
-S, --statistics Stampa le statistiche su ciascun database letto sull'output standard invece di cercare i file.
-q, --quiet Nasconde tutti gli errori riscontrati durante la lettura e l'elaborazione dei database.
-r, --regexp [REGEXP] Utilizzato per cercare un'espressione regolare di base [REGEXP] . La specifica di questa opzione non consente [pattern] argomenti.
-w, --wholename Corrisponde solo all'intero nome del percorso rispetto ai modelli specificati.
-h, --help Visualizza il file della guida con un elenco di tutte le opzioni disponibili.

Le sezioni seguenti elencano utili esempi di utilizzo di locate comando.

Cerca un file

Il modo più semplice per utilizzare locate il comando è quello di inserire il pattern che vuoi cercare.

Ad esempio, cerca tutti i file che contengono mysql pattern nel nome del file eseguendo il comando seguente:

locate mysql

L'output elenca tutti i percorsi assoluti per i file contenenti mysql modello nel nome del file.

Formatta l'output

Quando il risultato della ricerca è un lungo elenco di file, invia tramite pipe locate comando in less per una migliore leggibilità e uno scorrimento più semplice.

Ad esempio:

locate mysql | less

Spostati nell'output premendo la Barra spaziatrice per andare avanti, b per invertire, o Q per uscire.

Mostra i file esistenti

Mentre il locate il comando recupera i risultati quasi istantaneamente, la velocità ha un costo. A volte i file eliminati vengono visualizzati nei risultati a causa del database che locate reads non è stato aggiornato da quando i file sono stati eliminati. Inoltre, i nuovi file non vengono visualizzati nei risultati se sono stati creati dopo l'ultimo aggiornamento del database.

Elimina queste carenze utilizzando il -e opzione per cercare nel filesystem e includere solo i file esistenti nei risultati.

Ad esempio:

Nell'esempio sopra, abbiamo prima eliminato un file utilizzando rm . Ricerca del file con locate mostra la posizione del file eliminato. Tuttavia, quando si utilizza il -e opzione, find non mostra risultati poiché il file è stato rimosso.

Conta i file esistenti

Stampa il numero di file corrispondenti invece dei nomi dei file e dei loro percorsi assoluti specificando il -c opzione.

Ad esempio:

locate -c mysql

L'output contiene solo il numero di file che contengono mysql stringa nel nome del file. Tutte le altre informazioni vengono eliminate.

Disabilita gli errori durante la ricerca

Il -q l'opzione indica find per eliminare eventuali errori che potrebbero apparire durante la lettura di un database.

Nell'esempio seguente, locate utilizza un database diverso per eseguire la ricerca. Il comando prima segnala che il database non esiste.

Tuttavia, specificando il -q l'opzione elimina l'errore:

Limita il numero di risultati di ricerca

Limita il numero di risultati di ricerca con il -n opzione per evitare risultati ridondanti. Ad esempio, limita la ricerca a soli dieci risultati inserendo:

locate *.txt -n 10

L'output mostra solo i primi dieci file che corrispondono al modello di ricerca.

Ignora i file con distinzione tra maiuscole e minuscole

Per impostazione predefinita, find esegue una ricerca con distinzione tra maiuscole e minuscole durante l'elaborazione della query di input. Istruisci locate per ignorare la distinzione tra maiuscole e minuscole utilizzando il -i opzione.

Nell'esempio seguente, abbiamo prima cercato file_esempio in minuscolo e find non ha mostrato alcun output perché il nome del file contiene lettere maiuscole.

La ricerca del file in maiuscolo mostra la posizione del file:

Eseguendo la stessa ricerca in minuscolo e specificando il -i l'opzione ignora la distinzione tra maiuscole e minuscole e mostra il file nell'output:

Cerca un file con un nome esatto

Per impostazione predefinita, find analizza il modello di input come una stringa e mostra tutti i file contenenti il ​​modello di input all'interno del nome file. Ad esempio, cercando mysql mostra tutti i file che contengono mysql string come parte del nome del file, invece dei file il cui nome completo è mysql .

Cerca un file con un nome esatto utilizzando il -r (espressione regolare) opzione.

Ad esempio:

L'output mostra solo i file il cui nome file corrisponde completamente al modello di input.

Voci di output separate con ASCII NUL

Le voci di output che locate i prodotti sono separati da una nuova riga (\n ) carattere. Usa il -0 opzione per separare le voci con ASCII NUL invece del carattere di nuova riga.

Ad esempio:

locate -0 apache

Il separatore predefinito non è più il carattere di nuova riga e le voci sono separate da ASCII NUL .

Visualizza le statistiche del database

Il locate Il comando consente di visualizzare varie statistiche del database, incluso il numero di directory e file archiviati nel database. Per visualizzare le statistiche del database, specifica il -S opzione:

locate -S

L'output indica quale database locate sta attualmente utilizzando, il numero di directory e file e la dimensione del database in byte.

Aggiorna database di localizzazione

Il database che locate utilizza gli aggiornamenti automatici ogni giorno alla stessa ora. Per aggiornare manualmente il database e assicurarsi che l'indice del file sia corretto, eseguire il comando seguente:

sudo updatedb

Il completamento del processo di aggiornamento richiede alcuni secondi, a seconda del numero di file nel sistema.

Scegli un database mlocate diverso

Istruisci locate per utilizzare un database diverso da quello predefinito specificando il -d opzione. La funzione è utile quando si cercano risultati non presenti nel mlocate predefinito banca dati.

Per specificare un database diverso, utilizza la seguente sintassi:

locate -d [new database path] [pattern]

Ignora i segni diacritici e le differenze di accento

Il locate Il comando utilizza lettere normali per la corrispondenza dei risultati, il che significa che i nomi di file contenenti lettere con segni diacritici non vengono visualizzati nei risultati della ricerca. Usa il -t opzione per istruire locate ignorare tali differenze tra le lettere e includere i segni diacritici nei risultati.

Ad esempio:

Alla ricerca del nice-cafe pattern non mostra risultati nell'esempio precedente perché il nome del file contiene un segno diacritico. Cercando di nuovo lo stesso pattern e specificando il -t l'opzione mostra il nice-café di conseguenza il percorso del file, ignorando il segno diacritico nel nome del file.


Ubuntu
  1. Come usare il comando Linux grep

  2. Come usare il comando cronologia in Linux

  3. Come utilizzare il comando Apt-Get in Linux

  4. Come utilizzare il comando id in Linux

  5. Come utilizzare il comando "schermo" in Linux

Come utilizzare il comando Linux Top

Come utilizzare il comando fd sul sistema Linux

Come utilizzare il comando wget in Linux?

Come usare il comando xargs in Linux?

Come utilizzare il comando RPM in Linux

Come utilizzare il comando which in Linux