稀疏文件是一种计算机文件,通常具有大于分配的大小(分配给文件数据的簇)的文件大小(逻辑)。大多数文件系统都支持这种类型的文件,但是操作系统会在命令解释器的命令或API调用下禁止显示这些文件。
因此,无法使用通用的复制/粘贴/创建方法来访问这些文件,而是通过操作系统或API调用的命令处理器中的专用命令来公开它们。在本文中,我们将研究由OS的命令处理器提供的用于创建稀疏文件的命令。
Windows:
Windows提供了名为fsutilI (文件系统实用程序)的命令行程序,该程序允许创建/分配/查询稀疏文件。要在Windows上创建稀疏文件,请在命令解释器( cmd)上执行以下命令。
fsutil File CreateNew applese 1000
上面的命令以applese的名称创建一个新文件(用零填充)。但是文件到目前为止还不稀疏。要使此文件为稀疏文件,请在上一个命令之后执行以下命令。
fsutil Sparse SetFlag applese
fsutil Sparse SetRange applese 0 1000
第一个命令在我们新创建的文件上启用稀疏标志。这允许执行第二个命令,该命令将文件的前1000个字节(从0 – 1000)设置为稀疏范围。因此,我们得到了一个完全稀疏的文件。确认是由layout命令提供的。
Stream : 0x080 ::$DATA
Attributes : 0x00000200: Sparse
Flags : 0x00000018: No clusters allocated | Has Parsed Information
Size : 1, 000 (1.0 KB)
Allocated Size : 0 (0.0 KB)
Vdl : 0 (0.0 KB)
Extents : 1 Extents
从layout命令的上面部分清除,我们的文件分配了0个大小,但虚拟大小为1000个字节。这也可以在文件的属性中看到。
Linux:
在Linux上,创建稀疏文件的过程确实微不足道,因为存在多个用于创建稀疏文件的命令。我们将使用truncate命令创建稀疏文件。命令如下。
truncate -s 5M temp
上面的命令创建了一个名为temp的稀疏文件,其大小为5兆字节(〜500万字节)。
Linux OS变体为使用稀疏文件提供了广泛的支持,例如稀疏文件的修改,复制,归档,调整大小,文件增长等。大多数可以在这里找到。