Come Trovare un File in Linux Usando il Comando Find

Il comando find di Linux è uno dei comandi più importanti e utili nei sistemi Linux. Può, come suggerisce il nome, trovare file sul tuo PC Linux in base a praticamente qualsiasi condizione e variabile tu imposti. Puoi trovare file per permessi, utenti, gruppi, tipo di file, data, dimensione e altri criteri possibili utilizzando il comando find. Qui ti mostriamo come trovare un file in Linux usando il comando find.
Il comando find è disponibile su quasi tutte le distribuzioni Linux per impostazione predefinita, quindi non devi installare un pacchetto per usarlo.
Leggi anche: Utilizzare i comandi find, locate, which e whereis per cercare file in Linux
Trova File per Nome nelle Directory Correnti
Il modo più ovvio per cercare file è per nome. Per trovare un file per nome nella directory corrente, esegui:
find . -name photo.png
Se vuoi trovare un file per nome che contiene sia lettere maiuscole che minuscole, esegui:
find . -iname photo.png
Se vuoi trovare un file nella directory radice, anteponi la tua ricerca con sudo, che ti darà tutti i permessi necessari per farlo, e anche il simbolo /, che indica a Linux di cercare nella directory radice. Infine, l’espressione -print visualizza le directory dei risultati della tua ricerca. Se stavi cercando Gzip, digiteresti:
sudofind/-namegzip-print
Leggi anche: Come Trovare File Grandi in Linux
Trova File Sotto una Directory Specifica
Se vuoi trovare file sotto una directory specifica come “/home,” esegui:
find/home -name filename.txtSe vuoi trovare file con l’estensione “.txt” sotto la directory “/home,” esegui:
find/home -name"*.txt"Per trovare file il cui nome è “test.txt” sotto più directory come “/home” e “/opt”, esegui:
find/home /opt -name test.txtPer trovare file nascosti nella directory “/home,” esegui:
find/home -name".*"Per trovare un singolo file chiamato “test.txt” e rimuoverlo, esegui:
find/home -type f -name test.txt -execrm-f{}Per trovare tutti i file vuoti sotto la directory “/opt,” esegui:
find/opt -type f -emptyTrova Directory Usando il Nome
Se vuoi trovare tutte le directory il cui nome è “testdir” sotto la directory “/home,” esegui:
find/home -type d -name testdirPer trovare tutte le directory vuote sotto “/home,” esegui:
find/home -type d -emptyTrova File con Determinati Permessi
Il comando find può essere utilizzato per trovare file con un permesso specifico utilizzando l’opzione perm.
Per trovare tutti i file i cui permessi sono “777” nella directory “/home,” esegui:
find/home -type f -perm 0777 -printPer trovare tutti i file senza permesso “777,” esegui:
find . -type f !-perm777Per trovare tutti i file di sola lettura, esegui:
find/home -perm/u=rPer trovare tutti i file eseguibili, esegui:
find/home -perm/a=xPer trovare tutti i file con il bit sticky impostato i cui permessi sono “553,” esegui:
find/home -perm1553Per trovare tutti i file SUID impostati, esegui:
find/home -perm/u=sPer trovare tutti i file i cui permessi sono “777” e cambiare i loro permessi in “700,” esegui:
find/home -type f -perm 0777 -print-execchmod700{} ;Trova File e Directory Basati su Data e Ora
Per trovare tutti i file sotto “/opt” che sono stati modificati 20 giorni fa, esegui:
find/opt -mtime20Per trovare tutti i file sotto “/opt” che sono stati accessi venti giorni fa, esegui:
find/opt -atime20Per trovare tutti i file sotto “/opt” che sono stati modificati più di 30 giorni fa e meno di 50 giorni fa:
find/opt -mtime +30-mtime-50Per trovare tutti i file sotto “/opt” che sono stati cambiati nelle ultime due ore, esegui:
find/opt -cmin-120Trova File e Directory Basati su Dimensione
Per trovare tutti i file da 10MB sotto la directory “/home,” esegui:
find/home -size 10MPer trovare tutti i file sotto la directory “/home” che sono maggiori di 10MB e meno di 50MB, esegui:
find/home -size +10M -size-50MPer trovare tutti i file “.mp4” sotto la directory “/home” con più di 10MB e eliminarli usando un singolo comando, esegui:
find/home -type f -name*.mp4 -size +10M -execrm{} ;Come puoi vedere, il comando find è incredibilmente utile per amministrare un sistema, cercare attraverso le directory per trovare file e, in generale, potare l’albero delle directory virtuali in Linux. Se ti è piaciuto questo articolo su Linux, assicurati di controllare alcuni dei nostri altri contenuti su Linux, come come utilizzare il comando scp per trasferire file in modo sicuro, come utilizzare nnn come gestore di file nel terminale e come riparare pacchetti danneggiati.