用 du -h --max-depth=1 2>/dev/null | sort -hr 可按人类可读单位降序列出当前目录各子项磁盘占用,加 head -n 10 能快速定位前10大占用项。

直接用 du 配合 sort,就能快速列出当前目录下各子项的磁盘占用并按大小排序,关键在参数搭配和单位处理。
基础组合:按字节升序排列
du 默认输出字节数(无单位),sort -n 按数值排序:
常用写法:按人类可读大小降序显示
加 -h 让 du 输出 K/M/G 等单位,但此时不能直接用 sort -n——它会把 "10K" 和 "2G" 当字符串比,结果错乱。正确做法是:
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
- 用
du -h生成带单位的结果 - 用
sort -hr:-h 表示识别人类可读单位,-r 表示降序(最大的排最前)
实用增强:限制深度 + 排除干扰
避免递归太深或统计隐藏文件,提升效率和可读性:
-
--max-depth=1只统计当前层(不进入子目录) -
--exclude=".*"跳过以点开头的隐藏文件/目录 -
2>/dev/null屏蔽权限不足等报错信息
只看前N个最大占用项
加上 head -n 10 就能快速定位“空间杀手”:

















