1. 程式人生 > >linux(ubuntu)find命令詳解

linux(ubuntu)find命令詳解

find:
    實時查詢工具,通過遍歷指定路徑下的檔案系統完成檔案查詢。
特點:
    查詢速度慢
    精確查詢
    實時查詢
語法格式:
    find [option]... [查詢路徑] [查詢條件] [處理動作]
 
    查詢路徑:指定具體目標路徑;預設為當前目錄
    查詢條件:指定的查詢標準,可以檔名、大小、型別、許可權等標準進行;預設為找出指定路徑下所有檔案
    處理動作:對符合條件的檔案做什麼操作,預設為標準輸出至螢幕。、
              -print:預設動作,輸出至螢幕
              -ls:類似ls -l命令
              -delete:查找出然後刪除
              -fls /path/to/somefile
              -ok COMMAND {} \;對查到的每個檔案執行COMMAND命令,對於每個檔案執行命令,需互動確認
              -exec COMMAND {} \;直接處理,不互動。   {}:用於引用查詢到的檔名稱本身
    查詢條件:
        根據檔名查詢:
              -name "檔名稱"  (支援使用glob通配 *,?,[],[^])  例如 find /etc -name "passwd*"
              -iname "檔名稱" (不區分大小寫)
              -regex "PATTEN": 以PATTEN匹配整個檔案路徑字串,而不僅僅是檔名稱:
        根據屬主 屬組查詢
              -user USERNAME:查詢屬主為指定使用者的檔案
              group GROUPNAME:查詢屬組為指定使用者的檔案。
              -uid UserID:查詢屬主為指定UID的檔案
              -gid GroupID:查詢屬主為指定GID的檔案
              -nouser:查詢沒有屬主的檔案
              -nogroup:查詢沒有屬組的檔案

        
        根據檔案型別查詢:
              -type TYPE:
                 f:普通檔案
                 d:目錄檔案
                 l:符號連結檔案
                 s:套接字檔案
                 b:塊裝置檔案
                 c:字元裝置檔案
                 p:管道檔案
        組合條件(與 或 非)
          -a -o -n
        根據檔案大小來查詢:
            -size [+|-]#UNIT
               常用單位:k,M,G
               UNIT:(#-1,#]
              -UNIT:(0,#-1]
              +#UNIT:(#,oo)

        根據時間戳:
            以“天”為單位:
               -atime:  [+|-]#
               -mtime:
               -ctime:
            以“分鐘”為單位:
               -amin
               -mmin
               -cmin

         根據許可權來查詢
              -perm [+|-]MODE