我有一个 Ubuntu 盒子,有 30GB 的磁盘空间几乎被填满:
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 30G 28G 0 100% /
但是当我使用以下命令检查所有根文件夹的大小时
sudo du -sh /foldername
我总共只得到了 17.2GB
lib/ 6.7G
usr/ 4.8G
home/ 2.0G
var/ 1.3G
boot/ 1.1G
swapfile 1.1G
root/ 125M
sbin/ 12M
bin/ 11M
etc/ 8M
run/ 420K
lost+found/ 16K
media/ 8.8K
dev/ 4K
lib64/ 4K
mnt/ 4K
srv/ 4K
opt/ 4K
tmp/ 4K
sys/ 0
proc/ 0
这里有什么可疑之处吗?大约有 11 GB 下落不明。丢失的 11G 在哪里?
答案1
根据 Server Fault 社区的建议,我检查了我的块大小:
stat --printf='%s' -f .
4096 是“正常”值
然后我检查了有多少已删除的文件仍被进程保持打开状态:
lsof | grep -c DEL
报告称有 143 个文件可能占了所有丢失的空间,但我认为这不太可能
然后我重启了我的电脑,然后瞧!我所有的磁盘空间都恢复了:
df -h
Filesystem Size Used Avail Use% Mounted on
udev 487M 4.0K 487M 1% /dev
tmpfs 100M 388K 100M 1% /run
/dev/vda1 30G 17G 12G 61% /
反射
重启后我恢复了这么多磁盘空间,这意味着卷的块大小不是罪魁祸首。因此,仍然不能 100% 确定是什么导致了差异,但很高兴我的空间又回来了!
答案2
我认为您可能有一些大的隐藏文件,只有使用该标志才会显示-a
:
du -ha /foldername | sort -hr
上述命令将输出所有文件(包括隐藏文件)的大小,并且排序将按大小排序,以便您识别它们。