El comando find de Linux es una poderosa herramienta sysadmin



A veces es fundamental encontrar rápidamente el archivo o la información deseada en el sistema. A veces puede limitarse a las funciones de búsqueda estándar que tiene ahora cualquier administrador de archivos, pero no se pueden comparar con las capacidades del terminal.



find – , , :



  • .
  • .
  • .


:



  • .
  • .
  • .


find Linux .



find:



$ find directory-to-search criteria action


:



  • directory-to-search ( ) – , find , . , ;
  • criteria () – , ;
  • action () – , .




s.txt :



$ find . -name "s.txt"
./s.txt


:



  • . () –
  • -name – . .


-name S.txt . –iname.



$ find . -iname "s.txt"
./s.txt
./S.txt


c .png *.png:



$ find . -name "*.png"
./babutafb.png
./babutafacebook.png
./Moodle2.png
./moodle.png
./moodle/moodle1.png
./genxfacebook.png


. , find png home:



$ find /home -name "*.png"
find: `/home/babuta/.ssh': Permission denied
/home/vagrant/Moodle2.png
/home/vagrant/moodle.png
/home/tisha/hello.png
find: `/home/tisha/testfiles': Permission denied
find: `/home/tisha/data': Permission denied
/home/tisha/water.png
find: `/home/tisha/.cache': Permission denied


, – 2> /dev/null. dev/null, .



find /home -name "*.jpg" 2>/dev/null
/home/vagrant/Moodle2.jpg
/home/vagrant/moodle.jpg
/home/tisha/hello.jpg
/home/tisha/water.jpg




-type , :



  • f – ;
  • d – ;
  • l – ;
  • b – (dev);
  • c – (dev);
  • p – ;
  • s – ;


, -type d :



$ find . -type d
.
./.ssh
./.cache
./moodle




, . -size.



  • "+" —
  • "-" —
  • , .


1 (+1G).



$ find . -size +1G
./Microsoft_Office_16.29.19090802_Installer.pkg
./android-studio-ide-183.5692245-mac.dmg


:



  • c —
  • k —
  • M —
  • G —




-empty .



$ find . -empty
./.cloud-locale-test.skip
./datafiles
./b.txt
...
./.cache/motd.legal-displayed




-cmin . , ( 60 ), -60:



$ find . -cmin -60
.
./a.txt
./datafiles


, ( 60 ).



, +60.



$ find . -cmin +60




-atime .



$ find . -atime +180


, (180 ).





–user username , :



$ find /home -user tisha 2>/dev/null


tisha home, 2>/dev/null .





-perm – .



$ find /home -perm 777


777.





:



  • -and
  • -or
  • -not


, 1 tisha :



$ find /home  -user tisha  -and  -size +1G  2>/dev/null


tisha, pokeristo, 1 .



$ find /home \( -user pokeristo -or -user tisha \)  -and  -size +1G  2>/dev/null


"\".





find , .



  • -delete —
  • -ls — :

    • .
    • inode.
  • -print , . .
  • -exec .


-delete



, , :



$ find . -empty -delete


. -print.



-exec:



.



-exec command {} \;


:



  • command – , . :

    • rm
    • mv
    • cp
  • {} – .
  • \; — .


–exec –delete :



$ find . -empty -exec rm {} \;


-exec:



$ find . -name "*.jpg" -exec cp {} /backups/fotos \;


.jpg backups/fotos





find :



  • .
  • .
  • .
  • ( ).
  • .
  • .
  • .
  • .


, :



  • .
  • .
  • .


find , – .



imagen




All Articles