Cercare i file in modo efficiente è un’abilità essenziale per gli utenti, gli sviluppatori e gli amministratori di sistema di Linux. Linux mette a disposizione diversi strumenti e comandi per individuare file, directory e persino per cercare all’interno del loro contenuto.
Il comando “find” è uno degli strumenti più versatili per individuare i file in base a nomi, tipi, dimensioni, tempi di modifica e persino permessi.
Sintassi di base
a) Ricerca per nome di file
/home → Percorso di ricerca.
–name → Corrisponde al nome esatto del file(sensibile alle maiuscole).

🔹 Ricerca senza distinzione tra maiuscole e minuscole:
b) Ricerca per estensione
- -tipo f → Cerca solo file.
- Usare -type d per le directory.
c) Ricerca per dimensione
- 500M → File più grandi di 500 MB.
- –100k → File più piccoli di 100 KB.
d) Ricerca per tempo di modifica
- -mtime -7 → File modificati negli ultimi 7 giorni.
- Usare 7 per trovare i file più vecchi di 7 giorni.
e) Eseguire i comandi sui file trovati
Comprime tutti i file .log all’interno di /var/log.
f) Combinare più condizioni
Cerca i file PDF o DOCX di dimensioni superiori a 1 MB.
Ricerca più rapida con il comando “locate” ⚡ (alte prestazioni)
A differenza di“find“,“locate” utilizza un database precostituito per ricerche quasi immediate.
Installare e aggiornare il database
Utilizzo
🔹 Ricerca senza distinzione di lettere:
🔹 Limita il numero di risultati:
⚠️ Suggerimento: Eseguire sempre sudo updatedb per aggiornare il database prima della ricerca.
Ricerca all’interno dei file con grep
Se è necessario trovare modelli di testo all’interno dei file, utilizzare grep.
Ricerca di base
Trova la parola “error” all’interno di /var/log/syslog.
Ricerca ricorsiva
- –r → Ricerca ricorsiva.
- –n → Mostra i numeri di riga.
- –w → Corrisponde all’intera parola.
Ricerca con Regex
Trova i numeri di telefono nei file .txt.
Utilizzo di “whereis” e “which”
a) Individuare i binari eseguibili
Mostra le posizioni dei binari, delle pagine man e dei sorgenti.
b) Trovare il percorso esatto dell’eseguibile
Mostra il percorso completo dell’eseguibile.
Ricerca con fd – Un’alternativa moderna a find 🚀 (consigliato)
fd è un’alternativa più veloce e facile da usare a find.
Installare fd
Esempi
Percorso di ricerca predefinito: directory corrente.
Cerca i file denominati errore con estensione .log.
Trova le directory denominate “backup”.
Ricerca con fzf (Interactive Fuzzy Finder) 🔎
fzf fornisce un’interfaccia di ricerca in tempo reale.
Installare fzf
Utilizzo
- Apre un’interfaccia di ricerca interattiva.
- Iniziare a digitare per filtrare immediatamente i risultati.
Suggerimenti per le prestazioni dei file system di grandi dimensioni
Escludere le directory non necessarie:
Limitare la profondità per accelerare la ricerca:
- Usare locate invece di find quando possibile: è molto più veloce.
- Combinatelo con grep per la ricerca di contenuti in tempo reale:
Considerazioni sulla sicurezza
- Evitare l’uso di sudo a meno che non sia necessario: può esporre file sensibili.
- Limitare le ricerche con grep e locate in ambienti multiutente.
- Mantenere i permessi corretti sulle directory sensibili.
Conclusione
Linux offre strumenti potenti e flessibili per individuare file e contenuti in modo efficiente.
- Usate find per ricerche condizionali avanzate.
- Usate locate per le ricerche istantanee.
- Usate grep per la ricerca all’interno dei file.
- Provate strumenti moderni come fd e fzf per migliorare l’usabilità e le prestazioni.
Per ambienti di grandi dimensioni, la combinazione di find, grep e ricerche indicizzate come locate offre il miglior equilibrio tra velocità e precisione.

