我的一个 AWS EC2 实例占用了超过 222 GB 的空间。但令人惊讶的是,当我检查 /root 文件夹时,我只发现了一个 5MB 大小的文件。我不知道如何清理磁盘空间以及如何找到所有占用 222 GB 磁盘空间的隐藏文件。
当我执行此命令时 - du -shx /*
:这是我得到的输出 -
0 /bin
88M /boot
0 /dev
31M /etc
86M /home
0 /lib
0 /lib64
0 /local
0 /media
0 /mnt
2.2G /opt
du: cannot access ‘/proc/7699/task/7699/fd/3’: No such file or directory
du: cannot access ‘/proc/7699/task/7699/fdinfo/3’: No such file or directory
du: cannot access ‘/proc/7699/fd/3’: No such file or directory
du: cannot access ‘/proc/7699/fdinfo/3’: No such file or directory
du: cannot access ‘/proc/7828’: No such file or directory
0 /proc
222G /root
1.7M /run
0 /sbin
0 /srv
0 /sys
0 /tmp
3.1G /usr
5.7G /var
如何清除 /root 文件夹?当我运行此命令时:du -shx /root/*
,我只发现一个 5MB 的文件,但它占用了 222 GB 的磁盘空间。
答案1
我遇到了类似的问题,但问题出在我的主分区上。
我采用了更直观的方式来表示每个子目录的大小,例如杜特里dutree -s
通过运行带有 -s 标志的命令 来在所选目录中获取更多最小结果。
答案2
您可以使用 ncdu:该软件可以扫描您想要的任何目录并让您浏览它,列出文件/文件夹的当前大小。
如果尚未安装:
安装 ncdu
之后:ncdu -rx /
这将从根目录开始递归扫描所有内容(不要与文件夹 /root 混淆)。然后,您可以浏览文件系统并检查哪些内容占用了空间。
答案3
该命令du -shx /root/*
将查看该文件夹中与*
glob 匹配的所有文件 - 默认情况下,排除隐藏文件和目录。
您可以使用shopt -s dotglob
来更改通配符行为,或者/root/.*
在路径列表中明确列出。后者可能产生较少的意外效果。