Mac磁盘空间莫名减少几十GB却找不到大文件,主因是系统各处静默堆积的.tmp临时文件;需通过终端清理/tmp和~/Library下的.tmp文件,并显示隐藏文件手动清理iCloud中的.tmp等暂存项。

Mac磁盘空间莫名减少几十GB,Finder里却找不到对应大文件,问题往往出在系统各处静默堆积的.tmp临时文件上——这些文件由安装器、下载工具、编译过程或崩溃程序生成,不显示在访达默认视图,也不计入“储存空间”统计,但真实占用硬盘且永不自动清理。
用终端精准定位并删除全局/tmp下的.tmp文件
这一步直接作用于系统级临时目录,适用于确认无关键服务正依赖/tmp中持久化临时文件的场景;系统会自动跳过被占用的活跃文件,确保操作安全性。
打开“终端”应用程序(可在“访达→应用程序→实用工具”中找到)。
输入以下命令并回车:sudo find /tmp -name "*.tmp" -type f -delete。
系统将提示输入当前管理员账户密码(输入时屏幕不显示字符,输完直接按回车);该命令仅删除.tmp后缀的普通文件,不触碰目录、符号链接或正在被进程打开的文件。
执行完成后,可运行 ls -la /tmp | grep ".tmp" 验证是否已无残留;若无输出,说明清理完成。
扫描用户级深层路径中的.tmp文件
很多应用(尤其是网盘、开发工具、浏览器扩展)会在私有路径下生成大量.tmp文件,藏在 ~/Library/Caches、~/Library/Application Support 或 iCloud 同步暂存区中,访达默认不可见。
方法一:快速全盘扫描(推荐先预览)
在终端中运行:find ~/Library -name "*.tmp" -type f -print 2>/dev/null | head -n 20,查看前20条匹配结果,确认是否为预期目标(如BaiduNetdisk、AliyunDrive、iCloud相关路径)。
方法二:安全删除指定路径下的.tmp文件
确认无误后,执行:find ~/Library -name "*.tmp" -type f -delete 2>/dev/null;此命令跳过权限不足或路径不存在的报错,只删有权限的.tmp文件。
注意:不要在 ~/Library/Preferences 或系统根目录 / 下盲目执行该 find 命令,【可能误删plist配置或系统关键临时句柄】。
显示隐藏文件后手动清理iCloud Drive中的.tmp暂存项
iCloud云盘客户端常在同步过程中遗留 .tmp、.part、staging 等隐藏临时文件,它们不会出现在“储存空间”统计中,却真实吃掉几十GB空间。
第一步:打开访达,点击侧边栏「iCloud Drive」。
第二步:按下 Command+Shift+. 显示隐藏文件。
第三步:逐层检查 iCloud Drive 根目录及常用子文件夹(如“下载”“桌面”“文稿”),寻找以 .tmp、.part、.staging、.uploading 结尾的文件。
第四步:选中这些文件 → 按 Command+Delete 移入废纸篓 → 清倒废纸篓。
这一步操作起来很简单,直接拖进去就行;但必须先显示隐藏文件,否则根本看不到它们。
用脚本自动化清理并避免重复劳动
如果你经常遇到.tmp文件反复堆积的问题,建议用轻量脚本实现定期可控清理,避免每次手动敲命令。
① 创建清理脚本:
在终端中执行:echo '#!/bin/bash\nfind /tmp -name "*.tmp" -type f -delete 2>/dev/null\nfind ~/Library -name "*.tmp" -type f -delete 2>/dev/null' > ~/clean_tmp.sh。
② 赋予执行权限:
chmod +x ~/clean_tmp.sh。
③ 立即运行一次:
~/clean_tmp.sh。
④ (可选)设为每月1号凌晨2点自动运行:
执行 crontab -e,新增一行:0 2 1 * * /Users/$(whoami)/clean_tmp.sh;保存退出即可生效。


















