Linux Commands · 7 min read · Sep 16, 2025
16 Esempi Pratici del Comando Find di Linux per Principianti

Find è uno dei comandi Linux più utilizzati e offre una miriade di funzionalità sotto forma di opzioni da riga di comando. In questo tutorial, rivolto ai principianti, discuteremo l’uso di base del comando find e alcune delle utili opzioni da riga di comando che offre.
NOTA: A meno che non sia specificato diversamente, utilizzeremo i seguenti file per tutti i nostri esempi relativi al comando find in questo tutorial.
1. Come elencare tutti i file nella directory corrente e nelle sue sottodirectory
Il comando find ti consente di elencare rapidamente tutti i file nella directory corrente e nelle sue sottodirectory. Per questo, tutto ciò che devi fare è eseguire il comando senza argomenti o opzioni.
findEcco l’output nel nostro caso:

Naturalmente, dovrai fornire il percorso completo se la directory di cui vuoi elencare i contenuti non è la tua directory corrente.
2. Come cercare un file per nome
Se vuoi, puoi utilizzare il comando find per cercare un file specifico per nome. L’opzione da riga di comando -name ti consente di farlo. Ecco la sintassi:
find [dir-path] -name [filename]Ad esempio, il seguente comando cercherà nella directory corrente un file chiamato ‘testfile1.txt.’
find . -name testfile1.txtEcco l’output
Allo stesso modo, puoi cercare il file in un’altra directory. Se la directory è una sottodirectory della tua directory di lavoro attuale, allora non devi fare nulla poiché il comando find cerca automaticamente in tutte le sottodirectory.
Ma se è una directory separata, dovrai fornire il percorso completo. Ad esempio, il seguente comando cercherà il file nella directory home dell’utente:
find /home -name testfile1.txt3. Come cercare file di un tipo particolare
Il comando find ti consente anche di cercare file dello stesso tipo in una directory (e nelle sue sottodirectory). Ad esempio, il seguente comando cercherà tutti i file .txt nella tua directory di lavoro attuale.
find . -name "*.txt"Nel caso tu non lo sappia, * è un carattere jolly. Per ulteriori informazioni sui caratteri jolly, vai qui.
4. Come eseguire una ricerca senza distinzione tra maiuscole e minuscole
Per impostazione predefinita, il comando find esegue una ricerca sensibile alle maiuscole (tratta i caratteri maiuscoli e minuscoli come diversi). Ma se vuoi, puoi forzare il comando a eseguire una ricerca senza distinzione tra maiuscole e minuscole. Puoi farlo utilizzando l’opzione da riga di comando -iname.
find -iname [filename]Ad esempio,
find -iname testfile1.txtEcco l’output
5. Come visualizzare solo i nomi che non corrispondono al modello di ricerca
Se vuoi, puoi anche chiedere al comando find di stampare i nomi dei file che non corrispondono al modello di ricerca (noto anche come ricerca invertita). Puoi accedere a questa funzione utilizzando l’operatore ! o -not.
Ad esempio
find . -not -name "*.txt"Ecco l’output
Come puoi vedere, tutti i file con estensione diversa da .txt sono prodotti nell’output.
6. Come limitare la ricerca a livello(i) di directory
Il comando find consente anche di limitare la ricerca a una certa profondità di directory. Un’opzione da riga di comando che ti consente di farlo è -maxdepth.
Ad esempio, considera la seguente struttura di directory:

Ora supponi che tu voglia che find cerchi solo fino alla sottodirectory ‘find’ (significa che dovrebbe ignorare la sottodirectory ‘howtoforge’), quindi puoi usare il seguente comando:
find . -maxdepth 3 -name "*.txt"Qui ‘-maxdepth 3’ costringe ‘find’ a entrare e cercare solo tre livelli, con il primo livello che è la tua directory di livello superiore (o la directory di lavoro corrente).
Ecco l’output del comando:

Come maxdepth, c’è un’altra opzione chiamata mindepth (uso: ‘-mindepth [N]’). Quando utilizzata, questa opzione costringe il comando find a scendere ‘N’ livelli prima di iniziare l’operazione di ricerca.
Ad esempio,
find . -mindepth 3 -name "*.txt"Quindi, solo le directory ‘find’ e quelle sottostanti vengono cercate.
Su linee simili, se vuoi cercare un file .txt nelle sottodirectory che si trovano tra il livello 2 e 4, puoi usare il seguente comando.
find -mindepth 2 -maxdepth 4 -name "*.txt"7. Visualizza tutti i file vuoti
Se vuoi, puoi utilizzare il comando find per visualizzare tutti i file vuoti in una particolare directory (e nelle sue sottodirectory). Questo può essere fatto utilizzando l’opzione -empty.
Ad esempio, per visualizzare tutti i file vuoti nella tua directory di lavoro corrente, usa il seguente comando:
$ find . -empty8. Come cercare file appartenenti a un gruppo particolare
Il comando find ti consente anche di cercare file appartenenti a un gruppo particolare - l’opzione -group ti consente di farlo. Ad esempio, il seguente comando elencherà tutti i file - presenti nella directory di lavoro corrente e nelle sue sottodirectory - che appartengono al gruppo ‘howtoforge’.
find . -group howtoforge -name "*.txt"Ecco l’output del comando sopra nel mio caso:
9. Come cercare file posseduti da un particolare utente
Il comando find ti consente anche di cercare file in base alla proprietà - l’opzione -user ti consente di farlo. Ad esempio, il seguente comando visualizzerà tutti i file .txt (presenti nella directory corrente) posseduti dall’utente ‘himanshu’:
find . -user himanshu -name "*.txt"10. Come cercare file recentemente modificati
Il comando find ti consente di cercare file recentemente modificati. Questo può essere fatto utilizzando l’opzione -mmin. L’opzione richiede di passare un numero che sarà trattato come numero di minuti.
Quindi, ad esempio, se vuoi cercare file .txt (nella tua directory corrente) i cui dati sono stati modificati 1 minuto fa, puoi usare il seguente comando:
find . -mmin 1 -name "*.txt"11. Come cercare file che sono stati modificati più recentemente di un file
Sì, il comando find ti consente anche di cercare file che sono stati modificati più recentemente di un file particolare. Questa funzione può essere accessibile utilizzando l’opzione -newer che richiede di passare un nome di file (contro il quale vuoi confrontare).
Ecco un esempio:
find . -newer ./examples/find/howtoforge/old.txt -name "*.txt"12. Come visualizzare solo i nomi delle directory nell’output
C’è anche un’opzione da riga di comando che consente al comando find di visualizzare solo i nomi delle directory nell’output. L’opzione in questione è -type e devi passare d come valore.
Ad esempio:
find -type dEcco l’output del comando sopra nel nostro caso:
Oltre a d, ci sono diverse altre lettere che possono essere passate come valore all’opzione -type. Per saperne di più, vai alla pagina man del comando find.
13. Come cercare file in base ai loro numeri inode
Puoi anche passare un numero inode al comando find e chiedergli di trovare il nome del file corrispondente (se presente). Questa funzione può essere accessibile tramite l’opzione -inum che richiede un numero inode come valore.
Di seguito è riportato un esempio:
Suggerimento: Puoi trovare il numero inode di un file utilizzando il comando ‘ls -li’.
14. Come cercare file in base al loro ultimo accesso
Il comando find ti consente anche di cercare file in base a quando sono stati ultimi accessi - puoi chiedere allo strumento di visualizzare file(i) che sono stati ultimi accessi ‘n’ minuti fa. Questa funzione può essere accessibile utilizzando l’opzione da riga di comando -amin.
Ad esempio, il seguente comando cerca file .txt nella directory corrente che sono stati accessi 1 min fa:
find -amin 1 -name "*.txt"15. utilizzare espressioni regolari (regex) con find
Il comando find supporta anche l’uso di espressioni regolari. Queste possono essere specificate con l’opzione da riga di comando -regex.
find ./ -type f -regex '\.\/test[1-2]\.txt'Questa regex trova tutti i file che iniziano con la parola test, poi contengono i numeri tra 1 e 2, e poi terminano con .txt. È importante considerare nell’espressione regolare che “./“ è parte del file e non solo il nome del file.

16. cercare file per dimensione con il comando find
Con l’opzione da riga di comando -size puoi cercare file per dimensione. Ad esempio, se vuoi trovare file più grandi di 100 MB, usa il seguente comando:
find ./ -type f -size +100MPuoi utilizzare le seguenti unità di misura:
K = kilobyte
M = megabyte
G = gigabyte
Quindi puoi facilmente trovare file di grandi dimensioni in Linux.
Conclusione
Gli esempi menzionati in questo tutorial dovrebbero darti una buona idea di come funziona il comando find a un livello base, così come alcune delle utili opzioni da riga di comando che offre. Prova questi esempi sul tuo sistema e consulta anche la pagina man dello strumento.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.