【问题标题】:df and du giving different resultsdf 和 du 给出不同的结果
【发布时间】:2015-08-26 15:22:06
【问题描述】:

当我使用df -h 时,它会为/appl 目录提供以下结果

/appl                   39G    32G   6.7G    83%    /appl

但是当我进入该目录 cd /appl 并运行 du -sh 时,它给了我以下结果:

 4.9G   .

如果 /appl 挂载点被占用 32GB,为什么它显示它的目录总计为 4.9G?

【问题讨论】:

  • 您是否以 root 身份运行它?您是否包括“隐藏”点文件? askubuntu.com/questions/356902/…
  • @TessellatingHeckler 不,我没有以 root 身份运行。谈论隐藏文件如何在我的结果中包含隐藏文件?
  • 这看起来有点令人信服:superuser.com/a/868800/67909 并使用sudo 运行它。
  • 显示mount 命令的输出
  • @Santoshmount|grep appl 的结果如下图所示:/appl on /appl read/write/setuid/dev=524138f on Fri Jun 28 22:01:34 2013

标签: linux du linux-disk-free


【解决方案1】:

首先dfdu 是两个完全不同的Linux 实用程序。

df = Disk free
du = Disk usage

df (More info on df) 将读取包含指定文件夹的disk partitionmeta data,在您的情况下为app1,并返回disk partition information 而不是实际目录的disk partition information

但是du(More info on du)会遍历指定的目录树,统计目录下所有文件的总大小,返回total space occupied by that directory

接下来回答您的问题:
cd /applcd <mount_point> 是不可能的。
使用 mount 命令检查分区 app1 的挂载位置。

您看到的混乱是因为/目录下必须有一个名为app1的文件夹,还有一个名为app1的分区。

一旦您找到 app1 分区的 mount pointcd 到该目录,然后运行 ​​du -sh,经过一段时间后预期的输出应该是 32G

注意:app1 分区挂载点和/app1 不相同。

【讨论】:

  • 很好地涵盖了两者之间的差异,但在没有其他影响因素的情况下,它们的差异频率会像 OP 所看到的那样显着吗?
  • @Anthony:谢谢。我现在更新了我的答案,以更具体地针对 OP 的问题。
  • @SantoshA 当我运行命令 mount|grep appl 我得到/appl on /appl read/write/setuid/dev=524138f on Fri Jun 28 22:01:34 2013 这不意味着挂载点和目录指的是同一个东西吗?
  • /appl on /appl 确实意味着挂载点和目录是相同的。但我认为这是不可能的。一个我不知道的安装在自身上的文件夹?您使用的是哪个操作系统/系统?能给个具体的吗。。在一般桌面上,磁盘/块设备被挂载到一个类似/dev/sda2 on /home type ext4 (rw) 的文件夹中。但在你的情况下,这是完全不同的
  • @SantoshA 操作系统详情uname -a 提供SunOS efssapp09 5.9 Generic_Virtual sun4u sparc sun4v
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-26
  • 1970-01-01
  • 1970-01-01
  • 2012-07-12
  • 2021-09-25
  • 2023-03-30
  • 1970-01-01
相关资源
最近更新 更多