直接用find命令递归删除.DS_Store可解决OneDrive同步异常、Git仓库污染或Finder视图错乱问题;执行sudo find . -name ".DS_Store" -depth -delete即可,建议先用find预览再删除,还可通过defaults写入禁用网络/USB设备上的生成。

Mac终端批量删除文件夹里的.DS_Store,是解决OneDrive同步异常、Git仓库污染或Finder视图错乱的直接手段。这些隐藏文件虽不占用大量空间,但散落在多层子目录中时,手动逐个清理效率极低,且容易遗漏。
用find命令递归删除当前目录及所有子目录下的.DS_Store
这一步操作起来很简单,直接在终端中执行即可,无需提前切换权限。
打开终端(应用程序 → 实用工具 → 终端),进入目标文件夹所在路径,例如你的项目根目录:cd /Users/yourname/Documents/myproject。
输入以下命令并回车:
sudo find . -name ".DS_Store" -depth -delete
系统会提示输入管理员密码——【密码输入时屏幕无任何反馈,这是正常行为,照常输入后按回车即可】。
命令执行完毕后不会显示成功提示,也没有输出内容,只要光标回到下一行且无报错信息,就表示所有.DS_Store已清除干净。
安全起见:先预览再删除
如果你担心误删,或不确定当前路径是否正确,建议先用find只列出文件,确认无误后再执行删除。
方法一:仅列出不删除
find . -name ".DS_Store" -print
方法二:列出并显示完整路径(更清晰)
find . -name ".DS_Store" -ls
看到列表里全是预期中的.DS_Store路径后,再运行带-delete的完整命令。
彻底禁用.DS_Store生成(可选)
第一步:禁止在远程网络卷上创建
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE
第二步:禁止在USB等外部磁盘上创建
defaults write com.apple.desktopservices DSDontWriteUSBStores -bool TRUE
第三步:重启Finder使设置生效
killall Finder
注意:此操作不影响本地硬盘上的.DS_Store生成,仅控制外接设备和网络位置;若需完全禁用本地生成,需修改系统级配置,存在兼容性风险,不推荐普通用户操作。

















