在阿里云服务器(ECS)中,如果你想查看系统盘中哪些文件或目录占用了较多空间,可以通过以下步骤使用 Linux 命令行工具进行分析。以下是常用的方法:
✅ 方法一:使用 du 命令查看磁盘使用情况
1. 查看根目录下各目录的大小(按大小排序)
sudo du -h --max-depth=1 / | sort -hr | head -20
du: 磁盘使用情况统计-h: 以人类可读格式显示(如 KB、MB、GB)--max-depth=1: 只显示一级子目录sort -hr: 按人类可读数字逆序排序(从大到小)head -20: 显示前 20 个最大目录
这条命令会列出
/目录下所有一级子目录的空间占用情况,帮助你快速定位哪个目录占空间最多。
示例输出:
15G /var
8.2G /usr
2.1G /home
...
2. 进入占用较大的目录进一步排查
例如发现 /var 占用大,可以继续深入:
sudo du -h --max-depth=1 /var | sort -hr
常见大目录:
/var/log:日志文件(可清理旧日志)/var/lib/docker:Docker 镜像和容器(如果用了 Docker)/home或/root:用户文件/tmp:临时文件
✅ 方法二:使用 ncdu 工具(推荐,交互式)
ncdu 是一个更友好的磁盘使用分析工具,支持交互式浏览。
安装 ncdu(Ubuntu/Debian):
sudo apt update && sudo apt install ncdu -y
安装 ncdu(CentOS/RHEL):
sudo yum install ncdu -y
# 或者使用 dnf(较新版本)
sudo dnf install ncdu -y
使用 ncdu 扫描系统盘:
sudo ncdu /
使用方向键浏览,回车进入目录,
d删除文件,q退出。非常直观!
✅ 方法三:使用 df 查看整体磁盘使用情况
先确认系统盘是否真的快满了:
df -h
输出示例:
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 35G 3.2G 92% /
- 如果
Use%接近 100%,说明需要清理。 Mounted on /表示这是系统盘。
✅ 常见占用空间的文件类型及清理建议
| 目录/文件 | 说明 | 是否可清理 |
|---|---|---|
/var/log/*.log |
系统或应用日志 | ✅ 可删除旧日志(用 rm 或 truncate) |
/var/lib/docker/ |
Docker 镜像、容器、卷 | ✅ 清理无用镜像 docker system prune -a |
/tmp/ |
临时文件 | ✅ 可删除过期文件 |
/root/.cache 或 /home/user/.cache |
缓存文件 | ✅ 可安全删除 |
core dump 文件(如 core.*) |
程序崩溃产生的大文件 | ✅ 可删除 |
⚠️ 注意:不要随意删除未知文件,尤其是系统目录下的文件。
✅ 小技巧:查找大于一定大小的文件
查找大于 100MB 的文件:
sudo find / -type f -size +100M -exec ls -lh {} ; 2>/dev/null | awk '{ print $9 ": " $5 }'
这会列出所有大于 100MB 的文件及其大小。
总结步骤:
df -h→ 查看整体使用情况du -h --max-depth=1 / | sort -hr→ 找出大目录- 逐级进入大目录,用
du或ncdu深入分析 - 清理无用日志、缓存、临时文件等
如果你使用的是 Windows 系统的阿里云服务器,可通过“此电脑”右键查看磁盘使用情况,或使用工具如 TreeSize Free 分析。
如有具体场景(如 Docker、Nginx 日志过大),欢迎补充,我可以提供针对性清理建议。
云小栈