Câteva opţiuni importante:
- -x (pe BSD) -xdev (pe Linux) Ramâne pe acelaşi sistem de fişiere (dev în fstab).
- -exec cmd {} \; Execută comanda şi înlocuieşte {} cu calea completă
- -iname Ca şi -name dar e case insensitive (nu ţine cont de majuscule şi minuscule)
- -ls arată informaţii despre fşier (similar ls -la)
- -size n n este +-n (k M G T P)
- -cmin n Statusul fişierului a fost schimbat acum n minute
# find . -type f ! -perm -444 # Găseşte fişierele fara drept de citire de all
# find . -type d ! -perm -111 # Găsesşte directoare ne accesibile de all
# find /home/user/ -cmin 10 -print # Fişierele create sau modificate în ultimele 10 minute
# find . -name ‘*.[ch]‘ | xargs grep -E ‘expr’ # Caută ‘expr’ în director şi mai jos
# find / -name “*.core” | xargs rm # Găsesşte core dumps şi ştergele
# find / -name “*.core” -print -exec rm {} \; # idem mai sus
# find . \( -iname “*.png” -o -iname “*.jpg” \) -print -exec tar -rf images.tar {} \; # Găseşte imagini şi crează arhive, iname nu e case sensitive.
# find . -type f -name “*.txt” ! -name README.txt -print # Exclude README.txt
# find /var/ -size +10M -exec ls -lh {} \; # Găsesşte fişiere mai mari de 10MB
# find /var/ -size +10M -ls # mai simplu
# find . -size +10M -size -50M -print
# find / -type f -user root -perm -4000 -exec ls -l {} \; # Găsesşte fişierele SUID, fişiere vulnerabile care trebuie securizate
Grijă maxima cu xarg sau exec deoarece pot să returneze rezultate aiurea dacă fişierele sau directoarele conţin spaţii. Dacă ai îndoieli, foloseşte “-print0 | xargs -0” în loc de “| xargs“.
Opţiunea -print0 trebuie să fie ultima din comandă. Studiază şi mini tutorialul pentru find de aici http://www.hccfl.edu/pollock/Unix/FindCmd.htm.
# find . -type f | xargs ls -l # NU VA FUNCŢIONA CU SPAŢII ÎN NUME
# find . -type f -print0 | xargs -0 ls -l # NU VA FUNCŢIONA CU SPAŢII ÎN NUME
# find . -type f -exec ls -l ‘{}’ \; # Foloseşte ‘{}’ cu -exec
surse de inspiraţie: www.google.com şi man find



