find:通過遍歷指定的目標目錄,實時查詢符合指定屬性的檔案
優點:精確匹配進行查詢
缺點:速度略慢
用法:
find [option] [查詢路徑] [查詢條件] [處理動作]
查詢路徑:預設為當前路徑
查詢條件:預設為指定路徑下的所有檔案
處理動作:預設是在螢幕顯示出來
查詢條件:
-name:查詢時區別檔案大小寫,支援glob
*,?,,[^]
-iname:查詢時不區分檔案大小寫
-user username:根據檔案屬主查詢
-group username:根據檔案屬組查詢
-uid uid:根據指定的uid查詢
當原有的使用者被刪除時,他之前所建立的檔案的屬主屬組,變成他之前帳號的uig和gid
-gid gid:根據指定的gid查詢
-nouser:查詢沒有屬主的檔案
-nogroup:查詢沒有屬組的檔案
-type type:根據檔案型別查詢
-size type:根據檔案大小查詢
-atime [+|-]#:最近幾天訪問過的檔案
-mtime[+|-]#: 最近幾天修改過的檔案
-ctime[+|-]#: 最近幾天改變的檔案
-amin[+|-]#: 最近幾分鐘內訪問過的檔案
-mmin[+|-]#: 最近幾分鐘內修改過的檔案
-cmin[+|-]#: 最近幾分鐘內改變過的檔案
-perm [+|-]mode:根據許可權查詢
-maxdepth: 查詢最在深度,例:-maxdepth 1表示只在當前目錄下找,而不去找當前目錄下的目錄
-mindepth: 查詢最小深度
組合查詢條件:
-o:或者
!, -not:非
根據檔案型別查詢
-type type:
f:普通檔案
d:目錄檔案
l:符號鏈結檔案
b:塊裝置
c:字元設定檔案
p:命令名管道
s:表示套接字檔案
根據檔案大小查詢
常用單位:k,m,g
+;大於
-;小於
什麼都不帶表示為精確的大小
#unit:表示 #-1< x <=# 以2k為例;2-1< x <=2 查詢的是0大於1k和小於等於2k的所有檔案都符合
-#unit:x <= #-1 以2k為例:x <= 2-1查詢的是小於等於1k的所有檔案
根據時間戳查詢:
以「天」為單位:
# <= x < #+1
比如想要查詢3天前訪問的檔案 -atime 3
輸出的結果應該為大於等於3天,小於4天的內容
-#: x < #
+#:x >= #+1
以「分鐘」為單位:
根據許可權查詢:
-perm [+|-]mode:
mode:精確匹配許可權
例:find ./ -perm 755 #查詢指定許可權為755的檔案
/mode(在centos6,7上面用/號,表示+號):任何一類使用者的許可權只要包含對其指定的任何一位許可權即可
例:600許可權 隨便匹配一類就可以,要麼屬主是6,要麼屬組是0,要麼其它是0,都匹配
-mode:每一類使用者的許可權都包含對其指定的所有許可權,與許可權
例:找到字尾為txt的檔案,並且具有執行的檔案(u,g,o任意乙個具有x的都可以)
#find ./ -name "*.txt" -a -perm /a+x
找到後的處理操作:
-print:預設動作,列印至螢幕
-delete:刪除查詢到的檔案
-ls:顯示找到的檔案的詳細屬性
-fls /path/to/somewhere:查詢到的所有檔案的長格式資訊儲存至指定檔案中;
-exec command {} \;執行其它的操作,沒有互動,直接進行操作
{}:表示找到的檔名
{}:用於引用查詢到的檔名稱自身
-ok command {} \;對查詢到的每個檔案執行由command指定的命令;在執行命令前會進行互動式提示
例:find ./ -name "*.txt" -a -perm /u+x -ok rm -rf {} \;(在執行命令前進行提示)
注意:find命令會一次性找到所有符合條件的檔案,並一同傳遞給後面的命令,如果後面的命令不能接收較長的引數時,會報錯;解決辦法用xargs命令一條一條的傳遞給command,而不同時傳遞
用法例項:
例1:同時查詢2個檔案
find ./ -name "3.log" -o -name "4.log"
例2:同時排除2個檔案
find ./ ! \( -name "3.log" -o -name "4.log" \)
find ./ ! -name "3.log" -a ! -name "4.log"
weilovepan520
linux中find命令使用方法
基本格式 find path expression find name httpd.conf 在根目錄下查詢檔案httpd.conf,表示在整個硬碟查詢 find etc name httpd.conf 在 etc目錄下檔案httpd.conf find etc name srm 使用萬用字元 0或...
find命令詳解及使用方法
linux find命令用來在指定目錄下查詢檔案。任何位於引數之前的字串都將被視為欲查詢的目錄名。如果使用該命令時,不設定任何引數,則find命令將在當前目錄下查詢子目錄與檔案。並且將查詢到的子目錄和檔案全部進行顯示。語法 find path option print exec ok command...
linux中find命令使用方法
一.find命令 基本格式 find path expression 1.按照檔名查詢 1 find name httpd.conf 在根目錄下查詢檔案httpd.conf,表示在整個硬碟查詢 2 find etc name httpd.conf 在 etc目錄下檔案httpd.conf 3 fin...