删除目录下所有指定的档案(如:.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 {} \;