Utilizzo dei comandi find, locate, which e whereis per la ricerca di file in Linux

Esistono alcuni modi per trovare e individuare i 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. trovare

L’approccio diretto alla ricerca di file all’interno di una directory specificata consiste nell’utilizzare l’estensione find comando. Se la directory per eseguire la ricerca non è specificata in modo esplicito, la ricerca verrà eseguita sulla directory corrente.

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

La ricerca può essere eseguita anche in base a timestamp, autorizzazioni file, dimensioni file, tipo file, proprietario file, ecc. È possibile utilizzare espressioni regolari per controllare i parametri di ricerca. Istruzioni più dettagliate sul find comando può essere trovato qui.

2. individuare

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

Il comando viene eseguito più rapidamente di find perché la ricerca è su 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.

Confronta Trova file

Supponiamo che sia stato creato uno script nella home directory.

Confronta Individua script personalizzato

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

locate myscript
Confronta Trova Nessuno

Poiché cron aggiorna il database solo al mattino, tutti i file vengono aggiunti al sistema durante il giorno, quindi il database deve essere aggiornato manualmente. Questo può essere fatto usando il updatedb comando.

sudo updatedb

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

Confronta Trova Aggiornato

3. quale

Dopo aver discusso i comandi per cercare i 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 d’ambiente $PATH e $MANPATH l’esistenza dell’eseguibile specificato.

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

Confronta Quale Lessfile

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

Confronta quale Alessfile

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

Confronta quale 2

4. dov’è

whereis è un altro comando e viene utilizzato per ottenere tre informazioni relative a un eseguibile:

  • percorso assoluto del binario
  • percorso assoluto in cui esiste il codice sorgente di quel binario nel sistema
  • percorso assoluto del manuale che esiste per quel binario
Confronta Dov'è

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

In relazione :  Come usare Gnome System Monitor su Linux

whereis può essere istruito a cercare solo il percorso assoluto del file binario utilizzando -b interruttore. La ricerca può essere effettuata solo nelle directory elencate di seguito -B interruttore. Nomi dopo -f specificare tutti i file binari per i quali è necessario ottenere le informazioni.

Confronta Whereis Switchsearch

Allo stesso modo, la ricerca può essere ristretta al solo codice sorgente o solo ai manuali, utilizzando -s e -m interruttori. -S e –M seguito dai nomi delle directory specifica le directory in cui cercare rispettivamente il codice sorgente e i manuali.

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

Confronta quale elenco

Conclusione

Non mancano gli strumenti per trovare e individuare i file nel terminale. Spero che ora tu abbia una buona idea sui quattro utili strumenti di ricerca sui sistemi Linux. Se hai bisogno di maggiori dettagli sul loro utilizzo, puoi controllare le loro pagine di manuale per una documentazione dettagliata.

Divya Lakshmanan

Divya divide il suo tempo tra la speculazione sull’esistenza degli alieni e la scrittura delle sue scoperte tecniche.