终端是唯一能穿透“其他”分类、直读文件系统底层数据的工具,可精准列出全盘或指定路径下体积最大的独立文件;用sudo find扫描全盘前15个超500MB文件,或用find/du定向扫描用户目录及子目录中的大文件与文件夹。
Mac磁盘空间告急却找不到源头,终端是唯一能穿透“其他”分类、绕过GUI限制、直读文件系统底层数据的工具,它能精准列出全盘或指定路径下体积最大的独立文件,连藏在五层嵌套缓存目录里的2.3GB日志包都逃不过。
这一步必须用sudo权限,否则会因权限不足跳过/private/var/folders、/System等关键路径,导致结果严重失真。不加sudo,你看到的只是冰山一角。
打开终端 → 输入:sudo find / -type f -size +500M -exec ls -lh {} ; 2>/dev/null | awk '{print $5, $9}' | sort -hr | head -15 → 回车。
命令中+500M表示大于500MB,可按需改成+1G或+2G;head -15限制输出前15条,避免刷屏卡死;2>/dev/null屏蔽大量“Permission denied”报错,让真实结果清晰浮现。
注意:首次运行可能耗时1–3分钟,期间不要中断;若中途出现“Operation not permitted”,说明SIP(系统完整性保护)拦截了某些路径,属正常现象,剩余结果仍可信。
比全盘扫描更快更安全,避开系统路径风险,专攻你真正能删的区域——Downloads、Documents、Movies这些地方最常窝藏未清理的DMG、MOV、ZIP包。
方法一:快速定位用户主目录下所有超1GB文件
输入:find ~/ -type f -size +1G -ls 2>/dev/null | awk '{print $7, $11}' | sort -nr | head -10
方法二:只查Downloads和Documents两个高危区
输入:find ~/Downloads ~/Documents -type f -size +500M -exec stat -f "%z %N" {} ; 2>/dev/null | sort -nr | head -8
这里用stat -f "%z %N"输出精确字节数而非人类可读格式,避免KB/MB单位混淆,%z代表真实分配字节,不含估算误差。
当你发现某个文件夹在访达里显示“2.1GB”,但进去一看全是小文件——问题就出在子目录深处。du能一层层钻进去,把真正吃空间的子项揪出来。
第一步:进入目标文件夹,例如下载目录
输入:cd ~/Downloads
第二步:统计当前目录下所有文件(含隐藏文件)大小并倒序排列
输入:du -sh * .[^.]* 2>/dev/null | sort -hr | head -12* .[^.]*确保同时匹配普通文件和以点开头的隐藏项(如.git、.DS_Store),但排除掉..和....;2>/dev/null过滤掉无权限读取的条目。
第三步:对某一个可疑大目录再深挖一级
比如上步发现FinalCutProjects占了1.8GB,就执行:du -sh FinalCutProjects/* FinalCutProjects/.[^.]* 2>/dev/null | sort -hr | head -5,立刻看到里面哪个Render Files子文件夹吞掉了1.4GB。