gpt4 book ai didi

linux - 为什么 df 命令可以比 du 更快地返回磁盘使用率

转载 作者:IT王子 更新时间:2023-10-29 00:54:29 24 4
gpt4 key购买 nike

为什么df命令可以快速返回每个分区的使用情况,而du需要更长的时间来计算磁盘使用情况才能返回。

df 是如何工作的?

最佳答案

根据手册,df - 报告文件系统磁盘空间使用情况

并且,du - 估计文件空间使用情况

df 是显示文件系统使用情况,du 是报告文件空间使用情况。 du 从文件工作,而 df 在文件系统级别工作,报告内核所说的可用内容。从广义上讲,df 不关心文件,而是文件系统本身。

明智地工作,df 直接在文件系统元数据中查看磁盘使用 block 。因此,它返回的速度比 du 快得多,但只能显示有关整个磁盘/分区的信息。其中,du 遍历目录树并计算其中所有文件的总大小。由于可能存在不可读文件、目录树中的硬链接(hard link)等,它可能无法输出准确的信息。

编辑

既然你也问过这个问题,df 是如何工作的,那么说如果你同时使用 dfdu 真的很有趣 您可能会发现,有时可用的可用空间量会有所不同。现在您可能会惊讶地想,两个相似的命令(dfdu)怎么可能为同一个硬盘返回不同的可用空间???

答案在于 df 的工作,由于 df 与文件系统元数据直接相关,因此它还与打开文件描述符 相关联。假设发生这样一种情况,当一个文件被删除时,可能有其他进程正在打开该文件,导致它不能被删除; (重新启动或终止该进程将释放文件)此外,如果您创建了硬链接(hard link),多个文件名将指向相同的数据,并且数据(实际内容)将被标记为可用/可用,直到删除所有对它的引用.在这种情况下,df 将考虑这些文件/数据的大小,因此可用空间会减少。

关于linux - 为什么 df 命令可以比 du 更快地返回磁盘使用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27916330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com