在哪种情况下,文件的物理大小是否小于逻辑大小?

时间:2015-07-13 21:50:25

标签: linux file unix filesystems

通常,文件的物理大小大于逻辑大小。我想知道是否有任何相反的情况。可能存在某些文件,其物理大小将小于逻辑大小。

3 个答案:

答案 0 :(得分:10)

使用像ZFS这样的现代文件系统,有三种方法可以使文件的物理大小小于逻辑文件系统:

  • 稀疏文件,其中仅包含零的数据块未物理存储。大多数当前文件系统都支持此功能,但不包括FAT和HFS +。

  • 压缩文件,其中操作系统使用压缩算法以小于其原始大小存储数据。 ZFS,btrfs和HFS +正在实施数据压缩。

  • 重复数据删除文件,其中与不同文件相关但具有相同内容的块仅存储一次。这至少由ZFS,btrfs,vxfs和NTFS VHD实现(Windows Server 2012)。

快照和克隆也是一种技术,它允许多个文件具有共同的来源,但发散的内容只能存储它们的差异,从而导致磁盘空间的增加。

可以添加允许多个"文件的硬链接。 (更确切地说是路径)共享相同的数据。

最后,符号链接不存储任何数据,但它们指向的文件(如果有)通常具有非空数据大小。

答案 1 :(得分:6)

最常见的情况是sparse files。这些文件的物理尺寸小于它们的逻辑大小,因为并非所有的扩展区都已分配 - 文件中有“漏洞”。

请注意,并非所有文件系统都支持稀疏文件。 (特别是FAT没有。)

答案 2 :(得分:1)

文件的物理大小通常是分配给文件的所有块的总和,而逻辑大小是这些块的实际使用量。要使文件逻辑大于其物理大小,将意味着可以动态生成某些数据(因为它有多个块可以容纳)。

您可以通过压缩文件并将压缩隐藏在文件系统驱动程序的详细信息中来实现该概念。以这种方式,您可能有两个512字节的块支持1024个物理字节,但解压缩数据可能会在文件中显示超过1024个逻辑字节。

还有其他一些非常重要的方法来完成你的要求,但我不认为你会在野外遇到它们(除非你在世界的一个非常小的角落里工作)