find path -option [-print] [-exec -ok command] {} \;
findÃüÁîµÄ²ÎÊý£º
pathname: findÃüÁîËù²éÕÒµÄĿ¼·¾¶¡£ÀýÈçÓÃ.À´±íʾµ±Ç°Ä¿Â¼£¬ÓÃ/À´±íʾϵͳ¸ùĿ¼¡£
-print£º findÃüÁƥÅäµÄÎļþÊä³öµ½±ê×¼Êä³ö¡£
-exec£º findÃüÁî¶ÔÆ¥ÅäµÄÎļþÖ´ÐиòÎÊýËù¸ø³öµÄshellÃüÁî¡£ÏàÓ¦ÃüÁîµÄÐÎʽΪ'command' { } \;£¬×¢Òâ{ }ºÍ\£»Ö®¼äµÄ¿Õ¸ñ¡£
-ok£º ºÍ-execµÄ×÷ÓÃÏàͬ£¬Ö»²»¹ýÒÔÒ»ÖÖ¸üΪ°²È«µÄģʽÀ´Ö´ÐиòÎÊýËù¸ø³öµÄshellÃüÁÔÚÖ´ÐÐÿһ¸öÃüÁî֮ǰ£¬¶¼»á¸ø³öÌáʾ£¬ÈÃÓû§À´È·¶¨ÊÇ·ñÖ´ÐС£
#-print ½«²éÕÒµ½µÄÎļþÊä³öµ½±ê×¼Êä³ö
#-exec command {} \; ---½«²éµ½µÄÎļþÖ´ÐÐcommand²Ù×÷,{} ºÍ \;Ö®¼äÓпոñ
#-ok ºÍ-execÏàͬ£¬Ö»²»¹ýÔÚ²Ù×÷ǰҪѯÓû§
1¡¢¸ù¾ÝÎļþÃû»òÕýÔò±í´ïʽƥÅäËÑË÷
Ñ¡Ïî-nameµÄ²ÎÊýÖ¸¶¨ÎļþÃûËù±ØÐëÆ¥ÅäµÄ×Ö·û´®¡£
Àý£ºÆ¥ÅäËùÓÐÒÔ.txt½áβµÄÎļþÃû
$find /root/ -name "*.txt" -print
Ñ¡Ïî-iname,¸ÃÑ¡ÏîµÄ×÷ÓúÍ-nameÀàËÆ£¬²»¹ýÆ¥ÅäµÄʱºòºöÂÔÃû×ֵĴóСд¡£
Æ¥Åä¶à¸öÌõ¼þ£¬¿ÉÒÔʹÓÃORÌõ¼þ²Ù×÷
$find . /root/ \( -name "*.txt" -o -name "*.pdf" \) -print
Ñ¡Ïî-pathµÄ²ÎÊý¿ÉÒÔʹÓÃͨÅä·ûÀ´Æ¥ÅäÎļþ·¾¶»òÎļþ¡£
$find . -path "*include/apu*"
./httpd-2.2.22/srclib/apr-util/include/apu_version.h
./httpd-2.2.22/srclib/apr-util/include/apu.hw
./httpd-2.2.22/srclib/apr-util/include/apu_errno.h
./httpd-2.2.22/srclib/apr-util/include/apu.hnw
Ñ¡Ïî-regexµÄ²ÎÊýºÍ-pathÀàËÆ£¬²»¹ý-regexÊÇ»ùÓÚÕýÔò±í´ïʽÀ´Æ¥ÅäÎļþ·¾¶¡£
ÏÂÃæÃüÁîÆ¥Åä.py»ò.shÎļþ
$find . -regex ".*\(\.py\|\.ssh\)$"
./.ssh
./httpd-2.2.22/srclib/apr/build/gen-build.py
2¡¢·ñ¶¨²ÎÊý
findÒ²¿ÉÒÔʹÓÃ"!"·ñ¶¨²ÎÊýµÄº¬Òå¡£
ÀýÈ磺ƥÅäËùÓв»ÊÇÒÔ.txt½áβµÄÎļþÃû
$find . ! -name "*.txt"
3¡¢»ùÓÚĿ¼µÄÉî¶ÈËÑË÷
ʹÓÃ-maxdepthºÍ-mindepth²ÎÊýÀ´ÏÞÖÆfindÃüÁî±éÀúĿ¼µÄÉî¶È¡£
Àý£ºÁгöµ±Ç°Ä¿Â¼ÏµÄËùÓÐÆÕͨÎļþ¡£
$find . -maxdepth 1 -type f
-maxdepthºÍ-mindepthÓ¦µ±×÷ΪfindµÄµÚÈý¸ö²ÎÊý³öÏÖ£¬Èç¹û×÷ΪµÚËĸö»òÖ®ºóµÄ²ÎÊý£¬Ôò»áÓ°ÏìfindµÄЧÂÊ¡£
4¡¢¸ù¾ÝÎļþµÄÀàÐÍËÑË÷
ʹÓÃ-type¶ÔÎļþËÑË÷½øÐйýÂË£¬ÒÔÏÂÊÇtype²ÎÊý¶ÔÓ¦ÎļþµÄÀàÐÍ
ÆÕͨÎļþ f¡¢·ûºÅÎļþ l¡¢Ä¿Â¼ d¡¢×Ö·ûÉ豸 c¡¢¿éÉ豸 b¡¢Ì×½Ó×Ö s¡¢Fifo p¡£
Àý£ºÁгöËùÓÐĿ¼
$find . -type d -print
5¡¢¸ù¾ÝÎļþʱ¼ä½øÐÐËÑË÷
ϵͳÿ¸öÎļþÓÐÈýÖÖʱ¼ä´Á,ÈçÏÂËùʾ£º
·ÃÎÊʱ¼ä(-atime):Óû§×î½üÒ»´Î·ÃÎÊʱ¼ä
ÐÞ¸Äʱ¼ä(-mtime):ÎļþÄÚÈÝ×îºóÒ»´ÎÐÞ¸Äʱ¼ä¡£
±ä»¯Ê±¼ä(-ctime):ÎļþÔªÊý¾Ý£¨ÀýÈçȨÏÞ»òËùÓÐȨ£©×îºóÒ»´Î¸Ä±äʱ¼ä
´òÓ¡³ö×î½ü7ÌìÓйý·ÃÎʵÄËùÓÐÎļþ
$find . type f -atime -7 print
´òÓ¡³ö·ÃÎÊʱ¼ä³¬¹ý7·ÖÖÓµÄËùÓÐÎļþ
$find . type f -admin -7 print
6¡¢»ùÓÚÎļþ´óСµÄËÑË÷
$find . -type f -size +20k
#´óÓÚ20KBµÄÎļþ
$find . -type f -size -20k
#СÓÚ20KBµÄÎļþ
$find . -type f -size 20k
#µÈÓÚ20KBµÄÎļþ
7¡¢É¾³ýÆ¥ÅäµÄÎļþ
-delete¿ÉÒÔɾ³ýfind²éÕÒµ½µÄ.swpÎļþ
$find . -type f -name "*.swp" -delete
ɾ³ýµ±Ç°Ä¿Â¼ÏµÄËùÓеÄ.swpÎļþ
8¡¢»ùÓÚÎļþȨÏÞºÍËùÓÐȨµÄÆ¥Åä
Àý£º´òÓ¡³öȨÏÞΪ644µÄÎļþ
$find . -type f -perm 644 -print
²éÕÒûÓÐÖ´ÐÐȨÏÞµÄPHPÎļþ
$find . -type f -name "*.php" ! -perm 644 -print
´òÓ¡³öÓû§slynuxËùÓµÓеÄÎļþ£º
$find . -type f -user slynux -print
9¡¢½áºÏfindÖ´ÐÐÃüÁî»ò¶¯×÷
½èÖúÑ¡Ïî-execÓëÆäËûÃüÁî½áºÏ¡£
ʾÀý£º
#find . -type f -user mysql -exec chown root {} \;
ÔÚµ±Ç°Ä¿Â¼ÏÂÐÞ¸ÄÊôÓÚÓû§mysqlµÄÎļþΪÊôÓÚrootÓû§¡£
#find . -type f -mtime +10 -name "*.txt" -exec cp {} OLD \;
½«10ÌìǰµÄ.txtÎļþ¸´ÖƵ½OLDĿ¼ÏÂ
10¡¢findÌø¹ýÌØ¶¨µÄĿ¼
´òÓ¡³ö²»°ü¹ýÔÚ.svnµÄĿ¼µÄËùÓÐÎļþµÄÃû³Æ
#find . \( -name ".svn" -prune \) -o \( -type f -print\)
À´Ô´£ºLinuxÉçÇø