Come trovare un file per nome su Linux dal terminale

Con find e locate, e quando usare ciascuno.

Facile 1 min di lettura Pubblicato il 2026 Di Equipo SolucionaPC
find / -iname "*rapporto*" 2>/dev/null

-iname cerca senza distinguere maiuscole e minuscole (più flessibile di -name). Il 2>/dev/null nasconde gli avvisi di "permesso negato" nelle cartelle di sistema a cui non hai accesso, lasciando solo i risultati utili.

Più veloce per l'uso quotidiano: locate

sudo apt install mlocate
sudo updatedb
locate rapporto

locate è molto più veloce di find perché consulta un indice già costruito, invece di scorrere il disco in quel momento — ma proprio per questo non trova i file creati dopo l'ultimo aggiornamento di quell'indice (con updatedb, che viene eseguito automaticamente ogni giorno).

Consiglio: usa find se ti servono risultati garantiti all'istante (inclusi file creati un minuto fa); usa locate per ricerche rapide quotidiane dove non importa che l'indice abbia qualche ora.

Domande frequenti

Perché locate non trova un file che ho appena creato?

Perché locate consulta un indice che si aggiorna periodicamente (di solito una volta al giorno), non in tempo reale. Esegui 'sudo updatedb' manualmente per forzare un aggiornamento immediato.

Perché find mostra tanti errori di 'permesso negato'?

Perché cerca di cercare in cartelle di sistema a cui il tuo utente non ha accesso. Aggiungere '2>/dev/null' alla fine del comando nasconde quegli avvisi, lasciando solo i risultati utili.

Condividi: