Comando find · 2 min read · Sep 14, 2025
Cercare File E Cartelle Con Il Comando find
Cercare File E Cartelle Con Il Comando find
In questo tutorial esamineremo il comando find e come puoi usarlo rapidamente per localizzare file nel tuo filesystem. Find è un’utilità potente in grado di localizzare file ovunque nel tuo sistema, comprese le unità montate e la memoria rimovibile, elaborando espressioni regolari e persino eseguendo altri comandi su quei file. Fortunatamente, sono necessarie solo poche semplici opzioni per fornire alla maggior parte degli utenti tutta la capacità di cui hanno bisogno.
Il formato del comando find è:
find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path…] [expression]
Le opzioni H, L e P specificano se seguire i collegamenti simbolici. debugopts esiste per fornire informazioni di debug, e -0level fornisce ottimizzazione della query. Per questo tutorial e per la maggior parte del tuo utilizzo di find, dovremo solo specificare il percorso e l’espressione.
Il Percorso
Il percorso specifica dove cercare nel filesystem. Find cercherà in questo percorso e in tutte le sottodirectory. Per cercare nell’intero filesystem, specifica ‘/‘ come percorso.
Espressione
l’espressione è composta da tre parti: OPZIONI, TEST e AZIONI.
OPZIONI
-help Questo stamperà un breve riepilogo dell’uso del comando find
find -help-mount Questa opzione dice a find di non cercare directory su altri filesystem, come unità USB montate e altri volumi che possono essere più lenti da cercare.
TEST
La sezione dei test dice a find cosa cercare.
-executable Questo dice a find di restituire solo file che sono eseguibili e directory. È utile per trovare una directory di cui conosci il nome (combinare con il flag -file d) o un eseguibile (combinare con il flag -file f).
-name/-iname Questo fornisce la stringa del nome del file (o della directory) che stai cercando. Dovrebbe essere racchiuso tra virgolette doppie (“). I metacaratteri (*',?’, e []') possono essere usati per parti del nome. -name rende la ricerca sensibile al maiuscolo e -iname la rende insensibile al maiuscolo. -regex usa questo invece di -name per cercare un nome utilizzando un'espressione regolare in stile Emacs. -type Usa questo per specificare se stai cercando un file ( -type f) o una directory ( -type d). #### AZIONI Questa sezione viene utilizzata per eseguire azioni sui risultati del comando find. -exec Esegui un comando su ciascun file trovato con il nome del file passato al comando. ### Sopprimere Errori Normalmente, quando cerchi in tutte le directory con il tuo account utente non root, riceverai molti errori come: "find:/var/spool/cron/crontabs`: Permesso negato. Possiamo rimuoverli dall’output inviandoli a /dev/null aggiungendo 2>/dev/null al comando find. ### Esempi Cerca nell’intero filesystem un eseguibile find / -name "grep" -executable -type f 2>/dev/null Cerca nell’intero filesystem (ma non nelle unità montate) una directory find / -mount -executable -iname "music" -type d 2>/dev/null ### Ulteriori Letture Questo tutorial copre solo una parte delle capacità di find. Spero sia sufficiente per fare la maggior parte di ciò di cui hai bisogno, ma ci sono molte altre opzioni nel manuale di find. man find Per informazioni sulle espressioni regolari per darti maggiore flessibilità con i tuoi termini di ricerca, consulta la pagina man per le espressioni regolari POSIX man 7 regex
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.