Ce face find
Comanda find parcurge arborele de directoare pornind de la o cale specificată și selectează fișierele care satisfac criterii logice complexe: potrivire de nume (-name), tip de nod (-type f pentru fișiere, -type d pentru foldere), dată de modificare (-mtime) sau mărime (-size).
Poate executa automat acțiuni pe fișierele găsite folosind parametrul -exec sau -delete.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
-name TIPAR |
Caută fișiere după nume exact sau mască (ex. "*.log"). |
-iname TIPAR |
Similar cu -name, dar ignoră majusculele/minusculele. |
-type TIP |
Filtrează după tip: f (fișier obișnuit), d (director), l (symlink). |
-mtime N |
Fișiere modificate acum N zile (ex. -7 mai noi de 7 zile, +30 mai vechi de 30 de zile). |
-size N |
Filtrează după dimensiune (ex. +100M mai mari de 100 MB). |
-exec COMANDĂ {} + |
Execută comanda specificată pe toate fișierele găsite (unde {} reprezintă fișierele). |
Exemple
Exemplul 1: Găsirea tuturor fișierelor de configurare
Căutăm recursiv doar fișierele obișnuite care se termină în .conf.
mkdir -p setari/sub
touch setari/app.conf setari/sub/db.conf setari/read.me
find setari -type f -name "*.conf" | sort
Rezultat
setari/app.conf
setari/sub/db.conf
Greșeli frecvente
- Nefolosirea ghilimelelor la
-name *.txt: dacă în directorul curent există un fișier.txt, Bash va înlocui masca înainte cafindsă ruleze. - Rularea lui
-deleteînainte de a verifica lista de fișiere cu un simplufind.