在 ext 文件系统中,
谢谢。
不会。文件并不总是连续存储的;不连续存储实际上有一个名字,“碎片”(因为文件的每个单独存储的部分都是一个“碎片”)。这是必需的,因为否则您将无法使文件大于最大的连续可用空间。并且附加到文件通常会失败(或者,需要重写整个文件才能移动它)。
inode 的字段表示“从块 10,000 开始的字节 0 到 1048575”、“从块 300 开始的字节 1048576 到 2097152”等。inode 的大小是固定的,因此可容纳的片段数量是有限的。存储在inode中。当需要更多碎片时,inode 存储指向不同块的指针;碎片存储在那里。
如果该片段由 inode 直接指向,则为直接指针。
如果片段存储在 inode 外部,则这是一个间接指针。
SANS 上的一篇数字取证文章有很好的图片解释。维基百科文章也是如此。请注意,ext4 的范围工作方式不同;又是SANS 上的一篇文章。