du -d 是 macos 中快速分析磁盘空间分布最直接的方式,通过控制递归深度避免信息过载,支持逐级下钻定位大目录,并可配合 sort、grep 等命令高效筛选,亦可用 ncdu 获取图形化交互体验。

用 du -d 是 macOS 中快速摸清磁盘空间分布最直接的方式。它能控制递归深度,避免信息爆炸,帮你一层层聚焦真正占地方的目录。
理解 -d 参数的作用
-d N 表示只显示指定深度(N 层)内的目录大小,不深入子目录。比如 du -d 1 -h 只列出当前目录下的一级子项(文件和文件夹),每个条目显示的是它自身及其全部内容的总大小。
这比无限制递归(如 du -h)更清晰,也比默认行为(du 不加 -d 时会列出所有嵌套路径)更可控。
常用组合命令与实操建议
以下命令都应在目标目录中运行(例如先 cd / 查根目录,或 cd ~/Library 查用户资源库):
-
du -d 1 -h | sort -hr:查看当前目录下各一级子项大小,并按从大到小排序 -
sudo du -d 1 -h / | sort -hr:查整个系统根目录各级占用(需管理员权限,跳过 SIP 保护目录时可能提示 “Operation not permitted”,属正常) -
du -d 2 -h | grep "G\|M" | sort -hr:在两级深度内筛选含 G 或 M 的行,快速定位大体积子目录
逐级下钻定位大目录的典型流程
发现某个目录(比如 Users)特别大,就进入它再查:
cd /Users-
du -d 1 -h | sort -hr | head -10:看前 10 个用户目录谁占得多 - 挑出最大用户(如
bobo),再进其Library:cd bobo/Library -
du -d 1 -h | sort -hr | head -8:重点看Caches、Containers、Application Support这些高危缓存区
微信、QQ、Chrome、Figma 等 App 的缓存常藏在 Containers/com.xxx.xxx 或 Caches/xxx 下,确认无用后可安全删除。
替代方案:ncdu 更直观高效
如果命令行数字看累,推荐安装 ncdu:
- 安装:
brew install ncdu - 扫描根目录:
sudo ncdu / - 操作简单:方向键导航、
d删除、t切换排序、g显示图形化占比条
它本质也是基于 du,但把层级展开、排序、交互全集成好了,适合不想记参数的人。










