w3pop.com :: ÍøÂçѧԺ :: Linux :: linux find ÃüÁîʵÀý
·find path -option [ -print ] [ -exec -ok command ] {} \;
#-print ½«²éÕÒµ½µÄÎļþÊä³öµ½±ê×¼Êä³ö
#-exec command {} \; -----½«²éµ½µÄÎļþÖ´ÐÐcommand²Ù×÷,{} ºÍ \;Ö®¼äÓпոñ
#-ok ºÍ-execÏàͬ£¬Ö»²»¹ýÔÚ²Ù×÷ǰҪѯÓû§
====================================================
-name filename #²éÕÒÃûΪfilenameµÄÎļþ
-perm #°´Ö´ÐÐȨÏÞÀ´²éÕÒ
-user username #°´ÎļþÊôÖ÷À´²éÕÒ
-group groupname #°´×éÀ´²éÕÒ
-mtime -n +n #°´Îļþ¸ü¸Äʱ¼äÀ´²éÕÒÎļþ£¬-nÖ¸nÌìÒÔÄÚ£¬+nÖ¸nÌìÒÔǰ
-atime -n +n #°´Îļþ·ÃÎÊʱ¼äÀ´²é
-perm #°´Ö´ÐÐȨÏÞÀ´²éÕÒ
-user username #°´ÎļþÊôÖ÷À´²éÕÒ
-group groupname #°´×éÀ´²éÕÒ
-mtime -n +n #°´Îļþ¸ü¸Äʱ¼äÀ´²éÕÒÎļþ£¬-nÖ¸nÌìÒÔÄÚ£¬+nÖ¸nÌìÒÔǰ
-atime -n +n #°´Îļþ·ÃÎÊʱ¼äÀ´²éÕÒÎļþ£¬-nÖ¸nÌìÒÔÄÚ£¬+nÖ¸nÌìÒÔǰ
-ctime -n +n #°´Îļþ´´½¨Ê±¼äÀ´²éÕÒÎļþ£¬-nÖ¸nÌìÒÔÄÚ£¬+nÖ¸nÌìÒÔǰ
-nogroup #²éÎÞÓÐЧÊô×éµÄÎļþ£¬¼´ÎļþµÄÊô×éÔÚ/etc/groupsÖв»´æÔÚ
-nouser #²éÎÞÓÐЧÊôÖ÷µÄÎļþ£¬¼´ÎļþµÄÊôÖ÷ÔÚ/etc/passwdÖв»´æ
-newer f1 !f2 ÕÒÎļþ£¬-nÖ¸nÌìÒÔÄÚ£¬+nÖ¸nÌìÒÔǰ
-ctime -n +n #°´Îļþ´´½¨Ê±¼äÀ´²éÕÒÎļþ£¬-nÖ¸nÌìÒÔÄÚ£¬+nÖ¸nÌìÒÔǰ
-nogroup #²éÎÞÓÐЧÊô×éµÄÎļþ£¬¼´ÎļþµÄÊô×éÔÚ/etc/groupsÖв»´æÔÚ
-nouser #²éÎÞÓÐЧÊôÖ÷µÄÎļþ£¬¼´ÎļþµÄÊôÖ÷ÔÚ/etc/passwdÖв»´æ
-newer f1 !f2 #²é¸ü¸Äʱ¼ä±Èf1е«±Èf2¾ÉµÄÎļþ
-type b/d/c/p/l/f #²éÊÇ¿éÉ豸¡¢Ä¿Â¼¡¢×Ö·ûÉ豸¡¢¹ÜµÀ¡¢·ûºÅÁ´½Ó¡¢ÆÕͨÎļþ
-size n[c] #²é³¤¶ÈΪn¿é[»òn×Ö½Ú]µÄÎļþ
-depth #ʹ²éÕÒÔÚ½øÈë×ÓĿ¼ǰÏÈÐвéÕÒÍ걾Ŀ¼
-fstype #²é¸ü¸Äʱ¼ä±Èf1е«±Èf2¾ÉµÄÎļþ
-type b/d/c/p/l/f #²éÊÇ¿éÉ豸¡¢Ä¿Â¼¡¢×Ö·ûÉ豸¡¢¹ÜµÀ¡¢·ûºÅÁ´½Ó¡¢ÆÕͨÎļþ
-size n[c] #²é³¤¶ÈΪn¿é[»òn×Ö½Ú]µÄÎļþ
-depth #ʹ²éÕÒÔÚ½øÈë×ÓĿ¼ǰÏÈÐвéÕÒÍ걾Ŀ¼
-fstype #²éλÓÚijһÀàÐÍÎļþϵͳÖеÄÎļþ£¬ÕâЩÎļþϵͳÀàÐÍͨ³£¿É ÔÚ/etc/fstabÖÐÕÒµ½
-mount #²éÎļþʱ²»¿çÔ½Îļþϵͳmountµã
-follow #Èç¹ûÓöµ½·ûºÅÁ´½ÓÎļþ£¬¾Í¸ú×ÙÁ´½ÓËùÖ¸µÄÎļþ
-cpio #²éλÓÚijһÀàÐÍÎļþϵͳÖеÄÎļþ£¬ÕâЩÎļþϵͳÀàÐÍͨ³£¿É ÔÚ/etc/fstabÖÐÕÒµ½
-mount #²éÎļþʱ²»¿çÔ½Îļþϵͳmountµã
-follow #Èç¹ûÓöµ½·ûºÅÁ´½ÓÎļþ£¬¾Í¸ú×ÙÁ´½ÓËùÖ¸µÄÎļþ
-cpio #¶ÔÆ¥ÅäµÄÎļþʹÓÃcpioÃüÁ½«ËûÃDZ¸·Ýµ½´Å´øÉ豸ÖÐ
-prune #ºöÂÔij¸öĿ¼
====================================================
$find ~ -name "*.txt" -print #ÔÚ$HOMEÖвé.txtÎļþ²¢ÏÔʾ
$find . -name "*.txt" -print
$find . -name "[A-Z]*" -pri26nbsp; #¶ÔÆ¥ÅäµÄÎļþʹÓÃcpioÃüÁ½«ËûÃDZ¸·Ýµ½´Å´øÉ豸ÖÐ
-prune #ºöÂÔij¸öĿ¼
=====================================================
$find ~ -name "*.txt" -print #ÔÚ$HOMEÖвé.txtÎļþ²¢ÏÔʾ
$find . -name "*.txt" -print
$find . -name "[A-Z]*" -print #²éÒÔ´óд×Öĸ¿ªÍ·µÄÎļþ
$find /etc -name "host*" -print #²éÒÔhost¿ªÍ·µÄÎļþ
$find . -name "[a-z][a-z][0--9][0--9].txt" -print #²éÒÔÁ½¸öСд×ÖĸºÍÁ½¸öÊý×Ö¿ªÍ·µÄtxtÎļþ
$find . -perm 755 -print
$find . -perm -007 -exec ls -l {} \; #²éËùÓÐÓû§¶¼¿É¶ÁдִÐеÄÎļþͬ-perm 777
$find . -type d -print
$find . ! -type d -print
$find . -type l -print
$find . -size +1000000c -print #²é³¤¶È´óÓÚ1MbµÄÎļþ
$find . -size 100c -print # ²é³¤¶ÈΪ100cµÄÎļþ
$find . -size +10 -print #²é³¤¶È³¬¹ýÆÚ×÷·Ï10¿éµÄÎļþ£¨1¿é=512×Ö½Ú£©
$cd /
$find etc home apps -depth -print | cpio -ivcdC65536 -o /dev/rmt0
$find /etc -name "passwd*" -exec grep "cnscn" {} \; #¿´ÊÇ·ñ´æÔÚcnscnÓû§
$find . -name "yao*" | xargs file
$find . -name "yao*" | xargs echo "" > /tmp/core.log
$find . -name "yao*" | xargs chmod o-w
======================================================
find -name april* ÔÚµ±Ç°Ä¿Â¼Ï²éÕÒÒÔapril¿ªÊ¼µÄÎļþ
find -name april* fprint file ÔÚµ±Ç°Ä¿Â¼Ï²éÕÒÒÔapril¿ªÊ¼µÄÎļþ£¬²¢°Ñ½á¹ûÊä³öµ½fileÖÐ
find -name ap* -o -name may* ²éÕÒÒÔap»òmay¿ªÍ·µÄÎļþ
find /mnt -name tom.txt -ftype vfat ÔÚ/mntϲéÕÒÃû³ÆÎªtom.txtÇÒÎļþϵͳÀàÐÍΪvfatµÄÎļþ
find /mnt -name t.txt ! -ftype vfat ÔÚ/mntϲéÕÒÃû³ÆÎªtom.txtÇÒÎļþϵͳÀàÐͲ»ÎªvfatµÄÎļþ
find /tmp -name wa* -type l ÔÚ/tmpϲéÕÒÃûΪwa¿ªÍ·ÇÒÀàÐÍΪ·ûºÅÁ´½ÓµÄÎļþ
find /home -mtime -2 ÔÚ/homeϲé×î½üÁ½ÌìÄڸ͝¹ýµÄÎļþ
find /home -atime -1 ²é1ÌìÖ®ÄÚ±»´æÈ¡¹ýµÄÎļþ
find /home -mmin +60 ÔÚ/homeϲé60·ÖÖÓǰ¸Ä¶¯¹ýµÄÎļþ
find /home -amin +30 ²é×î½ü30·ÖÖÓǰ±»´æÈ¡¹ýµÄÎļþ
find /home -newer tmp.txt ÔÚ/homeϲé¸üÐÂʱ¼ä±Ètmp.txt½üµÄÎļþ»òĿ¼
find /home -anewer tmp.txt ÔÚ/homeÏÂ²é´æÈ¡Ê±¼ä±Ètmp.txt½üµÄÎļþ»òĿ¼
find /home -used -2 ÁгöÎļþ»òĿ¼±»¸Ä¶¯¹ýÖ®ºó£¬ÔÚ2ÈÕÄÚ±»´æÈ¡¹ýµÄÎļþ»òĿ¼
find /home -user cnscn Áгö/homeĿ¼ÄÚÊôÓÚÓû§cnscnµÄÎļþ»òĿ¼
find /home -uid +501 Áгö/homeĿ¼ÄÚÓû§µÄʶ±ðÂë´óÓÚ501µÄÎļþ»òĿ¼
find /home -group cnscn Áгö/homeÄÚ×éΪcnscnµÄÎļþ»òĿ¼
find /home -gid 501 Áгö/homeÄÚ×éidΪ501µÄÎļþ»òĿ¼
find /home -nouser Áгö/homeÄÚ²»ÊôÓÚ±¾µØÓû§µÄÎļþ»òĿ¼
find /home -nogroup Áгö/homeÄÚ²»ÊôÓÚ±¾µØ×éµÄÎļþ»òĿ¼
find /home -name tmp.txt -maxdepth 4 Áгö/homeÄÚµÄtmp.txt ²éʱÉî¶È×î¶àΪ3²ã
find /home -name tmp.txt -mindepth 3 ´ÓµÚ2²ã¿ªÊ¼²é
find /home -empty ²éÕÒ´óСΪ0µÄÎļþ»ò¿ÕĿ¼
find /home -size +512k ²é´óÓÚ512kµÄÎļþ
find /home -size -512k ²éСÓÚ512kµÄÎļþ
find /home -links +2 ²éÓ²Á¬½ÓÊý´óÓÚ2µÄÎļþ»òĿ¼
find /home -perm 0700 ²éȨÏÞΪ700µÄÎļþ»òĿ¼
find /tmp -name tmp.txt -exec cat {} \;
find /tmp -name tmp.txt -ok rm {} \;
find / -amin -10 # ²éÕÒÔÚϵͳÖÐ×îºó10·ÖÖÓ·ÃÎʵÄÎļþ
find / -atime -2 # ²éÕÒÔÚϵͳÖÐ×îºó48Сʱ·ÃÎʵÄÎļþ
find / -empty # ²éÕÒÔÚϵͳÖÐΪ¿ÕµÄÎļþ»òÕßÎļþ¼Ð
find / -group cat # ²éÕÒÔÚϵͳÖÐÊôÓÚ groupcatµÄÎļþ
find / -mmin -5 # ²éÕÒÔÚϵͳÖÐ×îºó5·ÖÖÓÀïÐ޸ĹýµÄÎļþ
find / -mtime -1 #²éÕÒÔÚϵͳÖÐ×îºó24СʱÀïÐ޸ĹýµÄÎļþ
find / -nouser #²éÕÒÔÚϵͳÖÐÊôÓÚ×÷·ÏÓû§µÄÎļþ
find / -user fred #²éÕÒÔÚϵͳÖÐÊôÓÚFREDÕâ¸öÓû§µÄÎļþ
²éµ±Ç°Ä¿Â¼ÏµÄËùÓÐÆÕͨÎļþ
--------------------------------------------------------------------------------
# find . -type f -exec ls -l {} \;
-rw-r--r-- 1 root root 34928 2003-02-25 ./conf/httpd.conf
-rw-r--r-- 1 root root 12959 2003-02-25 ./conf/magic
-rw-r--r-- 1 root root 180 2003-02-25 ./conf.d/README
²éµ±Ç°Ä¿Â¼ÏµÄËùÓÐÆÕͨÎļþ£¬²¢ÔÚ- e x e cÑ¡ÏîÖÐʹÓÃls -lÃüÁËüÃÇÁгö
=================================================
ÔÚ/ l o g sĿ¼ÖвéÕÒ¸ü¸Äʱ¼äÔÚ5ÈÕÒÔǰµÄÎļþ²¢É¾³ýËüÃÇ£º
$ find logs -type f -mtime +5 -exec -ok rm {} \;
=================================================
²éѯµ±ÌìÐ޸ĹýµÄÎļþ
[root@book class]# find ./ -mtime -1 -type f -exec ls -l {} \;
=================================================
²éѯÎļþ²¢Ñ¯ÎÊÊÇ·ñÒªÏÔʾ
[root@book class]# find ./ -mtime -1 -type f -ok ls -l {} \;
< ls ... ./classDB.inc.php > ? y
-rw-r--r-- 1 cnscn cnscn 13709 1ÔÂ 12 12:22 ./classDB.inc.php
[root@book class]# find ./ -mtime -1 -type f -ok ls -l {} \;
< ls ... ./classDB.inc.php > ? n
[root@book class]#
=================================================
²éѯ²¢½»¸øawkÈ¥´¦Àí
[root@book class]# who | awk '{print $1"\t"$2}'
cnscn pts/0
=================================================
awk---grep---sed
[root@book class]# df -k | awk '{print $1}' | grep -v 'none' | sed s"/\/dev\///g"
Îļþϵͳ
sda2
sda1
[root@book class]# df -k | awk '{print $1}' | grep -v 'none'
Îļþϵͳ
/dev/sda2
/dev/sda1
1)ÔÚ/tmpÖвéÕÒËùÓеÄ*.h£¬²¢ÔÚÕâЩÎļþÖвéÕÒ“SYSCALL_VECTOR"£¬×îºó´òÓ¡³öËùÓаüº¬"SYSCALL_VECTOR"µÄÎļþÃû
A) find /tmp -name "*.h" | xargs -n50 grep SYSCALL_VECTOR
B) grep SYSCALL_VECTOR /tmp/*.h | cut -d':' -f1| uniq > filename
C) find /tmp -name "*.h" -exec grep "SYSCALL_VECTOR" {} \; -print
2)find / -name filename -exec rm -rf {} \;
find / -name filename -ok rm -rf {} \;
3)±ÈÈçÒª²éÕÒ´ÅÅÌÖдóÓÚ3MµÄÎļþ£º
find . -size +3000k -exec ls -ld {} ;
4)½«find³öÀ´µÄ¶«Î÷¿½µ½ÁíÒ»¸öµØ·½
find *.c -exec cp '{}' /tmp ';'
Èç¹ûÓÐÌØÊâÎļþ£¬¿ÉÒÔÓÃcpio£¬Ò²¿ÉÒÔÓÃÕâÑùµÄÓï·¨£º
find dir -name filename -print | cpio -pdv newdir
6)²éÕÒ2004-11-30 16:36:37ʱ¸ü¸Ä¹ýµÄÎļþ
# A=`find ./ -name "*php"` | ls -l --full-time $A 2>/dev/null | grep "2004-11-30 16:36:37"
ÆÀÂÛ (0)
All