【问题标题】:Can the file size differ between two file systems within the same OS?同一操作系统中的两个文件系统之间的文件大小可以不同吗?
【发布时间】:2018-10-21 15:43:55
【问题描述】:

我知道同一个文件在 Linux 和 Windows 中会有不同的大小,因为这两个操作系统是如何定义千字节的。我想知道同一操作系统(例如 Windows)中的文件是否会在具有不同文件系统(例如 NTFS 与 FAT)的两个驱动器上具有不同的大小。

【问题讨论】:

标签: file operating-system filesystems filesize


【解决方案1】:

文件通常有两种文件大小。

  1. 文件中数据的大小。这在大多数文件系统上都是一样的。

  2. 存储文件所需的磁盘空间量。

后者包括开销和未使用分配所需的空间。在开销的情况下,您可以拥有指向文件范围的链接之类的东西,并且某些文件系统包括索引和记录计数。该开销可能因文件系统而异。

在后者中,磁盘空间以簇的形式分配(是块大小的倍数)。如果集群大小不同或开销中的某些因素(例如文件碎片)导致文件需要更多集群,则调整后的文件可以具有不同数量的集群。

【讨论】:

  • 你说了两次后者?你是说以前的吗?因此,我正在查看 Windows 中的文件,然后右键单击-> 属性在常规选项卡中为我提供了两条信息-> 大小:204576 字节和磁盘上的大小:204800 字节。磁盘上的大小是基于集群的,因此它可以被 1024 整除。我可以假设大小 204576 仅包含数据的大小+其他文件元数据(不是文件系统自身需要的数据)吗?基本上我正在对文件属性进行单元测试,我想知道我的代码是否在不同的文件系统上运行(很确定它总是 Windows 操作系统)我应该摆脱大小测试吗?
  • 我的意思是“后者”两次。
  • 好的,在这种情况下,同时查看stackoverflow.com/questions/839625/…,在我看来,分配给有关文件的元数据(名称、属性、权限等)的空间将不计入我看到的值在“大小”中,但它会计入“磁盘大小”,对吗?那么,假设大小值在 NTFS 和 exFAT 上保持不变是否安全?
  • 这取决于文件系统。在某些系统上,文件名存储在标题中,属性存储在通常不计入文件大小的标题中,即使在磁盘上也是如此。所有系统上的数据大小应相同。
  • 有趣。最后还有待确认的是,Windows 上文件属性中的“大小”是否只是数据大小的精确度量,或者是否不止于此?看着technet.microsoft.com/en-us/library/hh148159.aspx,我知道至少出于单元测试的目的,我不应该相信跨文件系统的任何一个值。谢谢
猜你喜欢
  • 2019-02-05
  • 2013-12-05
  • 2011-06-21
  • 2020-01-16
  • 2017-08-12
  • 2019-10-29
  • 2014-05-23
  • 2018-08-18
  • 1970-01-01
相关资源
最近更新 更多