find [option]... [查詢路徑] [查詢條件] [處理動作]
查詢路徑:指定具體目標路徑;預設為當前目錄
查詢條件:指定的查詢標準,可以檔名、大小、型別、許可權等標準進行;
預設為找出指定路徑下的所有檔案
處理動作:對符合條件的檔案做操作,預設輸出至螢幕
查詢條件
-name "檔名稱":支援使用glob , , , [^]
-iname "檔名稱":不區分字母大小寫
-inum n 按inode號查詢
-samefile name 相同inode號的檔案
-links n 鏈結數為n的檔案
-regex 「pattern」:以pattern匹配整個檔案路徑,而非檔名稱
根據屬主、屬組查詢:
-user username:查詢屬主為指定使用者(uid)的檔案
-group grpname: 查詢屬組為指定組(gid)的檔案
-uid userid:查詢屬主為指定的uid號的檔案
-gid groupid:查詢屬組為指定的gid號的檔案
-nouser:查詢沒有屬主的檔案
-nogroup:查詢沒有屬組的檔案*
根據檔案型別查詢
-type type
f: 普通檔案
d: 目錄檔案
l: 符號鏈結檔案
s:套接字檔案
b: 塊裝置檔案
c: 字元裝置檔案
p: 管道檔案
空檔案或目錄
-empty
find /app -type d -empty
組合條件:
與:-a
或:-o
非:-not !
找出/tmp目錄下,屬主不是root,且檔名不以f開頭的檔案
find /tmp ( -not -user root -a -not -name 'f' ) -ls
find /tmp -not ( -user root -o -name 'f' ) –ls
排除目錄 示例:
查詢/etc/下,除/etc/sane.d目錄的其它所有.conf字尾的檔案
find /etc -path 『/etc/sane.d』 -a –prune -o -name 「.conf」
查詢/etc/下,除/etc/sane.d和/etc/fonts兩個目錄的所有.conf字尾的檔案
find /etc ( -path "/etc/sane.d" -o -path "/etc/fonts" ) -a -prune -o -name ".conf"
根據檔案大小來查詢:
-size [+|-]#unit
常用單位:k, m, g,c(byte)
#unit: (#-1, #]
如:6k 表示(5k,6k]
-#unit:[0,#-1]
如:-6k 表示[0,5k]
+#unit:(#,∞)
如:+6k 表示(6k,∞)
根據時間戳:
以「天」為單位
-atime [+|-]#,
#: [#,#+1)
+#: [#+1, ∞ ]
-#: [0,#)
-mtime
-ctime
以「分鐘」為單位
-amin
-mmin
-cmin
find
根據許可權查詢:
-perm [/|-]mode
mode: 精確許可權匹配
/mode:任何一類(u,g,o)物件的許可權中只要能一位匹配即可,或關係,+
從centos7開始淘汰
-mode:每一類物件都必須同時擁有指定許可權,與關係
0 表示不關注
find -perm 755 會匹配許可權模式恰好是755的檔案
只要當任意人有寫許可權時,find -perm +222就會匹配
只有當每個人都有寫許可權時,find -perm -222才會匹配
只有當其它人(other)有寫許可權時,find -perm -002才會匹配
find 查詢命令
find 按條件查詢檔案 根據預設的條件遞迴查詢對應的檔案 find 目錄 條件1 a o 條件2 systemctl restart chronyd systemctl enable chronyd 常用條件表示 type 按文件型別查詢,檔案 f 目錄 d 裝置 b,c 快捷方式 鏈結 i na...
Linux命令 find 查詢命令
help引數,查詢命令引數 find help 命令格式 find h l p olevel d help tree search stat rates opt exec path expression 這樣的說法你能看的懂嗎?反正我是看不懂。於是乎使用 man find命令,得到各引數更詳細的解釋...
shell命令 find查詢命令
一般用法 find 目錄 引數 按要求列出指定目錄及其子目錄下的所有檔案和目錄,指定目錄要在引數之前限定查詢檔案型別 find type d 只列出目錄 find type f 只列出檔案限定查詢目錄的深度,僅查詢當前目錄而不查詢子目錄深度用1 find maxdepth 1 只查詢當前目錄 fin...