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

Îı¾²éÕÒÀûÆ÷findµÄʹÓÃ

·¢²¼Ê±¼ä:2014-06-07 21:39:16À´Ô´:ºìÁª×÷Õß:velcbo
Ò»¡¢find¸ÅÊö;
×÷ΪLinuxϵͳÔËάÈËÔ±À´ËµfindÃüÁîÒ²Êǽϳ¤ÓõÄÒ»¸öÃüÁ¸öÈ˾õµÃÒ²ÊÇ×îÓÐÓõÄÒ»¸ö£¬Í¬Ê±Ò² ÊÇ×î»ìÂÒµÄÒ»¸ö¡£ÒòΪËüµÄÓï·¨ÓëÆäËûÃüÁîµÄ±ê×¼Óï·¨²»Í¬£¬Í¬Ê±Ò²Ö§³ÖgrepÀïÃæµÄͨÅä·û²éÕÒ¡£Ò²¿ÉÒÔÔÊÐí°´ÎļþÃû£¬ÎļþÀàÐÍ£¬Óû§ÉõÖÁÊÇʱ¼ä´Á²éÕÒ¡£²»µ«¿ÉÒÔÕÒµ½¾ßÓÐÕâЩÊôÐÔÈÎÒâ×éºÏµÄÎļþ£¬»¹¿ÉÒÔ¶ÔËüÕÒµ½µÄÎļþÖ´ÐвÙ×÷¡£

¹¦ÄÜ£ºÔÚĿ¼½á¹¹ÖÐËÑË÷Îļþ£¬²¢Ö´ÐÐÖ¸¶¨µÄ²Ù×÷¡£´ËÃüÁîÌṩÁËÏ൱¶àµÄ²éÕÒÌõ¼þ£¬¹¦ÄܺÜÇ¿´ó¡£
Óï·¨£ºfind ÆðʼĿ¼ ѰÕÒÌõ¼þ ²Ù×÷
˵Ã÷£ºfindÃüÁî´ÓÖ¸¶¨µÄÆðʼĿ¼¿ªÊ¼£¬µÝ¹éµØËÑË÷Æä¸÷¸ö×ÓĿ¼£¬²éÕÒÂú×ãѰÕÒÌõ¼þµÄÎļþ²¢¶ÔÖ®²ÉÈ¡Ïà¹ØµÄ²Ù×÷¡£

¶þ¡¢findÃüÁîµÄ¸ñʽ£»
find [options] [²éÕÒ·¾¶] [²éÕÒÌõ¼þ][´¦Àí¶¯×÷]
ĬÈϵĴ¦Àí¶¯×÷ÊÇÏÔʾ

²éÕÒ·¾¶£»Ä¬ÈϲéÕÒµ±Ç°Ä¿Â¼

²éÕÒÌõ¼þ£»Ä¬ÈϲéÕÒÖ¸¶¨Â·¾¶ÏµÄËùÓÐÎļþ

´¦Àí¶¯×÷£»Ä¬ÈÏΪÏÔʾ

find³£ÓÃÑ¡Ïî
Ñ¡ Ïî ¹¦ÄÜ×÷ÓÃ
-name ¡°ÎļþÃû³Æ¡±£»Ö§³ÖʹÓÃÎļþÃûͨÅä»úÖÆ *¡¢£¿¡¢[]¡¢[^]

-iname
-iname ¡°ÎļþÃû³Æ¡±£»²éÕÒÊDz»Çø·Ö×Ö·û´óСд
-uid ¸ù¾Ý¸ø¶¨µÄuid²éÕÒËùÓÐÎļþ
-gid ¸ù¾Ý¸ø¶¨µÄgid²éÕÒËùÓÐÎļþ
-user ¸ù¾ÝÊôÖ÷²éÕÒÎļþ
-group ¸ù¾Ý×éÃû²éÕÒÎļþ
-nouser ²éÕÒûÓÐÊôÖ÷µÄÎļþ
-nogroup ²éÕÒûÓÐÊô×éµÄÎļþ
-a,-o -a±íʾΪÓ룬ͬʱÂú×ã¡£-o±íʾ»ò£¬Âú×ã²éÕÒÌõ¼þ¼´¿É
-type

²éÕÒijһÀàÐÍÎĵµ£»

b;¿éÉ豸Îĵµ¡¢d;Ŀ¼¡¢c;×Ö·ûÉ豸Îĵµ¡¢

l;·ûºÅÁ´½ÓÎĵµ¡¢f;ÆÕͨÎĵµ
-prune ²»ÔÚµ±Ç°Ö¸¶¨µÄ·¾¶²éÕÒ¡£¼ÙÈçͬʱָ¶¨ÁË-depthÑ¡ÏÔòprune±»ºöÂÔ
-empty ²éÕÒ´óСΪ0µÄĿ¼»òÎļþ
-size ¸ù¾ÝÎļþ´óС²éÕÒ ³£Óõ¥Î»ÓУ»K¡¢M¡¢G
-depth ²éÕÒÊÇ£¬Ê×ÏȲéÕÒµ±Ç°Ä¿Â¼Îĵµ£¬È»ºóÔÚÕÒ×ÓĿ¼²éÕÒ
-exec ¶ÔÆ¥ÅäµÄÎĵµÖ´ÐÐËù¸øµÄÃüÁî {}ռλ·û
-ok ½»»¥Ê½µÄ-exec; ÓÃÓÚÖ¸¶¨ÆäËûÃüÁîµÄ {}ռλ·û
-ls ³¤¸ñʽÊä³ö¸÷ÎļþÐÅÏ¢
-print ´òÓ¡ÔÚ±ê×¼Êä³öÉÏ
-mtime -n,+n °´ÕÕÎĵµ¸ü¸Äʱ¼ä²éÕÒ¡£ -nÖ¸¾àÀëÏÖÔÚʱ¼änÌìÒÔÄÚ£»+n Ö¸nÌìÒÔÍâ
-atime +,Ö¸¶¨ÌìÊýÖ®Íâ±»·ÃÎʹý -,ÊÇÖ¸¶¨ÌìÊýÖ®ÄÚ±»·ÃÎʹý
-fstype f1,f2 ²é¸ü¸Äʱ¼ä±Èf1е«±Èf2¾ÉµÄÎĵµ
-perm °´È¨ÏÞÀ´²éÕÒ

findʾÀý£»
1¡¢ -name
°´ÎļþÃû²éÕÒÒÔ.conf½áβµÄÎļþ£¬Á½¸ö½áºÏÁËͨÅä·û²éÕÒ
[root@station103 ~]# find /etc -name "*.conf" #°´ÎļþÃû²éÕÒ
/etc/sasl2/smtpd.conf
/etc/openldap/ldap.conf
/etc/lftp.conf
/etc/mtools.conf
/etc/NetworkManager/NetworkManager.conf
/etc/ld.so.conf
/etc/plymouth/plymouthd.conf

1234567 [root@station103 ~]# find /etc -name "???.conf"
/etc/yum.conf
/etc/gai.conf
/etc/sos.conf
/etc/samba/smb.conf
/etc/init/tty.conf
/etc/init/rcS.conf

2¡¢-iname
ÎļþÃû²»Çø·Ö´óСд²éÕÒ

[root@station103 tmp]# find -iname "*.txt" ²»Çø·Ö´óСд²éÕÒ
./KKG.txt
./aa.txt
./nba.txt
./QW.txt
./hao.txt
./abc.txt
./dW.txt
./hddW.txt

3¡¢-uid
¸ù¾Ýuid²éÕÒ

[root@station103 tmp]# find -uid 517
./kd.txt
./ii.txt
./oo.doc

4¡¢-gid
¸ù¾Ýgid²éÕÒ

-rw-rw-r-- 1 517 518 0 Feb 19 08:07 oo.doc
-rw-r--r-- 1 root root 0 Feb 19 08:00 QW.txt
drwx------ 2 root root 4096 Feb 16 07:32 yang
[root@station103 tmp]# find -gid 518
./kd.txt
./ii.txt
./oo.doc
[root@station103 tmp]#

5¡¢-user
¸ù¾ÝÓû§²éÕÒÎļþ»òĿ¼

[root@station103 tmp]# find -user yang
./hao.doc
./kkk.txt
./aabb.txt
[root@station103 tmp]#

6¡¢-group
¸ù¾Ý×éÃû²éÕÒÎļþ»òĿ¼
[root@station103 tmp]# ll
total 200
drwxr-xr-x 2 aa hao 4096 Feb 20 04:56 aa
-rw-r--r-- 1 aa hao 0 Feb 20 04:57 abcd.txt
-rw-rw-r-- 1 yang yang 0 Feb 19 08:05 hao.doc
-rw-rw-r-- 1 aa 518 0 Feb 19 08:07 ii.txt
-rw-rw-r-- 1 aa 518 0 Feb 19 08:07 kd.txt
-rw-rw-r-- 1 aa 518 0 Feb 19 08:07 oo.doc
-rw-r--r-- 1 aa hao 0 Feb 20 04:57 yang.doc
[root@station103 tmp]# find -group hao
./aa
./abcd.txt
./yang.doc
[root@station103 tmp]#

7¡¢-nouser
Áгö/tmpÏÂûÓÐÓû§µÄÎļþ
-rw-rw-r-- 1 517 518 0 Feb 19 08:07 ii.txt
-rw-rw-r-- 1 517 518 0 Feb 19 08:07 kd.txt
drwxr-xr-x 11 root root 4096 Feb 15 21:40 logs
-rw-rw-r-- 1 517 518 0 Feb 19 08:07 oo.doc
drwx------ 2 root root 4096 Feb 16 07:32 yang
-rw-r--r-- 1 517 hao 0 Feb 20 04:57 yang.doc
[root@station103 ~]# find /tmp -nouser
/tmp/aa
/tmp/abcd.txt
/tmp/kd.txt
/tmp/yang.doc
/tmp/ii.txt
/tmp/oo.doc
[root@station103 ~]#

8¡¢-nogroup
Áгö/tmpÏÂûÓÐÓû§×éµÄÎļþ
drwxr-xr-x 2 root root 4096 Feb 16 10:09 hello
-rw-rw-r-- 1 517 518 0 Feb 19 08:07 ii.txt
-rw-r--r-- 1 root root 884 Feb 20 05:32 inittab
-rw-rw-r-- 1 517 518 0 Feb 19 08:07 kd.txt
-rw-rw-r-- 1 517 518 0 Feb 19 08:07 oo.doc
[root@station103 ~]# find /tmp -nogroup
/tmp/kd.txt
/tmp/ii.txt
/tmp/oo.doc

9¡¢-a-¡¢Ó룬ͬʱÂú×ã
-o¡¢±íʾ»ò£¬Âú×ã²éÕÒÌõ¼þ¼´¿É
-not¡¢·Ç£¬È¡·´
[root@station103 ~]# find /tmp -user yang -o -name "*.txt"
/tmp/KKG.txt
/tmp/aa.txt
/tmp/abcd.txt
/tmp/kd.txt
/tmp/nba.txt
/tmp/ii.txt
/tmp/hao.doc
/tmp/QW.txt
/tmp/hao.txt
/tmp/kkk.txt
/tmp/aabb.txt
/tmp/abc.txt
/tmp/dW.txt
/tmp/hddW.txt
[root@station103 ~]# find /tmp -user yang -a -not -name "*.txt"
/tmp/hao.doc
[root@station103 ~]#



10¡¢-type
°´ÕÕÎļþÀàÐͲéÕÒ
[root@station103 ~]# find /tmp/logs/ -type d ²éÕÒĿ¼
/tmp/logs/
/tmp/logs/sa
/tmp/logs/gdm
/tmp/logs/samba
/tmp/logs/samba/old
[root@station103 ~]# find /tmp/logs/ -type f ²éÕÒÆÕͨÎĵµ
/tmp/logs/sa/sa24
/tmp/logs/sa/sar24
/tmp/logs/sa/sa14
/tmp/logs/sa/sa13
/tmp/logs/sa/sa25
[root@station103 ~]# find /lib -type l ²éÕÒ·ûºÅÁ´½ÓÎĵµ
/lib/kbd/keymaps/ppc
/lib/kbd/keymaps/i386/qwerty/ko.map.gz
/lib/kbd/keymaps/i386/qwerty/sr-latin.map.gz
/lib/cpp
[root@station103 ~]# find /dev/ -type b ²éÕÒ¿éÉ豸Îļþ
/dev/dm-3
/dev/dm-2
/dev/ram8
/dev/ram9
/dev/ram6
[root@station103 ~]# find /dev/ -type c ²éÕÒ×Ö·ûÉ豸Îĵµ
/dev/vcsa6
/dev/vcs6
/dev/vcsa5
/dev/vcs5

11¡¢-empty
²éÕÒ´óСΪ0µÄĿ¼»òÎļþ

[root@station103 ~]# find /media/ -empty
/media/kjk
/media/bvc
/media/abc
[root@station103 ~]#

12¡¢-size
¸ù¾ÝÎļþ´óС²éÕÒ µ¥Î»ÎªK¡¢M¡¢G

[root@station103 ~]# find /tmp -size -5k ²éÕÒСÓÚ5KµÄÎļþ
/tmp
/tmp/aa
/tmp/.bashrc
/tmp/KKG.txt
/tmp/aa.txt
[root@station103 ~]# find /tmp -size +10k ²éÕÒ´óÓÚ10KµÄÎļþ
/tmp/functions
/tmp/cat
/tmp/fdisk
[root@station103 ~]#

-rw-r--r-- 1 root root 5.3M Jul 25 2013 httpd-2.2.25.tar.bz2
-rw-r--r--. 1 root root 44K Feb 13 11:09 install.log
[root@station103 ~]# find -size +5M ²éÕÒСÓÚ5MµÄÎļþ
./httpd-2.2.25.tar.bz2
[root@station103 ~]#

13¡¢-exec
¶ÔÆ¥ÅäµÄÎĵµÖ´ÐÐËù¸øµÄÃüÁî
[root@station103 ~]# ls -l /tmp/
total 192
-rw-r--r-- 1 root root 0 Feb 20 07:24 aa1
-rw-r--r-- 1 root root 0 Feb 20 07:24 aa2
-rw-r--r-- 1 root root 0 Feb 20 07:24 aa3
-rw-r--r-- 1 root root 0 Feb 20 07:24 aa4
-rw-r--r-- 1 root root 0 Feb 20 07:24 aa5
-rw-r--r-- 1 root root 0 Feb 20 07:24 aa6
-rw-r--r-- 1 root root 884 Feb 20 05:32 inittab
-rw-rw-r-- 1 517 518 0 Feb 19 08:07 oo.doc
drwx------ 2 root root 4096 Feb 16 07:32 yang
-rw-r--r-- 1 517 hao 0 Feb 20 04:57 yang.doc
¶ÔÆ¥Åä³öÀ´µÄÎļþÖ´ÐÐɾ³ýÃüÁî
[root@station103 ~]# find /tmp -name "aa*" -exec rm -rf {} \;
[root@station103 ~]# ls -lh /tmp
total 192K
-rwxr-xr-x 1 root root 48K Feb 14 21:56 cat
-rwxr-xr-x 1 root root 104K Feb 14 21:58 fdisk
-rw-r--r-- 1 root root 921 Sep 15 2011 fstab
-rw-r--r-- 1 root root 19K Sep 15 2011 functions
drwx------ 2 root root 4.0K Feb 16 07:32 Hadoop
drwxr-xr-x 2 root root 4.0K Feb 16 10:09 hello
-rw-r--r-- 1 root root 884 Feb 20 05:32 inittab
-rw-rw-r-- 1 517 518 0 Feb 19 08:07 oo.doc
drwx------ 2 root root 4.0K Feb 16 07:32 yang
-rw-r--r-- 1 517 hao 0 Feb 20 04:57 yang.doc

14¡¢-ok
½»»¥Ê½µÄ-exec£»ÓÃÓÚÖ¸¶¨ÆäËûÃüÁîµÄ
[root@station103 ~]# find / -mtime -1 -type f -ok ls -l {} \;
< ls ... /tfil21 > ? y
-rw-r--r-- 1 root root 0 Feb 24 2014 /tfil21
< ls ... /tfil27 > ? y
-rw-r--r-- 1 root root 0 Feb 24 2014 /tfil27
< ls ... /.autofsck > ? y
-rw-r--r-- 1 root root 0 Feb 19 18:14 /.autofsck
< ls ... /tfil29 > ? y
-rw-r--r-- 1 root root 0 Feb 24 2014 /tfil29
< ls ... /tfil23 > ? n
< ls ... /tfil30 > ? ^C

15¡¢-print
´òÓ¡ÔÚ±ê×¼Êä³öÉÏ
[root@station103 ~]# find /tmp -type f -print
/tmp/.bashrc
/tmp/.bash_logout
/tmp/fstab
/tmp/yang.doc
/tmp/inittab



16¡¢-mtime -n,+n
°´ÕÕÎĵµ¸ü¸Äʱ¼ä²éÕÒ¡£-nÖ¸¾àÀëÏÖÔÚʱ¼änÌìÒÔÄÚ£»+nÖ¸nÌìÒÔÍâ
[root@station103 ~]# find /tmp -mtime +1 Ò»ÌìÍâ±»Ð޸ĹýµÄÎļþ
/tmp/.bashrc
/tmp/.bash_logout
/tmp/fstab
/tmp/.mozilla
/tmp/.mozilla/plugins
[root@station103 ~]# find /tmp -mtime -1 Ò»ÌìÄÚ±»Ð޸ĹýµÄÎļþ
/tmp
/tmp/yang.doc
/tmp/inittab
/tmp/oo.doc
/tmp/.ICE-unix



17¡¢-perm [+|-]; ¸ù¾ÝȨÏÞ²éÕÒ
MODE£»¾«È·Æ¥Åä
+MODE; ÈκÎÒ»ÀàÓû§µÄÈκÎһλȨÏÞÆ¥Å䣻³£ÓÃÓÚ²éÕÒijÀàÓû§µÄÄ³ÌØ¶¨È¨ÏÞÊÇ·ñ´æÔÚ
-MODE£»Ã¿ÀàÓû§µÄÖ¸¶¨Òª¼ì²éµÄȨÏÞλ¶¼Æ¥Åä
²éÕÒ/etc/Ŀ¼ËùÓÐÓû§¶¼Ã»ÓÐдȨÏÞµÄÎļþ²¢ÓÃ-okÃüÁîÏÔʾ³öÀ´
[root@station103 ~]# find /etc/ -not -perm +222 -ok ls -lh {} \;
< ls ... /etc/rc.d/init.d/lvm2-lvmetad > ? y
-r-xr-xr-x. 1 root root 2.1K Nov 24 00:25 /etc/rc.d/init.d/lvm2-lvmetad
< ls ... /etc/rc.d/init.d/blk-availability > ? y
-r-xr-xr-x. 1 root root 1.4K Nov 24 00:25 /etc/rc.d/init.d/blk-availability
< ls ... /etc/rc.d/init.d/lvm2-monitor > ? y
-r-xr-xr-x. 1 root root 2.7K Nov 24 00:25 /etc/rc.d/init.d/lvm2-monitor
²éÕÒ/etc/Ŀ¼ÏÂÖÁÉÙÓÐÒ»ÀàÓû§Ã»ÓÐдȨÏÞ²¢ÓÃ-execÃüÁîÏÔʾ³öÀ´
[root@station103 ~]# find /tmp/ -not -perm -222 -exec ls -lh {} \;
-rw-r--r-- 1 513 513 124 Feb 16 07:32 /tmp/.bashrc
-rw-r--r-- 1 513 513 18 Feb 16 07:32 /tmp/.bash_logout
-rw-r--r-- 1 root root 921 Sep 15 2011 /tmp/fstab
-rw-r--r-- 1 517 hao 0 Feb 20 04:57 /tmp/yang.doc
total 8.0K

ÓÉÓÚ±¾ÈËÏÖ»¹ÔÚѧϰ½×¶Î£¬Ò²ÊǵÚÒ»´Îдblog£¬Ð´µÄ²»ºÃ¼°Óв»¶ÔÖ®´¦£¬»¹Çë¸÷λ´óÀÐÃǶà¶àÖ¸³ö£¬Ð»Ð»¡£

×÷Õߣºwfnygah
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ