du linux命令大小大于df

时间:2016-09-15 08:37:27

标签: linux filesystems embedded-linux filesize

我正在使用Digi嵌入式linux模块,它具有8MB闪存和16MB RAM。

我的分区表如下:

enter image description here

所以,我获得了4.4MB的rootfs。用户ID为2MB。

当我运行'df -ah'时,我得到以下输出。

enter image description here

然而,当我在root上运行'du -sh'时,我在/ lib中有4M而在/ usr中有3M。两者都是根源。但是,根只有4.4M。

我已经检查了符号链接,并且可以确认这些文件实际存在于/ lib和/ usr上。

enter image description here

我删除了/ lib下的一些库文件( netsnmp ),接近2M,但/ dev / root上的可用大小仅增加了~390K(从408K增加到792K)

enter image description here

这表明/ lib / libnetsnmp *存储在其他地方。我不确定这些文件的保存位置。 有什么想法吗?

另请注意,rootfs映像大小为4M。这在/ dev / root filesystem上的df -ah命令中正确显示。

2 个答案:

答案 0 :(得分:1)

如果我没记错的话,JFFS2具有内置的透明压缩。可执行文件压缩得很好。

答案 1 :(得分:0)

可能是由于根文件系统中存在硬链接。每个硬链接都将显示为普通文件,但所有硬链接都将指向相同的inode,因此物理上只有一个文件位于硬盘中。您可以在link中看到软链接和硬链接的良好定义。

编辑:您可以使用此命令搜索硬链接(取自此answer):

find . -samefile /path/to/file