Trovare files e cartelle a riga di comando
Il comando di ricerca di Linux è una delle utilità della riga di comando di comando più importanti e utilizzate di frequente nei sistemi operativi di tipo Unix. Il comando Find viene utilizzato per cercare e individuare l’elenco di file e directory in base alle condizioni specificate per i file che corrispondono agli argomenti.
Per usarlo basta aprire il terminale, posizionarsi nella cartella da dove far partire la ricerca, ed eseguire il comando find
accompagnato da una serie di argomenti, di seguito descritti
Per trovare tutti i file e le cartelle con un particolare nome
find . -name nomefile
Il .
(punto) posizionato dopo il comando find
indica il fatto che la ricerca deve avvenire nella posizione dove l’abbiamo eseguita. Se vogliamo eseguirla da un’altra posizione, ad esempio la home, possiamo utilizzare il comando
find /home -name nomefile.txt
Per trovare tutti i file con un particolare nome ignorando le maiuscole e le minuscole
find /home -iname nomefile.txt
Trovare tutte le directory con un particolare nome
find / -type d -name nomecartella
Trovare tutti i file con un particolare nome
find / -type f -name nomefile.txt
Trovare tutti i file di una particolare estensione
find . -type f -name "*.txt"
Trovare tutti i file con un particolare permesso di accesso o scrittura
find . -type f -perm 0777 -print
Trovare tutti i file che non hanno un particolare permesso di accesso o scrittura
find . -type f ! -perm 777
Trovare o rimuovere tutti i file doppi con una certa estensione
find . -type f -name "*.txt" -exec rm -f {} \;
Trovare tutti i file vuoti
find . -type f -empty
Trovare tutte le cartelle vuote
find . -type d -empty
Trovare tutti i file modificati negli ultimi 30 giorni
find . -mtime 30
Trovare tutti i file modificati nell’ultima ora
find . -mmin -60
Trovare tutti file della dimensione di 20 MB
find . -size 20M
Trovare tutti i file della dimensione tra 20 MB e 5 GB
find . -size +20M -size -5G
>Trovare o rimuovere tutti i FILE DOPPI con una >certa estensione
>find . -type f -name “*.txt” -exec rm -f {} \
Così cancella TUTTI i file *.txt: non solo i file duplicati!
Manca il carattere ‘ ; ‘ finale: senza non funziona.
Ciao Joe, il comando “find . -type f -name “*.txt” -exec rm -f {} \;” cerca tutti file con l’estensione .txt e successivamente ne elimina i duplicati, non elimina tutti i txt. Il ; era un refuso, l’ho corretto, grazie mille