Linux df和du给出不同的结果

Linux df和du给出不同的结果,linux,du,linux-df,Linux,Du,Linux Df,当我使用df-h时,它给出了/appl目录的以下结果 /appl 39G 32G 6.7G 83% /appl 但是当我进入目录cd/appl并运行du-sh时,它给出了以下结果: 4.9G . 如果/appl挂载点占用了32GB,为什么显示其目录总数为4.9G?首先df和du是两个完全不同的linux实用程序 df=磁盘空闲 du=磁盘使用情况 df()将读取磁盘分区的元数据,其中包含指定的文件夹(在您的情况下为app1),并

当我使用
df-h
时,它给出了
/appl
目录的以下结果

/appl                   39G    32G   6.7G    83%    /appl
但是当我进入目录
cd/appl
并运行
du-sh
时,它给出了以下结果:

 4.9G   .

如果/appl挂载点占用了32GB,为什么显示其目录总数为4.9G?

首先
df
du
是两个完全不同的linux实用程序

df=磁盘空闲

du=磁盘使用情况

df
()将读取
磁盘分区
元数据
,其中包含指定的文件夹(在您的情况下为
app1
),并返回
磁盘分区信息
,而不是实际目录的信息

但是
du
()将遍历指定的目录树,计算目录下所有文件的总大小,并返回该目录占用的
总空间

接下来回答您的问题:
cd/appl
cd
不可能
要检查分区
app1
装入的位置,请使用
mount
命令

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

一旦找到app1分区的
装入点
,将
cd
放入该目录,然后运行
du-sh
,经过一段时间后,预期的输出应该是
32G


注意:
app1
分区装入点和
/app1
不相同。

是否以root用户身份运行它?是否包含“隐藏”点文件@镶嵌切克勒不,我不是以root用户身份运行。谈论隐藏文件如何在结果中包含隐藏文件?这看起来有点令人信服:使用
sudo
运行它。显示
装载的输出command@SantoshA装载| grep appl
的结果如下所示:
/appl on/appl read/write/setuid/dev=524138f,于6月28日星期五22:01:34 2013
关于两者之间差异的精彩报道,但是如果没有其他因素的影响,他们之间的差异会有多大?OP认为有多大。我现在更新了我的答案,以便更具体地回答OP的问题。@SantoshA当我运行mount | grep appl命令时,我在2013年6月28日星期五22:01:34得到了
/appl-on/appl-read/write/setuid/dev=524138f
这不意味着挂载点和目录引用同一个东西吗?有了这个
/appl-on/appl
,这确实意味着装入点和目录相同。但我认为这是不可能的。一个我不知道的文件夹挂载到自己身上了?您正在使用哪个操作系统/系统?你能告诉我具体的情况吗?。在普通桌面上,磁盘/块设备安装到一个文件夹中,该文件夹在/home type ext4(rw)
上显示为
/dev/sda2。但在你的情况下,这完全是错误的different@SantoshA操作系统详细信息
uname-a
提供
SunOS efssapp09 5.9通用\u虚拟sun4u sparc sun4v