初識linux下的find命令

1.認識find命令

關於find命令,本人認爲是linux當中所有的命令當中最重要的一個命令之一,所以,在這裏,我們來聊一聊find命令。

find命令用於在目錄下查找文件,find是在磁盤上進行查找,所以相對來說,效率會低一些。

首先,給出find命令所有的參數
-amin<分鐘>:查找在指定時間存取過的文件或者目錄,單位以分鐘計算。
上述就顯示了我15分鐘內存取過的文件或者目錄,這裏說的是被訪問,參考的是atime
這裏寫圖片描述

-anewwr<參考文件或目錄>:查找其存取時間較指定文件或目錄的存取時間更接近現在的文件或目錄
同樣,這個也是說的存取時間是atime爲參考對象。
這裏寫圖片描述

-atime<24小時數>:查找在指定時間曾被存取過的文件或目錄,單位以24小時計算。

這裏寫圖片描述
注意這裏也是說的是24小時同樣根據訪問時間來看的,atime爲基本來看,

-cmin<分鐘>:查找在指定的時間之時被更改過的文件或目錄。
這個命令對應着amin。這裏cmin是相對於ctime而言的。
這裏寫圖片描述
-daystart :從本日開始計算時間
這裏寫圖片描述
-depth:從指定目錄下最深層次的子目錄開始尋找
這裏寫圖片描述
-exec<執行指令>:假設find指令的回傳值爲True,就執行該指令;
例如:
這裏就是把find找到的所有普通文件,用ls -l 的方式打出來

這裏寫圖片描述

-fls<列表文件>:此參數的效果和指定“-ls”參數類似,但會把結果保存爲指定的列表文件;

查找的結果放入了文件當中。
這裏寫圖片描述
-follow:排除符號連接;
我們會發現加上follow以後它會把軟鏈接所指向的內容find出來。
這裏寫圖片描述
這裏寫圖片描述
-fprint<列表文件>:此參數的效果和指定“-print”參數類似,但會把結果保存成指定的列表文件;

-fprint0<列表文件>:此參數的效果和指定“-print0”參數類似,但會把結果保存成指定的列表文件;
可以把find到的內容寫入文件當中,然後它們的區別就是fprint每次一個路徑都會後面加個換行符,fprint0不加。
這裏寫圖片描述
這裏寫圖片描述

-fprintf<列表文件><輸出格式>:此參數的效果和指定“-printf”參數類似,但會把結果保存成指定的列表文件;

-fstype<文件系統類型>:只尋找該文件系統類型下的文件或目錄;
-gid<羣組識別碼>:查找符合指定之羣組識別碼的文件或目錄;
可以通過
-group<羣組名稱>: 查找符合指定之羣組名稱的文件或目錄;
更具對應的羣組的不同進行find
這裏寫圖片描述
-help或——help:在線幫助;
此命令的具體文檔幫助。
這裏寫圖片描述
-ilname<範本樣式>:此參數的效果和指定“-lname”參數類似,但忽略字符大小寫的差別;

-iname<範本樣式>:此參數的效果和指定“-name”參數類似,但忽略字符大小寫的差別;

-inum < inode編號 > :查找符合指定的inode編號的文件或目錄
這裏寫圖片描述
-ipath<範本樣式>:此參數的效果和指定“-path”參數類似,但忽略字符大小寫的差別;
-iregex<範本樣式>:此參數的效果和指定“-regexe”參數類似,但忽略字符大小寫的差別;
-links<連接數目>:查找符合指定的硬連接數目的文件或目錄;
這裏寫圖片描述

-iname<範本樣式>:指定字符串作爲尋找符號連接的範本樣式;
-ls:假設find指令的回傳值爲Ture,就將文件或目錄名稱列出到標準輸出;
-maxdepth<目錄層級>:設置最大目錄層級;
-mindepth<目錄層級>:設置最小目錄層級;
-mmin<分鐘>:查找在指定時間曾被更改過的文件或目錄,單位以分鐘計算;
這裏寫圖片描述
-mount:此參數的效果和指定“-xdev”相同;
-mtime<24小時數>:查找在指定時間曾被更改過的文件或目錄,單位以24小時計算;
同樣的,這個命令是按照mtime爲基本來查看的。
這裏寫圖片描述
-name<範本樣式>:指定字符串作爲尋找文件或目錄的範本樣式;
這裏寫圖片描述
-newer<參考文件或目錄>:查找其更改時間較指定文件或目錄的更改時間更接近現在的文件或目錄;
這裏寫圖片描述
-nogroup:找出不屬於本地主機羣組識別碼的文件或目錄;
比如說在一個場景下,你的一個用戶組被刪除了,那麼這個用戶組相關的殘餘文件,這個時候你爲了更好的管理它,那麼這個時候就需要你去找到它,然後再做出相關的操作。

-nouser:找出不屬於本地主機用戶識別碼的文件或目錄;
這個命令可以對應的相對於上面的nogroup,這個是相對與用戶來說

-path<範本樣式>:指定字符串作爲尋找目錄的範本樣式;
-perm<權限數值>:查找符合指定的權限數值的文件或目錄;
這裏寫圖片描述
-print:假設find指令的回傳值爲Ture,就將文件或目錄名稱列出到標準輸出。格式爲每列一個名稱,每個名稱前皆有“./”字符串;
-print0:假設find指令的回傳值爲Ture,就將文件或目錄名稱列出到標準輸出。格式爲全部的名稱皆在同一行;
關於上述的兩個命令會有一個區別,對於print 輸出完以後會添加一個換行符,而print0沒有添加。
這裏寫圖片描述
-printf<輸出格式>:假設find指令的回傳值爲Ture,就將文件或目錄名稱列出到標準輸出。格式可以自行指定;

-prune:不尋找字符串作爲尋找文件或目錄的範本樣式;
-regex<範本樣式>:指定字符串作爲尋找文件或目錄的範本樣式;
-size<文件大小>:查找符合指定的文件大小的文件;
這裏寫圖片描述

-type<文件類型>:只尋找符合指定的文件類型的文件;
b - 塊文件
d - 目錄文件
c - 字符設備文件
p - 管道文件
l - 鏈接文件
f - 普通文件
這裏寫圖片描述
-uid<用戶識別碼>:查找符合指定的用戶識別碼的文件或目錄;
-used<日數>:查找文件或目錄被更改之後在指定時間曾被
-user<擁有者名稱>:查找符和指定的擁有者名稱的文件或目錄;
這裏寫圖片描述
-version或——version:顯示版本信息;
find 命令書寫的相關信息。
-xdev:將範圍侷限在先行的文件系統中;
-xtype<文件類型>:此參數的效果和指定“-type”參數類似,差別在於它針對符號連接檢查。

2.總結

關於find指令,內容真的很多,作爲一個剛開始學習的小白,還是需要多加練習,find是在磁盤上進行搜索,所以效率相對來說是低一些的,當然,快一些的搜索命令還是有的,不過也有它的弊端,所以,當然我們最多使用的就是find指令了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章