1.查看 /app 文件夹总占用空间(推荐用法)
du -sh /app-s:只显示总计,不递归显示子目录;-h:以人类可读方式显示(如 KB、MB、GB)。
示例输出
[root@work2 ~]# du -sh /app
1.2G /app说明 /app 目录总共占用了约 1.2GB。
2.查看 /app 下每个子目录的空间占用:
du -h --max-depth=1 /app--max-depth=1表示只查看一层子目录;可用于快速判断哪些子目录占空间多。
示例输出
100M /app/logs
900M /app/upload
200M /app/cache
1.2G /app这样你就能快速定位哪些子目录占用空间最多。
需要进一步排查的话,也可以加上排序:
du -h --max-depth=1 /app | sort -hCentOS / RedHat / Alibaba Cloud Linux 系统(即 RPM 系统):
3.查看所有安装的 RPM 包及其占用空间
rpm -qa --qf '%{SIZE}\t%{NAME}\n' | sort -n | numfmt --to=iec | column -t含义说明:
rpm -qa: 列出所有已安装的软件包。%{SIZE}: 显示每个包的安装体积(单位为字节)。sort -n: 按照体积排序。numfmt: 转换成人类可读的单位(如 KB、MB)。column -t: 整齐对齐输出。
3.1 查看看前 20 个最占空间的包:
rpm -qa --qf '%{SIZE}\t%{NAME}\n' | sort -n | tail -n 20 | numfmt --to=iec | column -t✅ 获取所有安装包的完整磁盘占用列表(类似你贴的这部分):
请运行:
rpm -qa --qf '%{SIZE}\t%{NAME}\n' | sort -n | tail -n 30 | numfmt --to=iec | column -t这将列出磁盘占用最多的 30 个已安装包,并以易读单位显示,如你上面贴的结果一样。
✅ 看哪些目录占用最多磁盘空间(不只软件包,还包括日志、上传文件、缓存等):
3.2 查看所有子文件的大小:
你可以运行:
du -h --max-depth=1 / | sort -h它会列出根目录下每个一级子目录(比如 /var、/usr、/home)的空间占用情况。
然后可以继续深入,比如:
du -h --max-depth=1 /var | sort -h/app 目录下每个文件和子目录的大小,可以使用:
du -h --max-depth=1 /app示例输出:
140M /app/asdre-lt
12M /app/logs
8.0K /app/README.md
...查看当前目录下日志文件大小(每个文件的大小):
du -h *或者:
du -sh *💡 示例输出(假设):
4.0M biz-icf-home.log
8.1M biz-icf-home.log.20250709
7.6M biz-icf-home.log.20250710
...这样你就可以看到每个日志文件占用多少空间,从而判断是否可以清理。