Linux文件查找進階知識,find命令的用法及解讀

1、上面講到了使用locate查找文件,它是進行非實時的、模糊查找,基於對某段時間建立的數據庫來對文件進行搜索,查找時間相對快速,今天來看看另一個文件查找工具find,它是對文件進行實時查找、精確查找、搜索指定目錄中所有的文件來完成檢查,查找文件速度慢,所以使用該工具時需要把查找範圍控制相對準確這樣查找時間會快很多

2、下面就來看看find命令的幫助信息吧,如下圖

Linux文件查找進階知識,find命令的用法及解讀

3、下面就來看看這個命令怎麼用吧,如下圖,在該目錄中有1、2、3、a等等這些文件,那麼使用find來查找1的查找路徑默認是查找當前目錄下,查找標準是當前目錄下的所有文件

Linux文件查找進階知識,find命令的用法及解讀

4、下面來看看匹配標準,如下圖,對文件名做精確匹配,比如搜索當前目錄下的a1,使用-name參數可以對文件進行精確匹配

Linux文件查找進階知識,find命令的用法及解讀

5、通配符的使用,如下圖,在-name後搜索a*,就會出現所有前面為a的文件

Linux文件查找進階知識,find命令的用法及解讀

6、對文件的大小寫進行不區分匹配,如下圖,使用-iname可以進行不區分大小寫的文件查找

Linux文件查找進階知識,find命令的用法及解讀

7、根據文件的擁有者進行查找,如下圖,查找所有user1所屬的文件

Linux文件查找進階知識,find命令的用法及解讀

8、也可以通過查找擁有組來實現,如下圖,查找所有user1組所屬的文件

Linux文件查找進階知識,find命令的用法及解讀

9、還可以通過uid、gid來進行查找,如下圖

Linux文件查找進階知識,find命令的用法及解讀

10、通過-nouser、-nogroup參數可以查看沒有擁有者或擁有組的文件,如下圖,至於怎麼製作沒有擁有者的文件,只需要刪除該用戶,那麼它創建的文件就會成為沒有擁有者的文件了

Linux文件查找進階知識,find命令的用法及解讀

11、通過文件的類型進行查找,文件類型之前也有說過,有普通文件、目錄、塊設備、鏈接等,而對這些文件進行查找呢,如下圖,-type是查找文件類型,後面的d代表目錄、l代表鏈接、b代表塊設備、f代表普通文件

Linux文件查找進階知識,find命令的用法及解讀

12、根據文件的大小進行查找,使用-size參數,如下圖,對大於1k及小於1k的文件進行查找,-size後面的參數如果是+1k即代表大於1k,-1K即代表小於1k,如果是1k即代表1k左右

Linux文件查找進階知識,find命令的用法及解讀

13、通過組合條件來進行文件查找,默認使用-a或and,如下圖,可以看到這個文件在3-4k之間,如果需要搜索的內容同時滿足兩個條件,就可以使用-a或and參數

Linux文件查找進階知識,find命令的用法及解讀

14、上面講到了-a,也就是"與"的關係,那麼自然有"或"、"非"的關係,下面來講講"或"的關係,使用-o或or都可以實現,如下圖,可以看到,只要是文件都列入到結果中了,當然滿足文件大小4k左右的結果也在其中了

Linux文件查找進階知識,find命令的用法及解讀

15、"非"是使用-not,如下圖,搜索除了文件之外的內容,所以就只顯示目錄了

Linux文件查找進階知識,find命令的用法及解讀

16、對上面的命令,再集合-a或-o來進行組合,如下圖,查找了當前目錄中既不屬於user2又不屬於user3的文件

Linux文件查找進階知識,find命令的用法及解讀

17、也可以對上面的命令寫成這樣,如下圖,使用\\來對(進行轉義,實現了與上面相同的效果

Linux文件查找進階知識,find命令的用法及解讀

18、通過時間戳進行文件查找,如下圖,使用-atime後接數字(如+1就是1天之前的訪問,-1就是1天之內的訪問,1就是1天時間訪問),使用-amin後接數字,使用方式參考-atime

Linux文件查找進階知識,find命令的用法及解讀

19、除了atime,還有mtime、ctime、mmin、cmin,在前面的文件時間中講道理這方面的知識,如下圖,通過stat命令查看ur3的文件訪問時間、修改時間、數據改變時間,前面的atime對應的就是文件訪問時間的查找,mtime就是文件修改時間,ctime就是文件的數據改變時間

Linux文件查找進階知識,find命令的用法及解讀

20、通過權限查找文件,使用-perm,如下圖,通過-perm查找權限為644的文件,這樣寫是對權限為644的文件進行精確匹配

Linux文件查找進階知識,find命令的用法及解讀

21、那麼不需要精確匹配呢,只需要在前面加/即可,如下圖,只要符合644中的任何一項就會被顯示到結果中

Linux文件查找進階知識,find命令的用法及解讀

22、對顯示結果進行進一步操作,如下圖,對查找結果進行打印並且列出,以及下面的直接列出,對比前面的結果,這樣顯示無疑更加豐富

Linux文件查找進階知識,find命令的用法及解讀

23、也可以對輸出的結果進行權限調整,如下圖,uA1本來是644的權限,在find出結果後加上-ok參數後加命令,也就是在每一次操作都需要確認,來將uA1修改為646的權限

Linux文件查找進階知識,find命令的用法及解讀

24、也可以通過-exec後直接加命令全部執行,如下圖,將顯示結果直接修改為644,或者-exec後接其他的可執行命令,如mv、cp、chown、chgrp、重定向等

Linux文件查找進階知識,find命令的用法及解讀

25、以上就是關於find命令的一點理解了


分享到:


相關文章: