Come Trovare un File in Linux Usando il Comando Find

Funzione Trova

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

Trova Foto

Se vuoi trovare un file per nome che contiene sia lettere maiuscole che minuscole, esegui:

find . -iname photo.png

Trova Iname Foto

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

Trova Gzip

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.txt

Se 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.txt

Per 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 -empty

Trova Directory Usando il Nome

Se vuoi trovare tutte le directory il cui nome è “testdir” sotto la directory “/home,” esegui:

find/home -type d -name testdir

Per trovare tutte le directory vuote sotto “/home,” esegui:

find/home -type d -empty

Trova 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 -print

Per trovare tutti i file senza permesso “777,” esegui:

find . -type f !-perm777

Per trovare tutti i file di sola lettura, esegui:

find/home -perm/u=r

Per trovare tutti i file eseguibili, esegui:

find/home -perm/a=x

Per trovare tutti i file con il bit sticky impostato i cui permessi sono “553,” esegui:

find/home -perm1553

Per trovare tutti i file SUID impostati, esegui:

find/home -perm/u=s

Per 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 -mtime20

Per trovare tutti i file sotto “/opt” che sono stati accessi venti giorni fa, esegui:

find/opt -atime20

Per 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-50

Per trovare tutti i file sotto “/opt” che sono stati cambiati nelle ultime due ore, esegui:

find/opt -cmin-120

Trova File e Directory Basati su Dimensione

Per trovare tutti i file da 10MB sotto la directory “/home,” esegui:

find/home -size 10M

Per trovare tutti i file sotto la directory “/home” che sono maggiori di 10MB e meno di 50MB, esegui:

find/home -size +10M -size-50M

Per 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.