天天看點

find指令

find指令詳解:

find是實時查找工具,通過便利指定起始路徑下檔案系統層級結構完成檔案查找:

工作特性:

查找速度慢,精确查找,實時查找

用法如下:

      find 

[OPTIONS] [查找起始路徑] [查找條件]  [處理動作]

    1)查找起始路徑:指定具體搜尋目标起始路徑:預設為目前目錄

    2)查找條件:指定的查找标準,可以根據檔案名、大小、類型、從屬關系、權限等等标準進行;查找條件預設為找出指定路徑下的所有檔案;

    3)處理動作:對符合 查找條件的檔案作出的操作,例如複制、粘貼、删除等操作,預設為輸出至标準輸出

    查找條件:

      表達式即為選項和測試

測試:結果通常為布爾型(要麼真,要麼假)

 a,根據檔案名查找:

     -name 

"pattern"

     -iname    

       這種檔案查找支援glob風格的通配符即:*,?, [],[^]

              -regex pattern:基于正規表達式模式查找檔案,比對的是整個路徑,而非其名

   b,根據檔案從屬關系查找:

    -user 

USERNAME:查找屬主指定使用者的所有檔案

    -group 

GRPNAME:查找屬組指定組的所有檔案

   -uid 

UID:查找屬主指定的UID的所有檔案;

   -gid     GID:查找屬組指定的GID的所有檔案;

   -nouser:查找沒有屬主的檔案;

 -nogroup:查找沒有屬組的檔案

 c,根據檔案的類型查找:

      -type  TYPE:

   f:普通檔案

       d:目錄檔案

        l:符号連結檔案

         b:塊裝置檔案

        c:字元裝置檔案

        p:管道檔案

        s:套接字檔案

 組合測試:

與:-a,預設組合邏輯

或:-o

非:-not,!

d,根據檔案大小查找:

  -size [+|-]#UNIT

    常用機關:k,M , G

      #UNIT:(#-1,#]

          -#UNIT:[0,#-1]

          +#UNIT:(0,00)

e,根據時間戳查找:

     以“天”為機關:

       -atime    [+|-]#

                  #:[#,#-1)

                 -#:(#,0]

                 +#:(00,#-1]

    -mtime

    -ctime

    以“分鐘”機關:

         -amin

    -mmin

    -cmin

f,根據權限查找:

    -perm  [/|-]mode

           mode:精确權限比對:

/mode:任何一類使用者(u,g,o)的權限中的任何一位(r,w,x)符合條件即滿足,9位權限之間存在“或”關系;

-mode:每一類使用者(u,g, o)的權限中的每一位(r,w,x)同時符合條件既滿足,9位權限之間存在“與”關系

處理動作:

    -print:輸出标準輸出,預設動作

    -ls

    -delete

     -fls  

/PATH/TO/SOMEFILE:

     -ok  

COMMAND {}  \;

      :對查找到的每個檔案執行由COMMAND表示的指令,每次操作都有使用者進行确認

    -exec  

COMMAND  {} \;   :對查找到的每個檔案執行由COMMAND表示的指令:

注:find傳遞查找到的檔案路徑至後面的指令時,是先查找出所有符合條件的檔案路徑,并一次性傳遞給後面的指令;但是有些指令不能接受過長的參數,此時指令執行會失敗(另一種方式可規避此問題:find | xargs  COMMAND)

上一篇: find 指令
下一篇: find指令

繼續閱讀