Wiki di Michele

find

GuidaUltima modifica: 24/10/2026 Verificata il 24/10/2026

find cerca file e cartelle scorrendo il filesystem, con filtri su nome, tipo, dimensione, data, permessi e proprietario.

Sintassi

find [percorso] [criteri] [azione]

Cercare per nome

find /home -name "documento.txt"
find . -name "*.log"
find . -iname "*.jpg"

-iname ignora maiuscole e minuscole.

Cercare per tipo

find . -type f
find . -type d
find . -type l

f file, d cartella, l link simbolico.

Cercare per dimensione

find . -size +100M
find . -size -10k
find . -size 0

+ significa più grande di, - più piccolo di. Unità: k, M, G.

Cercare per data

find . -mtime -1
find . -mtime +30
find . -mmin -60
find . -newer riferimento.txt

Cercare per permessi e proprietario

find / -perm -4000 -type f 2>/dev/null
find . -user michele
find . -group www-data
find . -perm 777

Il primo comando trova i file con bit SUID, utile per audit di sicurezza.

Limitare la profondità

find . -maxdepth 1 -type f
find . -mindepth 2 -maxdepth 3 -name "*.conf"

Combinare i criteri

find . -name "*.log" -size +10M
find . -name "*.jpg" -o -name "*.png"
find . -type f ! -name "*.txt"

Per impostazione predefinita i criteri sono in AND. -o è OR, ! è NOT.

Azioni

Eliminare (verifica sempre prima senza -delete):

find . -name "*.tmp"
find . -name "*.tmp" -delete

Eseguire un comando su ogni risultato:

find . -name "*.sh" -exec chmod +x {} \;
find . -name "*.log" -exec ls -lh {} +
find . -type f -name "*.txt" -exec grep -l "parola" {} +

Con \; il comando viene eseguito una volta per file, con + una volta sola con tutti i file (più veloce).

Gestire nomi con spazi in modo sicuro:

find . -name "*.bak" -print0 | xargs -0 rm

Nascondere gli errori di permesso

find / -name "nginx.conf" 2>/dev/null

Alternative

Tag

amministrazione-di-sistemacomandilinux

Pagine che parlano di questa

Altre pubblicazioni in questa sezione

Suggerisci una correzione