df -h 显示:
df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ada0p2 1.9G 256M 1.5G 14% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/ada0p4 804G 34G 706G 5% /usr
/dev/ada0p5 93G 3.5G 82G 4% /var
但是, du -sh 显示:
du -sh /var
3.5G /var
为什么? df 告诉我 93G 已经没有空间了,但是当我检查 /var/ 目录的文件大小时,它达到了 3.5G?
任何人都可以解释一下这是为什么吗?
答案1
首先,你的问题本身非常有趣,df 和 du 工具在 Linux 中的工作方式不同
根据 Linux 手册页
du - estimate file space usage
df - report file system disk space usage
df 在文件系统级别工作,而 du 在文件级别工作,因此如果存在打开的文件描述符,du 将报告它,但 df 不会报告