Ricerca nel sito web

10 utili esempi pratici di comandi "locate" per principianti di Linux


Una delle esperienze più odiose che la maggior parte dei nuovi utenti della piattaforma Linux deve affrontare è l'incapacità di trovare il mezzo più semplice e allo stesso tempo più efficace per cercare file sul proprio sistema.

Linux, come quasi ogni altro sistema operativo, utilizza diversi meccanismi per rispondere alle query di ricerca degli utenti. Due delle utilità di ricerca di file più popolari accessibili agli utenti sono chiamate trova e localizza.

Ora, è importante notare che entrambi i processi di ricerca funzionano estremamente bene, ma ciò nonostante, il centro di questo articolo sarà più sull'utilità localizza, che è la più conveniente delle due in quanto utilizza modalità più efficienti modi per elaborare rapidamente le query immesse dagli utenti.

L'utilità locate funziona meglio e più velocemente della sua controparte find perché invece di cercare nel file system quando viene avviata una ricerca di file (qualcosa che fa find) individua cercherà in un database. Questo database contiene bit e parti di file e i percorsi corrispondenti nel sistema.

Ecco dieci semplici comandi di localizzazione per aiutarti a diventare più produttivo con la tua macchina Linux.

1. Utilizzando il comando localizza

Lanciare il comando di localizzazione per cercare un file è piuttosto semplice e diretto. Tutto quello che devi fare è digitare:


$ locate LAMP-Setup.odt

/home/tecmint/LAMP-Setup.odt
/home/tecmint/TecMint.com/LAMP-Setup.odt

2. Limita le query di ricerca a un numero specifico

Puoi limitare i risultati della tua ricerca a un numero richiesto per evitare ridondanza con i risultati della ricerca utilizzando il comando -n.

Ad esempio, se desideri solo 20 risultati dalle tue query, puoi digitare il seguente comando:


$ locate "*.html" -n 20

/home/tecmint/.config/google-chrome/Default/Extensions/aapocclcgogkmnckokdopfmhonfmgoek/0.9_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/aohghmighlieiainnegkcijnfilokake/0.9_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/felcaaldnbdncclmgdcncolpebgiejap/1.1_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/kbfnbcaeplbcioakkpcpgfkobkghlhen/14.752.848_0/forge.html
/home/tecmint/.config/google-chrome/Default/Extensions/kbfnbcaeplbcioakkpcpgfkobkghlhen/14.752.848_0/src/popup.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/additional-feature.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/background.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/edit.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/help.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/options.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/popup.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/purchase.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/upload.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/oauth2/oauth2.html
/home/tecmint/.config/google-chrome/Default/Extensions/nmmhkkegccagdldgiimedpiccmgmieda/1.0.0.2_0/html/craw_window.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_route_details.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/feedback.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/devices.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/index.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/offers.html

I risultati mostreranno i primi 20 file che terminano con .html.

3. Visualizza il numero di voci corrispondenti

Se vuoi visualizzare il conteggio di tutte le voci corrispondenti del file “tecmint”, utilizza il comando locate -c.


$ locate -c [tecmint]*

1550

4. Ignora le uscite di individuazione con distinzione tra maiuscole e minuscole

Per impostazione predefinita, locate è configurato per elaborare le query distinguendo tra maiuscole e minuscole, il che significa che TEXT.TXT ti indirizzerà a un risultato diverso rispetto a text.txt .

Per fare in modo che il comando localizza ignori la distinzione tra maiuscole e minuscole e mostri i risultati sia per le query in maiuscolo che in minuscolo, inserisci i comandi con l'opzione -i.


$ locate -i *text.txt*

/home/tecmint/TEXT.txt
/home/tecmint/text.txt

5. Aggiorna il database mlocate

Poiché il comando locate si basa su un database chiamato mlocate. Il suddetto database deve essere aggiornato regolarmente affinché l'utilità di comando funzioni
in modo efficiente.

Per aggiornare il database mlocate, utilizzi un'utilità chiamata updatedb. Va notato che avrai bisogno dei privilegi di superutente affinché funzioni correttamente, è necessario che sia eseguito come privilegi root o sudo.


sudo updatedb

6. Visualizza solo i file presenti nel sistema

Quando disponi di un database mlocate** aggiornato, il comando locate produce comunque risultati di file le cui copie fisiche vengono eliminate dal tuo sistema.

Per evitare di vedere risultati di file non presenti nel tuo computer al momento dell'inserimento del comando, dovrai utilizzare il comando locate-e. Il processo cerca nel tuo sistema per verificare l'esistenza del file che stai cercando anche se è ancora presente nel tuo mlocate.db.


$ locate -i -e *text.txt*

/home/tecmint/text.txt

7. Voci di output separate senza nuova riga

Il separatore predefinito del comando localizza è il carattere (\\n) di nuova riga. Ma se preferisci utilizzare un separatore diverso come ASCII NUL, puoi farlo utilizzando l'opzione della riga di comando -0.


$ locate -i -0 *text.txt*

/home/tecmint/TEXT.txt/home/tecmint/text.txt

8. Controlla il tuo database di localizzazione

Se hai dubbi sullo stato corrente del tuo mlocate.db, puoi facilmente visualizzare le statistiche del database di localizzazione utilizzando il comando -S.


$ locate -S

Database /var/lib/mlocate/mlocate.db:
	32,246 directories
	4,18,850 files
	2,92,36,692 bytes in file names
	1,13,64,319 bytes used to store database

9. Elimina i messaggi di errore in Individua

Tentare costantemente di accedere al database di localizzazione a volte produce messaggi di errore non necessari che indicano che non disponi dei privilegi richiesti per avere accesso root a mlocate.db, perché sei solo un utente normale e non il superutente richiesto.

Per eliminare completamente questi messaggi, usa il comando -q.


locate "\*.dat" -q*

10. Scegli una posizione mlocate diversa

Se stai inserendo query alla ricerca di risultati non presenti nel database mlocate predefinito e desideri risposte da un diverso mlocate.db situato da qualche altra parte nel tuo sistema, puoi puntare il individuare il comando in un diverso database mlocate in una parte diversa del sistema con il comando -d.


locate -d <new db path> <filename>

Il comando locate potrebbe sembrare una di quelle utility che fa tutto ciò che gli chiedi senza troppa fretta ma in realtà, affinché il processo mantenga la sua efficienza, il comando mlocate.db ha bisogno di essere arricchito di informazioni di tanto in tanto. In caso contrario, il programma potrebbe risultare un po' inutile.