首页 > 解决方案 > 文件的实际大小是多少?

问题描述

文本文件的大小怎么可能等于里面的字符数?例如在 file.txt 你有字符串“abc”,它的大小是 3 个字节。一切都很好,但是文件图标、文件名和文件信息呢?这些数据存储在哪里?

我在 Windows 上检查过,但在 Unix 系统上情况可能是一样的。

标签: fileoperating-system

解决方案


磁盘以块为单位分配空间。历史上的块为 512 字节,但多年来一直在增加,因此 4K 很常见。您的文件大小将始终是块大小的倍数。

大多数文件系统(Windoze 也这样做)在集群中分配磁盘空间。一个簇是许多相邻的块。然后,您的文件大小将始终是块大小乘以集群因子的倍数。这通常是操作系统计算的文件大小。

这一切都取决于磁盘格式和操作系统:

一切都很好,但是文件图标、文件名和文件信息呢?这些数据存储在哪里?

文件信息(日期、所有者等)通常位于某种主文件表中。有时,此表将具有可以存储信息的扩展名。安全信息通常存储在此类溢出中。

合理设计的文件系统将在标题中存储“A”文件名。文件名也存储在目录中,如果一个文件链接到多个目录,它可以有多个名称。头文件名用于在损坏的情况下恢复文件。

图标的位置完全是系统特定的,可以通过多种方式完成。对于可执行文件,它们通常存储在文件本身中。它们也可以是同一目录中的隐藏文件。


推荐阅读