Skip to main content

Cyber AI România

Cum folosești find ca să găsești fișiere după nume, dimensiune, dată sau extensie

Comanda find caută direct prin structura de directoare a sistemului. Spre deosebire de o căutare bazată pe un index, aceasta verifică fișierele existente în momentul rulării și poate filtra rezultatele după nume, tip, dimensiune, dată, proprietar sau permisiuni.

Sintaxa de bază este:

find LOCATIE CRITERII ACTIUNE

Exemplu:

find /var/log -type f -name "*.log"

Comanda pornește din /var/log, caută doar fișiere obișnuite și afișează numele care se termină în .log. GNU find parcurge recursiv directoarele pornind din locația indicată și evaluează expresia pentru fiecare element găsit.

Caută un fișier după nume

Pentru un nume exact:

find /etc -type f -name "nginx.conf"

Pentru o căutare în directorul curent:

find . -type f -name "config.php"

Punctul . înseamnă directorul curent.

-name face diferență între litere mari și mici. Următoarea comandă nu va considera Raport.PDF identic cu raport.pdf:

find ~/Documents -type f -name "raport.pdf"

Pentru o căutare care ignoră capitalizarea, folosește -iname:

find ~/Documents -type f -iname "raport.pdf"

Folosește ghilimele în jurul expresiilor cu *. În caz contrar, shell-ul poate extinde wildcard-ul înainte ca acesta să ajungă la find.

Caută după extensie

Toate fișierele .log:

find /var/log -type f -name "*.log"

Fișiere .jpg, .jpeg sau .png:

find ~/Pictures -type f \
  \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" \)

Parantezele grupează condițiile, iar -o înseamnă „sau”. Caracterele \( și \) sunt protejate pentru a nu fi interpretate de shell.

Pentru a exclude o extensie:

find ~/proiect -type f ! -name "*.tmp"

Găsește fișiere mari

Fișiere mai mari de aproximativ 500 MiB:

find /home -type f -size +500M

Fișiere mai mici de 10 KiB:

find ~/Documents -type f -size -10k

Fișiere între 100 și 500 MiB:

find /var -xdev -type f -size +100M -size -500M

Opțiunea -xdev împiedică trecerea pe alte sisteme de fișiere montate. Este utilă pe servere, unde /var poate conține mount-uri separate, volume sau directoare conectate din rețea.

Pentru informații mai ușor de citit:

find /var -xdev -type f -size +500M \
  -exec ls -lh {} +

Mai întâi doar listează rezultatele. Nu combina căutarea fișierelor mari cu ștergerea automată.

Caută după data modificării

Fișiere modificate în ultimele șapte zile:

find ~/Documents -type f -mtime -7

Fișiere mai vechi de 30 de perioade complete de 24 de ore:

find /var/backups -type f -mtime +30

Pentru ultimele 60 de minute:

find /var/log -type f -mmin -60

Pentru o dată calendaristică exactă, GNU find permite folosirea -newermt:

find /var/log -type f -newermt "2026-07-01"

Fișiere modificate într-un interval:

find /var/log -type f \
  -newermt "2026-07-01" \
  ! -newermt "2026-07-15"

Această variantă este mai clară decât calculele cu -mtime atunci când investighezi un incident sau cauți fișiere modificate într-o anumită perioadă.

Limitează adâncimea căutării

Doar în directorul indicat, fără subdirectoare:

find ~/Downloads -maxdepth 1 -type f

Cel mult două niveluri:

find /var/www -maxdepth 2 -type f -name "*.conf"

Dacă nu vrei ca find să verifice anumite directoare, le poți exclude:

find ~/proiect \
  -path "*/node_modules" -prune -o \
  -type f -name "*.js" -print

Aici, node_modules este omis, iar căutarea continuă în restul proiectului.

Caută după proprietar sau permisiuni

Fișiere deținute de utilizatorul ion:

find /var/www -type f -user ion

Fișiere fără proprietar valid:

sudo find / -xdev -nouser -o -nogroup

Fișiere executabile de oricine:

find /var/www -type f -perm -001

Aceste căutări sunt utile la auditarea permisiunilor, dar rezultatele trebuie analizate în context. Un fișier executabil nu este automat periculos.

Rulează acțiuni în siguranță

Pentru a afișa detalii:

find ~/Downloads -type f -size +100M -ls

Pentru a muta fișierele găsite:

mkdir -p ~/arhiva
find ~/Downloads -maxdepth 1 -type f -name "*.zip" \
  -exec mv -t ~/arhiva -- {} +

GNU Findutils recomandă metode care gestionează corect numele cu spații sau caractere speciale, precum -exec ... {} + ori combinația -print0 cu xargs -0.

Înainte de orice ștergere, rulează aceeași căutare cu -print:

find ~/test -type f -name "*.tmp" -print

Abia după ce verifici fiecare rezultat poți lua în calcul o acțiune de curățare. find este puternic tocmai pentru că poate combina mai multe criterii, dar aceeași putere poate produce pierderi de date dacă locația sau filtrul sunt greșite.

Surse folosite

GNU Findutils Manual — sintaxa, criteriile și acțiunile comenzii find.
Linux manual page — find(1).
GNU Findutils — procesarea sigură a numelor de fișiere.

Facebook
X
WhatsApp

Te-ar putea interesa si: