du -sh 是最直接可靠的方式,统计目录下所有文件(含隐藏项)真实占用的磁盘空间,精确到字节级;支持 -a 包含隐藏文件、-x 限制同文件系统、2>/dev/null 屏蔽权限警告。

用 du -sh 是最直接、最可靠的方式,它统计的是该目录下所有文件(含隐藏项)真实占用的磁盘空间,不依赖缓存或元数据,结果精确到字节级。
确认目标路径并执行基础统计
终端中输入:du -sh /路径/到/目录
例如查看下载文件夹:du -sh ~/Downloads
返回类似 4.2G /Users/xxx/Downloads,即该目录实际占用了 4.2 GB 磁盘空间。
包含隐藏文件与子目录的完整统计
默认 du 不自动包含以点开头的隐藏项(如 .git、.DS_Store),若需全面覆盖:
让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限
- 加
-a显示所有文件(含隐藏),再用-s汇总:du -sha ~/Project | tail -1 - 或一次性包含隐藏项:运行
du -sh .[^.]* * 2>/dev/null | awk '{sum += $1} END {print sum " " $2}'(需在目标目录内执行)
按大小排序定位大子目录
若想快速发现“谁吃掉了最多空间”,进入该目录后运行:
-
du -sh * .[^.]* 2>/dev/null | sort -hr—— 列出当前层所有项目(含隐藏),按大小倒序排列 -
du -h --max-depth=1 . | sort -hr—— 包括当前目录自身(首行为总量),适合逐层下钻排查
排除符号链接与避免权限错误
为防止误统计软链接指向的外部路径,或因权限不足中断扫描:
- 加
-L跟随符号链接(通常不建议,除非明确需要) - 加
-x限制在同一文件系统内(避免跨宗卷误入 /Volumes) - 加
2>/dev/null屏蔽“Permission denied”警告,不影响主结果

















