為什么要使用find命令?
Linux系統(tǒng)中有著成千上萬(wàn)的文件,如果你想要找到自己想要的文件,一款查找軟件是必不可少的,而locate是根據(jù)其生成的數(shù)據(jù)庫(kù)進(jìn)行查找,雖然速度會(huì)略快,但非實(shí)時(shí)查找,有些新的文件或目錄是匹配不到的,而且locate是模糊匹配,而find命令為實(shí)時(shí)查找,且為精確匹配,如果你對(duì)目錄的權(quán)限夠大linux命令,想查什么就查什么!
find命令的語(yǔ)法格式:
find [查找路徑] [查找條件] [處理動(dòng)作]
[root@localhost test]# find -type f -ls // 如果不指定查找路徑,則在當(dāng)前路徑查找
461307 4 -rwxrwxrwx 1 root root 25 Aug 15 21:41 ./f3
461333 0 -rwxr--r-- 1 root root 0 Aug 15 16:46 ./f1
1700 4 -rw---x--x 1 root root 6 Aug 15 17:50 ./f2
461335 4 -rw-r--r-- 1 root root 23 Aug 15 17:49 ./f1.gz
1)根據(jù)文件名和inode查找:
-name "文件名稱":支持使用glob
*, ?, [], [^]
[root@localhost test]# find /root -name f3 //查找/root目錄下 文件名為f3
/root/f3
/root/test/f3
[root@localhost test]# find /root -name f? //查找時(shí)候最后使用“”將文件名引起,不然可能會(huì)出問(wèn)題
find: paths must precede expression: f2
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
[root@localhost test]# find /root -name "f?" //加上引號(hào)后可以查找出來(lái),?代表任意單個(gè)字符
/root/f3
/root/test/f3
/root/test/f1
/root/test/f2
/root/f1
/root/vmware-tools-distrib/etc/messages/fr
/root/Desktop/f1
/root/Desktop/f2
/root/etc2016-08-11/vmware-tools/messages/fr
/root/etc2016-08-11/etc/vmware-tools/messages/fr
2)根據(jù)屬主和屬組查找
-user USERNAME:查找屬主為指定用戶(UID)的文件
-group GRPNAME: 查找屬組為指定組(GID)的文件
-uidUserID:查找屬主為指定的UID號(hào)的文件
-gidGroupID:查找屬組為指定的GID號(hào)的文件
-nouser:查找沒(méi)有屬主的文件
-nogroup:查找沒(méi)有屬組的文件
[root@localhost test]# find /var/ -user xiaoshui //查找/var/目錄下屬主為xiaoshui的文件或目錄
/var/spool/mail/xiaoshui
[root@localhost test]# find /tmp -group xiaoshui
[root@localhost test]# find /var -nouser -ls //查找/var/目錄下沒(méi)有屬主的文件的或目錄
67109563 0 -rw-rw---- 1 1002 mail 0 Jul 27 15:46 /var/spool/mail/shui
67109834 0 -rw-rw---- 1 1005 mail 0 Jul 30 15:54 /var/spool/mail/user1
67109549 0 -rw-rw---- 1 1006 mail 0 Aug 1 15:46 /var/spool/mail/gentoo
67401595 4 -rw-rw---- 1 4330 mail 646 Aug 16 09:19 /var/spool/mail/12
上一個(gè)教程:linux命令_linux 命令_linux解壓命令
下一個(gè)教程:【linux監(jiān)控網(wǎng)絡(luò)鏈接的命令】