ºìÁªLinuxÃÅ»§
Linux°ïÖú

Ŀ¼½á¹¹ÖÐËÑË÷Îļþ find ÃüÁîÏê½â

·¢²¼Ê±¼ä:2006-06-12 09:18:46À´Ô´:ºìÁª×÷Õß:Çç
ÔÚĿ¼½á¹¹ÖÐËÑË÷Îļþ£¬²¢Ö´ÐÐÖ¸¶¨µÄ²Ù×÷¡£´ËÃüÁîÌṩÁËÏ൱¶àµÄ²éÕÒÌõ¼þ£¬¹¦ÄܺÜÇ¿´ó¡£

Óï·¨£ºfind [ÆðʼĿ¼] ѰÕÒÌõ¼þ ²Ù×÷

˵Ã÷£ºfindÃüÁî´ÓÖ¸¶¨µÄÆðʼĿ¼¿ªÊ¼£¬µÝ¹éµØËÑË÷Æä¸÷¸ö×ÓĿ¼£¬²éÕÒÂú×ãѰÕÒÌõ¼þ µÄÎļþ²¢¶ÔÖ®²ÉÈ¡Ïà¹ØµÄ²Ù×÷¡£ ¸ÃÃüÁîÌṩµÄѰÕÒÌõ¼þ¿ÉÒÔÊÇÒ»¸öÓÃÂß¼­ÔËËã·û not¡¢and¡¢or ×é³ÉµÄ¸´ºÏÌõ¼þ¡£Âß¼­ÔË Ëã·û and¡¢or¡¢not µÄº¬ÒåΪ£º

(1) and£ºÂß¼­Ó룬ÔÚÃüÁîÖÐÓá°-a¡±±íʾ£¬ÊÇϵͳȱʡµÄÑ¡Ï±íʾֻÓе±Ëù¸øµÄÌõ ¼þ¶¼Âú×ãʱ£¬Ñ°ÕÒÌõ¼þ²ÅËãÂú×ã¡£ÀýÈ磺

find -name ¡¯tmp¡¯ -xtype c -user ¡¯inin¡¯
% ¸ÃÃüÁîѰÕÒÈý¸ö¸ø¶¨Ìõ¼þ¶¼Âú×ãµÄËùÓÐÎļþ

(2) or£ºÂß¼­»ò£¬ÔÚÃüÁîÖÐÓá°-o¡±±íʾ¡£¸ÃÔËËã·û±íʾֻҪËù¸øµÄÌõ¼þÖÐÓÐÒ»¸öÂú×ã ʱ£¬Ñ°ÕÒÌõ¼þ¾ÍËãÂú×ã¡£ÀýÈ磺

find -name ¡¯tmp¡¯ -o -name ¡¯mina*¡¯
% ¸ÃÃüÁî²éѯÎļþÃûΪ¡¯tmp¡¯»òÊÇÆ¥Å䡯mina*¡¯µÄËùÓÐÎļþ¡£

(3) not£ºÂß¼­·Ç£¬ÔÚÃüÁîÖÐÓá°£¡¡±±íʾ¡£¸ÃÔËËã·û±íʾ²éÕÒ²»Âú×ãËù¸øÌõ¼þµÄÎļþ ¡£ÀýÈ磺

find ! -name ¡¯tmp¡¯
% ¸ÃÃüÁî²éѯÎļþÃû²»ÊÇ¡¯tmp¡¯µÄËùÓÐÎļþ¡£

ÐèҪ˵Ã÷µÄÊÇ£ºµ±Ê¹ÓúܶàµÄÂß¼­Ñ¡Ïîʱ£¬¿ÉÒÔÓÃÀ¨ºÅ°ÑÕâЩѡÏîÀ¨ÆðÀ´¡£ÎªÁ˱ÜÃâShe ll±¾Éí¶ÔÀ¨ºÅÒýÆðÎó½â£¬ÔÚ»°ºÅǰÐèÒª¼ÓתÒå×Ö·û¡°\¡±À´È¥³ýÀ¨ºÅµÄÒâÒå¡£Àý£º

find \£¨-name ¡¯tmp¡¯ -xtype c -user ¡¯inin¡¯ \£©

¸ÃÃüÁîµÄ¸÷Ñ¡ÏÒåÈçÏ£º

Ê×ÏÈ,ÏÂÁи÷¸öÑ¡ÏîÖÐµÄ n Öµ¿ÉÒÔÓÐÈýÖÖÊäÈ뷽ʽ£¬¼ÙÉè n Ϊ20£¬Ôò£º
+20 ±íʾ20ÒÔºó£¨21£¬22£¬23µÈ£©
-20 ±íʾ20ÒÔǰ£¨19£¬18£¬17µÈ£©
20 ±íʾÕýºÃÊÇ20

ÒÔÃû³ÆºÍÎļþÊôÐÔ²éÕÒ¡£
-name ¡¯×Ö´®¡¯ ²éÕÒÎļþÃûÆ¥ÅäËù¸ø×Ö´®µÄËùÓÐÎļþ£¬×Ö´®ÄÚ¿ÉÓÃͨÅä·û *¡¢?¡¢[ ]¡£
-lname ¡¯×Ö´®¡¯ ²éÕÒÎļþÃûÆ¥ÅäËù¸ø×Ö´®µÄËùÓзûºÅÁ´½ÓÎļþ£¬×Ö´®ÄÚ¿ÉÓÃͨÅä·û *¡¢?¡¢[ ]¡£
-gid n ²éÕÒÊôÓÚIDºÅΪ n µÄÓû§×éµÄËùÓÐÎļþ¡£
-uid n ²éÕÒÊôÓÚIDºÅΪ n µÄÓû§µÄËùÓÐÎļþ¡£
-group ¡¯×Ö´®¡¯ ²éÕÒÊôÓÚÓû§×éÃûΪËù¸ø×Ö´®µÄËùÓеÄÎļþ¡£
-user ¡¯×Ö´®¡¯ ²éÕÒÊôÓÚÓû§ÃûΪËù¸ø×Ö´®µÄËùÓеÄÎļþ¡£
-empty ²éÕÒ´óСΪ 0µÄĿ¼»òÎļþ¡£
-path ¡¯×Ö´®¡¯ ²éÕÒ·¾¶ÃûÆ¥ÅäËù¸ø×Ö´®µÄËùÓÐÎļþ£¬×Ö´®ÄÚ¿ÉÓÃͨÅä·û*¡¢?¡¢[ ]¡£
-perm ȨÏÞ ²éÕÒ¾ßÓÐÖ¸¶¨È¨ÏÞµÄÎļþºÍĿ¼£¬È¨Ï޵ıíʾ¿ÉÒÔÈç711£¬644¡£
-size n[bckw] ²éÕÒÖ¸¶¨Îļþ´óСµÄÎļþ£¬n ºóÃæµÄ×Ö·û±íʾµ¥Î»£¬È±Ê¡Îª b£¬´ú±í512×ֽڵĿ顣
-type x ²éÕÒÀàÐÍΪ x µÄÎļþ£¬x ΪÏÂÁÐ×Ö·ûÖ®Ò»£º
b ¿éÉ豸Îļþ
c ×Ö·ûÉ豸Îļþ
d Ŀ¼Îļþ
p ÃüÃû¹ÜµÀ£¨FIFO£©
f ÆÕͨÎļþ
l ·ûºÅÁ´½ÓÎļþ£¨symbolic links£©
s socketÎļþ
-xtype x Óë -type »ù±¾Ïàͬ£¬µ«Ö»²éÕÒ·ûºÅÁ´½ÓÎļþ¡£

ÒÔʱ¼äΪÌõ¼þ²éÕÒ
-amin n ²éÕÒn·ÖÖÓÒÔǰ±»·ÃÎʹýµÄËùÓÐÎļþ¡£
-atime n ²éÕÒnÌìÒÔǰ±»·ÃÎʹýµÄËùÓÐÎļþ¡£
-cmin n ²éÕÒn·ÖÖÓÒÔǰÎļþ״̬±»Ð޸ĹýµÄËùÓÐÎļþ¡£
-ctime n ²éÕÒnÌìÒÔǰÎļþ״̬±»Ð޸ĹýµÄËùÓÐÎļþ¡£
-mmin n ²éÕÒn·ÖÖÓÒÔǰÎļþÄÚÈݱ»Ð޸ĹýµÄËùÓÐÎļþ¡£
-mtime n ²éÕÒnÌìÒÔǰÎļþÄÚÈݱ»Ð޸ĹýµÄËùÓÐÎļþ¡£

¿ÉÖ´ÐеIJÙ×÷
-exec ÃüÁîÃû³Æ {} ¶Ô·ûºÏÌõ¼þµÄÎļþÖ´ÐÐËù¸øµÄLinux ÃüÁ¶ø²»Ñ¯ÎÊÓû§ÊÇ·ñÐèÒªÖ´ÐиÃÃüÁî¡£
{}±íʾÃüÁîµÄ²ÎÊý¼´ÎªËùÕÒµ½µÄÎļþ£»ÃüÁîµÄĩβ±ØÐëÒÔ¡° \£»¡±½áÊø¡£
-ok ÃüÁîÃû³Æ {} ¶Ô·ûºÏÌõ¼þµÄÎļþÖ´ÐÐËù¸øµÄLinux ÃüÁÓëexec²»Í¬µÄÊÇ£¬
Ëü»áѯÎÊÓû§ÊÇ·ñÐèÒªÖ´ÐиÃÃüÁî¡£
-ls ÏêϸÁгöËùÕÒµ½µÄËùÓÐÎļþ¡£
-fprintf ÎļþÃû ½«ÕÒµ½µÄÎļþÃûдÈëÖ¸¶¨Îļþ¡£
-print ÔÚ±ê×¼Êä³öÉ豸ÉÏÏÔʾ²éÕÒ³öµÄÎļþÃû¡£
-printf ¸ñʽ ¸ñʽµÄд·¨Çë²Î¿¼ÓйØCÓïÑÔµÄÊé¡£

Ö¸ÁîʵÀý£º

find . - name ¡®main*¡¯ - exec more {} \;
% ²éÕÒµ±Ç°Ä¿Â¼ÖÐËùÓÐÒÔmain¿ªÍ·µÄÎļþ£¬²¢ÏÔʾÕâЩÎļþµÄÄÚÈÝ¡£

find . \(- name a.out - o - name ¡®*.o¡¯\)> - atime +7 - exec rm {} \;
% ɾ³ýµ±Ç°Ä¿Â¼ÏÂËùÓÐÒ»ÖÜÖ®ÄÚûÓб»·ÃÎʹýµÄa .out»ò*.oÎļþ¡£
% ÃüÁîÖеġ°.¡±±íʾµ±Ç°Ä¿Â¼£¬´Ëʱ find ½«´Óµ±Ç°Ä¿Â¼¿ªÊ¼£¬
Öð¸öÔÚÆä×ÓĿ¼ÖвéÕÒÂú×ãºóÃæÖ¸¶¨Ìõ¼þµÄÎļþ¡£
% ¡°\(¡± ºÍ ¡°\)¡± ±íʾÀ¨ºÅ£¨£©£¬ÆäÖÐµÄ ¡°\¡± ³ÆÎª×ªÒå·û¡£Ö®ËùÒÔÕâÑùдÊÇÓÉÓÚ
¶Ô Shell ¶øÑÔ£¬£¨ºÍ£©ÁíÓв»Í¬µÄº¬Ò壬¶ø²»ÊÇÕâÀïµÄÓÃÓÚ×éºÏÌõ¼þµÄÓÃ;¡£
% ¡°-name a.out¡± ÊÇÖ¸Òª²éÕÒÃûΪa.outµÄÎļþ£»
% ¡°-name ¡®*.o¡¯¡± ÊÇÖ¸Òª²éÕÒËùÓÐÃû×ÖÒÔ .o ½áβµÄÎļþ¡£
ÕâÁ½¸ö -name Ö®¼äµÄ -o ±íʾÂß¼­»ò£¨or£©£¬¼´²éÕÒÃû×ÖΪa.out»òÃû×ÖÒÔ .o½áβµÄÎļþ¡£
% findÔÚµ±Ç°Ä¿Â¼¼°Æä×ÓĿ¼ÏÂÕÒµ½ÕâÑðµÄÎļþÖ®ºó£¬ÔÙ½øÐÐÅжϣ¬¿´Æä×îºó·ÃÎÊʱ¼ä
ÊÇ·ñÔÚ7ÌìÒÔǰ£¨Ìõ¼þ -atime +7£©£¬ÈôÊÇ£¬Ôò¶Ô¸ÃÎļþÖ´ÐÐÃüÁî rm£¨-exec rm {} \;£©¡£
ÆäÖÐ {} ´ú±íµ±Ç°²éµ½µÄ·ûºÏÌõ¼þµÄÎļþÃû£¬\£»ÔòÊÇÓï·¨ËùÒªÇóµÄ¡£
% ÉÏÊöÃüÁîÖеÚÒ»ÐеÄ×îºóÒ»¸ö \ ÊÇÐøÐзû¡£µ±ÃüÁîÌ«³¤¶øÔÚÒ»ÐÐд²»ÏÂʱ£¬
¿ÉÊäÈëÒ»¸ö \£¬Ö®ºóϵͳ½«ÏÔʾһ¸ö >£¬Ö¸Ê¾Óû§¼ÌÐøÊäÈëÃüÁî¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ