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.

Supponiamo che sia stato creato uno script nella home directory.

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

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.

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.

-a
switch 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. 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

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.
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.

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.

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.