linux藉助find命令批量刪除空文件夾
介紹一下find命令
語法
find(選項)(參數)
選項
選項 | 詳細說明 |
---|---|
-amin<分鐘> | 查找在指定時間曾被存取過的文件或目錄,單位以分鐘計算; |
-anewer<參考文件或目錄> | 查找其存取時間較指定文件或目錄的存取時間更接近現在的文件或目錄; |
-atime<24小時數> | 查找在指定時間曾被存取過的文件或目錄,單位以24小時計算; |
-cmin<分鐘> | 查找在指定時間之時被更改過的文件或目錄; |
-cnewer<參考文件或目錄> | 查找其更改時間較指定文件或目錄的更改時間更接近現在的文件或目錄; |
-ctime<24小時數> | 查找在指定時間之時被更改的文件或目錄,單位以24小時計算; |
-daystart | 從本日開始計算時間; -depth:從指定目錄下最深層的子目錄開始查找; |
-empty | 尋找文件大小爲0 Byte的文件,或目錄下沒有任何子目錄或文件的空目錄; |
-exec<執行指令> | 假設find指令的回傳值爲True,就執行該指令; |
-false | 將find指令的回傳值皆設爲False; |
-fls<列表文件> | 此參數的效果和指定“-ls”參數類似,但會把結果保存爲指定的列表文件; |
-follow | 排除符號連接; |
-fprint<列表文件> | 此參數的效果和指定“-print”參數類似,但會把結果保存成指定的列表文件; |
-fprint0<列表文件> | 此參數的效果和指定“-print0”參數類似,但會把結果保存成指定的列表文件; |
-fprintf<列表文件><輸出格式> | 此參數的效果和指定“-printf”參數類似,但會把結果保存成指定的列表文件; |
-fstype<文件系統類型> | 只尋找該文件系統類型下的文件或目錄; |
-gid<羣組識別碼> | 查找符合指定之羣組識別碼的文件或目錄; |
-group<羣組名稱> | 查找符合指定之羣組名稱的文件或目錄; |
-help或——help | 在線幫助; |
-ilname<範本樣式> | 此參數的效果和指定“-lname”參數類似,但忽略字符大小寫的差別; |
-iname<範本樣式> | 此參數的效果和指定“-name”參數類似,但忽略字符大小寫的差別; |
-inum | 查找符合指定的inode編號的文件或目錄; |
-ipath<範本樣式> | 此參數的效果和指定“-path”參數類似,但忽略字符大小寫的差別; |
-iregex<範本樣式> | 此參數的效果和指定“-regexe”參數類似,但忽略字符大小寫的差別; |
-links<連接數目> | 查找符合指定的硬連接數目的文件或目錄; |
-iname<範本樣式> | 指定字符串作爲尋找符號連接的範本樣式; |
-ls | 假設find指令的回傳值爲Ture,就將文件或目錄名稱列出到標準輸出; |
-maxdepth<目錄層級> | 設置最大目錄層級; |
-mindepth<目錄層級> | 設置最小目錄層級; |
-mmin<分鐘> | 查找在指定時間曾被更改過的文件或目錄,單位以分鐘計算; |
-mount | 此參數的效果和指定“-xdev”相同; |
-mtime<24小時數> | 查找在指定時間曾被更改過的文件或目錄,單位以24小時計算; |
-name<範本樣式> | 指定字符串作爲尋找文件或目錄的範本樣式; |
-newer<參考文件或目錄> | 查找其更改時間較指定文件或目錄的更改時間更接近現在的文件或目錄; |
-nogroup | 找出不屬於本地主機羣組識別碼的文件或目錄; |
-noleaf | 不去考慮目錄至少需擁有兩個硬連接存在; |
-nouser | 找出不屬於本地主機用戶識別碼的文件或目錄; |
-ok<執行指令> | 此參數的效果和指定“-exec”類似,但在執行指令之前會先詢問用戶,若回答“y”或“Y”,則放棄執行命令; |
-path<範本樣式> | 指定字符串作爲尋找目錄的範本樣式; |
-perm<權限數值> | 查找符合指定的權限數值的文件或目錄; |
假設find指令的回傳值爲Ture,就將文件或目錄名稱列出到標準輸出。格式爲每列一個名稱,每個名稱前皆有“./”字符串; | |
-print0 | 假設find指令的回傳值爲Ture,就將文件或目錄名稱列出到標準輸出。格式爲全部的名稱皆在同一行; |
-printf<輸出格式> | 假設find指令的回傳值爲Ture,就將文件或目錄名稱列出到標準輸出。格式可以自行指定; |
-prune | 不尋找字符串作爲尋找文件或目錄的範本樣式; |
-regex<範本樣式> | 指定字符串作爲尋找文件或目錄的範本樣式; |
-size<文件大小> | 查找符合指定的文件大小的文件; |
-true | 將find指令的回傳值皆設爲True; |
-type<文件類型> | 只尋找符合指定的文件類型的文件; |
-uid<用戶識別碼> | 查找符合指定的用戶識別碼的文件或目錄; |
-used<日數> | 查找文件或目錄被更改之後在指定時間曾被存取過的文件或目錄,單位以日計算; |
-user<擁有者名稱> | 查找符和指定的擁有者名稱的文件或目錄; |
-version或——version | 顯示版本信息; |
-xdev | 將範圍侷限在先行的文件系統中; |
-xtype<文件類型> | 此參數的效果和指定“-type”參數類似,差別在於它針對符號連接檢查。 |
參數
起始目錄:查找文件的起始目錄。
刪除當前目錄空文件夾
find . -maxdepth 1 -type d -empty -exec rm -rf {} \;
解釋
-type d 根據文件類型進行搜索
類型 | 類型說明 |
---|---|
f | 普通文件 |
l | 符號連接 |
d | 目錄 |
c | 字符設備 |
b | 塊設備 |
s | 套接字 |
p | Fifo |