Linux——學習篇(二)之find命令

Linux中的find命令:

   對於Linux而言,有着“一切皆文件”的這一特性,所以相比較windows而言對於文件沒有後綴名,查找是並不輕鬆的的。因此,需要我們熟悉Linux下的find命令,更快地找到我們所需要的文件。

  1. 命令格式

    find   pathname   -options   [   -print  -exec   -ok ...]

  2. 命令參數

pathname: find 命令所查找的目錄路徑。例如用.來表示當前目錄,用、表示系統根目錄。

-print:      find命令將匹配的文件輸出到標準輸出。

-exec:         find命令對匹配的文件執行該參數所給的shell命令。

-ok:          與-exec的作用相同,在執行每一個命令之前,都會給出提示,讓用戶判斷是否執行。

 3.   命令選項

(1)-name   按照文件名查找文件。

查找在$HOME目錄下所有符合的log文件。

find ~ -name "*.log" -print  

想要在當前目錄及子目錄中查找所有的‘ *.log‘文件:

find . -name "*.log" -print  

想要的當前目錄及子目錄中查找文件名以一個大寫字母開頭的文件:

find . -name "[A-Z]*" -print  

想要在/etc目錄中查找文件名以host開頭的文件:

find /etc -name "host*" -print  

想要查找$HOME目錄中的文件:

find ~ -name "*" -print 或find . -print  

要想讓系統高負荷運行,就從根目錄開始查找所有的文件: 

find / -name "*" -print  

如果想在當前目錄查找文件名以一個個小寫字母開頭,最後是4到9加上.log結束的文件:  

find . -name "[a-z]*[4-9].log" -print

wKioL1c9sWHTZKm2AADHyB7hHzQ872.png

(2)-perm   按照文件權限來查找文件。

例:查找user爲可讀可寫可執行,group爲可讀可寫不可執行,other爲可讀不可寫不可執行(764):

wKiom1c9s1CAV9nzAACjJdtM0AM378.png

(3)-prune  使用這一選項可以使find命令不在當前指定的目錄中查找,如果同時使用-depth選項,那麼-prune將被find命令忽略。

例:TEST目錄下查找文件,但不希望在TEST/test目錄下查找

wKiom1c9t66xa6VqAABH3C89Vno113.png

(4)-user   按照文件屬主來查找文件。

例:在在$HOME目錄中查找文件屬主爲root/sust的文件

wKiom1c9vAexXP9QAABBaLnKO7c711.png

(5)-group      按照文件所屬的組來查找文件。

         -nogroup 查找沒有有效所屬用戶組的所有文件

例:在當前目錄下查找屬於root用戶組的文件和文件系統的根目錄處查找沒有有效所屬用戶組的所有文件

wKiom1c9v4SRYRYyAAA7XPQvPSU358.png

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

例:希望在系統當前目錄下查找更改時間在3日以內的文件:

find . -mtime -3 -print

爲了在根目錄下查找更改時間在3日以前的文件,可以用:

find  / -mtime +3 -print

(7)-newer file1 ! file2  查找更改時間比文件file1新但比文件file2舊的文件。

例:查找更改時間比文件test.c新但比文件Public舊的文件:

find -newer test.c ! -newer Public -print

wKiom1c9w1vD1liUAACfLXnQENM710.png

(8)-type  查找某一類型的文件,諸如:b - 塊設備文件。d - 目錄。c - 字符設備文件。p - 管道文件。l - 符號鏈接文件。f - 普通文件。

 例:在當前目錄下查找普通文件(f),目錄文件(d),符號連接文件(l)

wKioL1c9xoPhGm1DAABi--eCjMc905.png

(9)-size n:[c] 查找文件長度爲n塊的文件,帶有c時表示文件長度以字節計。-depth:在查找文件時,首先查找當前目錄中的文件,然後再在其子目錄中查找。

例:在當前目錄下查找文件長度爲10塊字節的文件 

find . -size 10 -print

find命令從當前目錄開始,查找一個名爲CON.FILE的文件。   

find . "CON.FILE" -depth -print

wKioL1c9yK2x26pjAAAiAn-QP_w607.png

(10)-mount:在查找文件時不跨越文件系統mount點

例:從當前目錄開始查找位於本文件系統中文件名以XC結尾的文件  

find . -name "*.XC" -mount -print

wKiom1c9yL_C0hzKAABM-xqA0eI834.png

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