linux-----強大的find

j_0029.gif我又回來了。哈哈。今天我們來說一下linux中的另一個強大的find命令,灰常重要,灰常重要,灰常重要。顯而易見,find就是對某一個文件或者目錄的查找嘍。但是它的一個顯著的特點就是:一般放在後臺執行,從整個文件系統中遍歷,當然這樣的話,它查找的速度就相對比較慢了。

find也有很多的命令,我來一一介紹一下吧。

1.find + pathname(想要查找的目錄)

eg1:

wKioL1c1-s-wUqpfAAAw8pO5KtY998.png

find test:找出test目錄下的所有文件

eg2:

wKiom1c9FZ_SpJaPAAAna_zHwvI551.png


find /home -path "*c":查找出/home目錄下以c結尾的文件


eg3:

wKiom1c9YiOg9SEbAABUc8PKOdo828.png


find ./ -name *.txt:找出當前路徑下文件後綴爲.txt的文件


eg4:

wKiom1c9ZKqij7FfAABjVzGc7Ms254.png


find ../ -path '../test*' -name *.txt:在上級目錄下名爲'test'及子目錄下找出以.txt後綴的文件

find ../ -path '../test*' -name xu:在上級目錄下名爲'test'及子目錄下找出名爲xu的文件


2.find + -user + 文件屬主(按文件屬主查找文件)

eg:

wKiom1c9EQLgGyF3AABtpnQ3SDU239.png

find -user root:找出user爲root權限的所有文件


3.find + -perm + 文件權限(按文件權限查找文件)

eg:

wKiom1c9FEeRi8fPAABWcGWVsyA377.png

find -perm 644:權限爲644的文件

find -perm 755:權限爲755的文件


4.find + -group + 權限(按所屬組的權限查找文件)

eg1:

wKioL1c9aAHgp7DhAACyO6vTCMw827.png


find -group root:找出所屬組權限爲root的文件

find -group admin:找出所屬組權限爲admin的文件


5.path與prune的結合(prune是刪除,減去的意思哦)

wKioL1c9afyDfmAuAAB87334LrI894.png

find ./ -path './xu.txt*' -a -prune -o -name *.txt -print:除去xu.txt及子目錄下找後綴名爲.txt的文件

find ./ -path './xu*' -a -prune -o -name *.txt -print:除去xu及子目錄下找後綴名爲.txt的文件,雖然這裏沒有直接包含xu.txt,但是xu*的意思包含了.txt的文件,所以沒有找到,當然就沒有顯示出

find ./ -path './test*' -a -prune -o -name *.txt -print:除去test及子目錄下找後綴名爲.txt的文件,不包含xu.txt,所以就正確的輸出了後綴名爲.txt的文件


6.find + -mtime + -n(+n)  按照文件的更改時間來查找文件,-n表示文件更改時間距現在n天以內,+ n表示文件更改時間距現在n天以前。find命令還有-atime和-ctime選項,但它們都和-mtime選項相同。

atime的意思是access time,即文件的最近的一次訪問時間,+n意思爲查找n天以前的文件,-n爲查找n天以內的文件。

find命令加選項-ctime,這裏的-ctime是change time。

wKiom1c9bf-xqOifAAA3H5ar3H4135.png

find -mtime -1:找出一天以內的文件

find -mtime +1:找出距現在一天以前的文件


7.-nogroup  查找無有效所屬組的文件,即該文件所屬的組在/etc/groups中不存在。

wKioL1c9eZ-BE22EAADnjTTSkh4565.png



groupadd test:創建一個組test。

chgrp test test.c:改變所屬組。

groupdel test:刪除test組,使其變爲無效組。

find -nogroup:找到無效組的文件。

8.find + -nouser   查找無有效屬主的文件,即該文件的屬主在/etc/passwd中不存在。

wKiom1c9e7TReor7AACk4iFq2i4859.png


useradd ooo:添加用戶。

chown ooo test.c:修改test.c的用戶名爲ooo。

userdel ooo:刪除用戶ooo,使其成爲無效的用戶。

find -nouser:查找無效的用戶。


9.find + -newer file1  查找更改時間比文件file1新的文件。

eg1:

wKiom1c9qDuCkVJ2AABRf6l-5c4140.png


eg2:


wKiom1c-vsXQsYbhAAFsR9sE90g967.png

 

 find . -newer file1 ! -newer file2:找出比file1新,比file2舊的文件。

10.find + -type  查找某一類型的文件,諸如:

b -塊設備文件。

d - 目錄。 

c - 字符設備文件。

p - 管道文件。 

l - 符號鏈接文件。

f - 普通文件。 

wKiom1c9x_fAcfD4AAEjYDHVc40426.png


11.find + -depth:在查找文件時,首先查找當前目錄中的文件,然後再在其子目錄中查找。


wKiom1c9yJvypadeAAApICXUnrw463.png


12.find + -mount:在查找文件時不跨越文件系統mount點。


wKioL1c9ycXAvEoeAAAdbgFPEo0302.png


13.find + -follow:如果find命令遇到符號鏈接文件,就跟蹤至鏈接所指向的文件。


wKioL1c9yhvgWYsCAAAjfrZOw7Y989.png

 

今天的find就說到這裏咯。當然還有些沒有寫上去,完了還會補充的哦。大家有什麼補充的,意見或建議都可以提哦,也可以直接評論。希望親們多多關注哦。j_0059.gifj_0059.gif



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章