linux中 df 和 du 命令统计磁盘空间数值不一致

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux中 df 和 du 命令统计磁盘空间数值不一致相关的知识,希望对你有一定的参考价值。

经常会使用 df 和 du 分别查看磁盘空闲空间和占用空间,偶尔会发现 df(空闲空间) 会小于磁盘大小减去 du(占用空间)。
    两个命令实现目的是一样的,但是实现的过程有着本质的区别。就像两个人是到同一个地方,但走不同的路,所以路程的长短也就不同。
    df 命令的全称是 Disk Free ,显而易见它是统计磁盘中空闲的空间,也即空闲的磁盘块数。它是通过硬盘分配图进行计算出的。
    du 命令的全称是 Disk Used ,它是统计磁盘有已经使用的空间。它是直接统计各各目录的大小,而不是从硬盘获得信息的。

通常会遇到两个情况:
1、du命令是用户级的程序,它不考虑元数据,而df命令则查看文件系统的磁盘分配图并考虑。df命令获得真正的文件系统数据,而du命令只查看文件系统的部分情况。
2、如果用户删除了一个正在运行的应用所打开的某个目录下的文件,则du命令返回的值显示出减去了该文件后的目录的大小。但df命令并不显示减去该文件后的大小,直到该运行的应用关闭了这个打开的文件,df返回的值才显示出减去了该文件后的文件系统的使用情况。

以上是关于linux中 df 和 du 命令统计磁盘空间数值不一致的主要内容,如果未能解决你的问题,请参考以下文章

linux系统df和du命令的区别

Linux 系统磁盘空间占满,df 和 du 结果不一致

Linux磁盘存储命令之du和df详解

df和du显示的磁盘空间使用情况不一致的原因及处理(转)

Linux下查看文件大小文件占磁盘大小等详解(du 和df )使用命令

df du 命令和磁盘分区介绍的用法介绍