du --max-depth=1 用于统计目标路径下直接子项(文件或一级子目录)的磁盘占用,不递归深入;配合 -h 显示易读单位,-s 则仅输出总计,常与 sort -hr 和 head -5 结合快速定位大项。

du --max-depth=1 是 Linux 中快速查看文件夹“一级子目录和文件”占用空间的核心方法。它不深入子目录,只统计当前路径下直接包含的每个项目(文件或文件夹)的大小,非常实用。
用 --max-depth=1 查看一级结构大小
这个参数控制递归深度:设为 1,表示只统计目标路径下的直接子项,跳过所有嵌套层级。搭配 -h(人性化单位)和 -s(汇总)等选项,效果更清晰。
-
查看
/home/work下所有一级子目录/文件的大小du -h --max-depth=1 /home/work
输出类似:
12K /home/work/.bashrc 4.0M /home/work/logs 860M /home/work/data 864M /home/work
最后一行是总计(因未加
-s,默认含总和)。 -
只显示
/home/work本身大小(不列内部项)
加-s即可:du -sh --max-depth=1 /home/work
输出仅一行:
864M /home/work
Linux Security Scanner下载Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
-
查看当前目录下所有一级内容(不含上级路径)
du -sh --max-depth=1 *
或更常用(避免通配符报错):
du -sh --max-depth=1 ./*
配合排序快速定位大项
一级统计结果常用于排查空间占用大户,建议加上 sort:
-
按大小倒序排列(最大的在前)
du -sh --max-depth=1 /home/work | sort -hr
-
只取前5个最大项
du -sh --max-depth=1 /home/work | sort -hr | head -5
注意事项
-
--max-depth=1和-s不冲突,但作用不同:-s强制只输出总计;--max-depth=1控制层级,仍会列出每个子项。 - 如果路径末尾带
/(如/home/work/),行为一致;不带也无影响。 - 想排除某些目录(如
node_modules),可用--exclude='node_modules'。 - 权限不足时部分条目可能显示
du: cannot access 'xxx': Permission denied,加2>/dev/null可隐藏错误。
不复杂但容易忽略。

















