.ds_store文件是macos为存储文件夹视图偏好而生成的隐藏文件,可导致git污染、压缩包冗余及onedrive同步异常;需用find命令批量清理或禁用生成。

Mac系统里每个文件夹都悄悄生成的.DS_Store文件,会干扰Git提交、污染压缩包、暴露目录结构,甚至导致OneDrive同步异常,必须批量清理才能彻底解决。
用终端命令一键清空当前项目下的所有.DS_Store
这一步专为开发者设计,只清理你正在工作的代码目录及其子目录,不碰系统和其他无关位置,安全可控。
打开终端 → 进入你的项目根目录(例如 cd ~/Projects/my-app)→ 执行以下命令:
find . -name ".DS_Store" -type f -delete
这条命令会递归扫描当前目录下所有层级,精准定位并删除每个.DS_Store文件。它比 rm -f .DS_Store 更可靠,因为后者只能删当前层,而项目里往往几十个子文件夹都有自己的.DS_Store。
【注意:务必先 cd 进目标目录再运行,否则可能误删其他位置】
全盘扫描并删除所有.DS_Store(含外接硬盘和网络卷)
如果你刚接手一台长期未清理的Mac,或者需要彻底清除所有隐藏痕迹,就得从根目录开始搜——但必须用管理员权限,否则大量系统路径无法访问。
第一步:在终端中输入 sudo find / -name ".DS_Store" -type f -delete,回车后输入管理员密码(输入时屏幕无反馈,正常输完按回车即可)。
第二步:等待命令执行完毕。终端不会提示“删除成功”,只要没报错(比如 Permission denied 大量刷屏),就说明已清理完成。
第三步:重启Finder,让界面刷新生效——按住 Option 键右键点击程序坞中的 Finder 图标 → 选择「重新启动」。
这个操作会遍历整个文件系统,包括挂载的外接硬盘、Time Machine备份盘、SMB共享卷。但【不要在运行中强制关机或中断命令,否则可能残留部分未删文件】。
访达手动清理:适合不敢敲命令的新手
不想碰终端?完全可以用图形界面逐个确认删除,虽然慢一点,但看得见、摸得着,心里踏实。
方法一:临时显示隐藏文件 → 按 Command + Shift + .(句点)→ 进入目标文件夹 → 找到图标为空白文档、名称以英文句点开头的 .DS_Store 文件 → 选中 → 按 Command + Delete 移入废纸篓 → 右键废纸篓 → 「清倒废纸篓」。
方法二:用Spotlight快速定位 → 按 Command + Space → 输入 ".DS_Store" → 在搜索结果里按住 Command 多选 → 全部拖进废纸篓 → 清倒。
这种方法不能跨卷自动处理,但每删一个你都清楚位置,不会误伤系统文件。
永久禁止新.DS_Store生成(针对外接设备)
删完还要防再生,尤其U盘、移动硬盘插到Windows电脑上时,那些.DS_Store特别碍眼。
在终端中运行这一条命令:
defaults write com.apple.desktopservices DSDontWriteNetworkStores true
然后注销当前用户并重新登录,或直接重启Mac。
这条指令会让Finder主动避开所有网络卷、外置USB/Thunderbolt设备,不再写入.DS_Store。但本机硬盘上的仍会照常生成——如需全面拦截,需借助第三方工具Asepsis,它把所有.DS_Store重定向到统一目录管理。











