加油
努力

怎样查看阿里云服务器系统盘哪些文件占用了空间?

在阿里云服务器(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 系统或应用日志 ✅ 可删除旧日志(用 rmtruncate
/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 的文件及其大小。


总结步骤:

  1. df -h → 查看整体使用情况
  2. du -h --max-depth=1 / | sort -hr → 找出大目录
  3. 逐级进入大目录,用 duncdu 深入分析
  4. 清理无用日志、缓存、临时文件等

如果你使用的是 Windows 系统的阿里云服务器,可通过“此电脑”右键查看磁盘使用情况,或使用工具如 TreeSize Free 分析。

如有具体场景(如 Docker、Nginx 日志过大),欢迎补充,我可以提供针对性清理建议。

云服务器