find命令:find命令是一款文件查詢定位工具,它可以精準(zhǔn)的定位到我們想要查找文件的路徑。
find主要特性有:
???1、精準(zhǔn)查找
???2、實時查找(在創(chuàng)建文件后能夠find查找其所在路徑,不同于locate)
???3、查找速度稍慢
find用法:
???find [options] [查找路徑] [查找名稱] [執(zhí)行條件]
常用的查找條件有:
???1、通過文件名查找
??????name:通過名稱查找
??????iname:忽略文件名大小寫查找
???示例:查找/etc目錄下passwd文件
???find /etc -name "passwd"???find /etc -iname "PASSWD"(都能查找出passwd文件所在路徑)

???2、通過從屬關(guān)系查找
??????-user:通過文件屬主查找
??????-group:通過文件屬組查找
??????-uid:通過uid查找
??????-gid:通過gid查找
???示例:
find /data -user xiaomei:查找/data目錄下文件屬主為xiaomei文件的所在位置
find /data -group xiaomei:查找/data目錄下文件屬組為xiaomei文件的所在位置
find /data -uid 0:查找/data目錄下文件屬主uid為0文件所在位置
find /data -gid 0:查找/data目錄下文件屬組gid為0文件所在文職
???3、通過文件權(quán)限定位
??????-perm mode:精確權(quán)限匹配
??????-perm /mode:任何一類u、g、o用戶權(quán)限中有任何一位r、w、x權(quán)限即滿足條件
??????-perm -mode:任何一類u、g、o用戶權(quán)限必須同時滿足指定r、w、x的權(quán)限
???示例:
find /data -perm 222:表示文件的屬主、屬組和其它用戶對文件只具有“寫”權(quán)限
find /data -perm /222:表示文件的屬主、屬組和其它用戶中至少一類用戶滿足“寫”權(quán)限即可
find /data -perm /222:表示文件的屬主、屬組和其它用戶必須都有“寫”權(quán)限
???4、通過文件類型定位
??????-type TYPE
???????-d:查找目錄文件
???????-f:查找普通文件
???????-b:查找塊設(shè)備文件
???????-c:查找字符設(shè)備文件
???????-l:查找符號鏈接文件
???????-p:查找管道文件
???????-s:查找套接文件
???5、通過時間戳匹配
?????通過訪問時間atime
`-atime [+ | -]n`
`-atime n`:(-n-1,n]
-atime 7:表示在前8天到第7天訪問過的文件,第8天不算,以小時來算就是(192,168]之間被訪問過的文件
`-atime -n`:[0,-n)
`-atime +n`:(-n,∞)
這里為了能夠很好的理解,把n當(dāng)做負(fù)數(shù),實際上“天”是沒有負(fù)數(shù)的
?????通過數(shù)據(jù)更改時間mtime
`-mtime [+ | -]n`
`-mtime n`:-n-1 < -n <= -n
`-mtime -n`:[0,-n)
`-mtime +n`:(-n,∞)
?????通過元數(shù)據(jù)更改時間mtime
`-ctime [+ | -]n`
`-ctime n`:-n-1 < -n <= -n
`-ctime -n`:[0,-n)
`-ctime +n`:(-n,∞)
???6、通過文件大小匹配
?????-size [+ | -]n
`-size n`:n-1 < x <= n (n-1,n)
`-size +n`:(n,∞)
`-size -n`:[0,n-1]
例如:以10K來比較(-size 10K表示大于9K小于等于10K就符合)
(-size +10K表示大于10K就符合)
(-szie -10K表示大于0小于等于9K就符合)
常用邏輯關(guān)系有:
-a:邏輯與
例如:find /data -user root -a -group root(表示屬主和屬組為root的文件)
-o:邏輯或
例如:find /data -user root -0 -group root(表示屬主或?qū)俳M為root的文件)
-not/!:取反
例如:find /data -not -user root -a -not -group root(表示屬主和屬組都不是root的文件)
處理動作有:
ls:這里的ls實際上等于ls -l
delete:刪除查找出的文件
-fls /path:將查找出來的文件以長格式保存至其它文件中
-ok command {} ;\:{}表示前面命令查找出來的結(jié)果,;\為固定格式,使用-ok處理文件會有提示信息(例如:find /etc -name "passwd" -ok delete {} ;\將查找出來的passwd文件刪除,并提示)
-exec command {} ;\:使用-exec處理文件不會有提示信息(例如:find /etc -name "passwd" -ok delete {} ;\將查找出來的passwd文件刪除,并不提示)
以上則為find命令常見是使用方法