刪除目錄下所有指定的檔案(如:.DS_Store)
一般的情況下有可能想要刪除目錄下的某個檔案,當符合的檔案只有幾個時刪除是很容易的,但目錄下符合的檔案有很多時該怎麼辬?
像Mac目錄下都會有個系統產生的隱藏檔.DS_Store
,如果要刪除每個目錄下的.DS_Store
就必需要靠指令搭配才能省時省力,接下來會告訴你如何使用簡單的指令來完成。
尋找指定的檔案
在Command Line下要尋找該目錄下指定檔案是否存在時可以執行:
find 目錄 -name "你的檔案名稱"
實際操作:
find . -name ".DS_Store"
尋找該目錄下.DS_Store
檔案,結果如下:
./Library/Application Support/.DS_Store ./Library/Application Support/com.trankynam.XtraFinder/.DS_Store ./Library/Application Support/CoRD/.DS_Store ./Library/Application Support/Developer/Shared/Xcode/.DS_Store ./Library/Application Support/DEVONthink Pro 2/.DS_Store ./Library/Application Support/Haroopad/Themes/.DS_Store
刪除檔案
刪除檔案指定為rm
,一般刪除檔案使用:
rm 你的檔名或完整路徑
實際操作:
rm .DS_Store
如果刪除指令的對像可以是 檔案 也可以是 目錄 ,不過想要刪除時不管如何都強制刪除,一般都會另外加上-rf
指令:
rm -rf .DS_Store
尋找並刪除檔案
將以上所了解的結合一下,find
指令可以搭配exec
命令來將每次尋找到的結果時執行某個指定的程式:
find / -name ".DS_Store" -depth -exec 命令 {} \;
因為刪除指令對某些人來說可能有疑慮,所以先看一下整個結果再確定是否要加上rm
:
find / -name ".DS_Store" -depth -exec echo ----{} \;
符合搜尋條件時執行echo
將內容印出,為了看的出來差別,在前面加上----
,結果:
----./Library/.DS_Store ----./Library/Application Support/.DS_Store ----./Library/Application Support/com.trankynam.XtraFinder/.DS_Store ----./Library/Application Support/CoRD/.DS_Store ----./Library/Application Support/Developer/Shared/Xcode/.DS_Store ----./Library/Application Support/DEVONthink Pro 2/.DS_Store ----./Library/Application Support/Haroopad/Themes/.DS_Store
搜尋結果沒問題後,利用此命令我們在後接上rm
指令來刪除:
find / -name ".DS_Store" -depth -exec rm {} \;