linux - 在什么情况下文件的物理大小会小于逻辑大小?

标签 linux file unix filesystems

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

最佳答案

对于像 ZFS 这样的现代文件系统,可以通过三种方式使文件的物理大小小于其逻辑大小:

  • 稀疏文件,其中只包含零的数据 block 没有物理存储。大多数当前文件系统都支持此功能,但 FAT 和 HFS+ 除外。

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

  • 删除重复文件,其中属于不同文件但具有完全相同内容的 block 仅存储一次。这至少由 ZFS、btrfs、vxfs 和 NTFS VHD (Windows Server 2012) 实现。

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

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

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

关于linux - 在什么情况下文件的物理大小会小于逻辑大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31394106/

相关文章:

C文件同步

c - Fprintf 不打印

c - 使用与文件 B 共享的元素(外键)访问文件 A 中的数据

linux - 计算 shell 脚本每一步的时间并显示总执行时间

c - 确定当前用户的文件权限

linux - Azure Linux B1s VM - 已安装 Jenkins 服务器,但主页未打开

linux - Linux 中的 IF 和异常

linux - 使用 grep 查找函数

linux - 中断描述符表 (IDT) 修改

python - 当代码在 Linux 上运行良好时 Windows 上的编码错误