Utilizzare i comandi find, locate, which e whereis per cercare file in Linux

Bg1

Ci sono alcuni modi per trovare e localizzare file dal terminale in Linux, e find, locate, which e whereis sono alcuni dei comandi comunemente usati per farlo. Diamo un’occhiata a questi quattro comandi di ricerca, alle loro somiglianze e differenze.

1. find

L’approccio diretto per cercare file all’interno di una directory specificata è utilizzare il comando find. Se la directory in cui eseguire la ricerca non è specificata esplicitamente, la ricerca verrà eseguita nella directory corrente.

Lo screenshot seguente mostra come, all’interno della directory corrente (.), venga eseguita una ricerca per tutti i nomi di file che terminano con l’estensione .txt.

Compare Find

La ricerca può anche essere eseguita in base ai timestamp, ai permessi dei file, alla dimensione dei file, al tipo di file, al proprietario del file, ecc. Le espressioni regolari possono essere utilizzate per controllare i parametri di ricerca. Maggiori istruzioni dettagliate sul comando find possono essere trovate qui.

2. locate

Questo comando è un altro modo per trovare file per nome. Il comando precedente cerca nella directory specificata e poi fornisce i risultati all’utente. Questo strumento esegue la ricerca contro un database chiamato “mlocate.db,” che si trova in “/var/lib/mlocate/mlocate.db.” Questo database viene aggiornato ogni mattina dall’utilità cron.

Il comando viene eseguito più rapidamente di find perché la ricerca avviene contro un database esistente che ha già curato l’elenco di tutti i file e le directory sul sistema.

locate seguito dal nome del file visualizza il nome del percorso assoluto in cui esiste quel file.

Supponiamo che sia stato creato uno script nella directory home.

Se tentiamo di localizzare lo script appena creato e copiato, non otterremo alcun output.

locate myscript

Poiché cron aggiorna solo il database al mattino, qualsiasi file aggiunto al sistema durante il giorno richiede un aggiornamento manuale del database. Questo può essere fatto utilizzando il comando updatedb.

sudoupdatedb

Se tentiamo di “localizzare” lo script personalizzato, sarà in grado di localizzare il file.

3. which

Dopo aver discusso i comandi per cercare file, passiamo a un comando che può aiutare a cercare il percorso assoluto degli eseguibili sul sistema: which.

Un eseguibile/script/binario può essere presente in più posizioni nel sistema. which cerca nelle directory specificate nelle variabili di ambiente $PATH e $MANPATH per l’esistenza dell’eseguibile specificato.

Senza alcun switch, which visualizza il primo percorso assoluto trovato per un eseguibile.

Lo switch -a visualizza tutte le occorrenze dei percorsi assoluti trovati per l’eseguibile specificato.

I percorsi assoluti per più eseguibili possono essere trovati specificando gli eseguibili uno dopo l’altro.

4. whereis

whereis è un altro comando ed è utilizzato per ottenere tre informazioni riguardanti un eseguibile:

  • percorso assoluto del binario
  • percorso assoluto in cui esiste il codice sorgente di quel binario sul sistema
  • percorso assoluto del manuale che esiste per quel binario

Per “bzgrep,” il binario esiste in “/bin,” e il manuale esiste in “/usr/share/man/man1.” Il suo codice sorgente non esiste sul sistema.

whereis può essere istruito a cercare solo il percorso assoluto del binario utilizzando lo switch -b. La ricerca può essere eseguita solo nelle directory elencate dopo lo switch -B. I nomi dopo -f specificano tutti i binari per i quali è necessario ottenere informazioni.

Allo stesso modo, la ricerca può essere limitata solo al codice sorgente o solo ai manuali, utilizzando gli switch -s e -m. -S e -M seguiti dai nomi delle directory specificano le directory in cui cercare il codice sorgente e i manuali rispettivamente.

Lo switch -l fornirà un elenco dettagliato dei percorsi assoluti di tutte le directory utilizzate da whereis per eseguire la ricerca.

Compare Which Listing

Conclusione

Non mancano strumenti per trovare e localizzare file nel terminale. Spero che ora abbiate una buona idea sui quattro strumenti di ricerca utili nei sistemi Linux. Se avete bisogno di ulteriori dettagli sul loro utilizzo, potete consultare le loro pagine di manuale per una documentazione dettagliata.