gpt4 book ai didi

file - 文件系统存储其文件元数据的位置

转载 作者:行者123 更新时间:2023-12-04 21:01:23 24 4
gpt4 key购买 nike

所以我知道一个文件是由它的数据和元数据组成的,元数据是关于它的信息(通常是名称、文件类型、创建和修改日期等)。

我的问题是这些信息究竟存储在哪里。我知道它可以包含在文件、目录或数据库中,但是对于 Windows、Linux 和 MAC-OS 文件系统,我似乎找不到这些信息......

最佳答案

在 Windows 和 Mac 的情况下,此信息的大部分是 专有 .

对于 视窗 我可以肯定地说,已经为 Linux 编写了足够接近的 NTFS 文件系统驱动程序版本。您可以查看一下,还有一些文档大部分是由 Richard 'Flatcap' Russon ( http://www.flatcap.org/ntfs/ ) 编写的。

FAT 文件系统的文档很久以前就公开了,其目的是为从事闪存驱动器等工作的开发人员和工程师提供充足的信息。 ( http://msdn.microsoft.com/en-us/library/windows/hardware/gg463080.aspx )

关于 使用的 Ext 文件系统的文档Linux 发行版可以很容易地在网上找到。 (分机 2:http://www.nongnu.org/ext2-doc/ext2.html)

我不知道是什么苹果机 使用,但我敢打赌,这是某种源自现有格式(可能是 ext)的专有可憎之处。这只是我的意见,不要把这当成事实。

所有这些格式都有某种结构,包含 元数据 .该文件只是物理驱动器上某处的字节流。大多数文件系统应该具有至少存储文件位置(通常是文件的每个片段的起始簇)和文件大小的结构。其余的元数据由每个文件系统来实现。

例如, FAT 文件系统 每个目录都有表,每个目录都存储有关其包含的文件的元数据。但它也有一个 FAT 表,用于保存文件系统中包含的每个文件的片段位置。

NTFS 文件系统 有一个称为主文件表的大表,其中包含文件系统包含的每个文件的元数据记录,包括表本身。每个记录保存所有元数据,包括每个片段在物理驱动器上的文件位置。
但是,目录结构作为数据保存在目录文件记录中。但是,NTFS 具有更多结构来保存有关文件的信息,例如 USN 日志或卷位图。

访问元数据 您必须解析原始卷或使用操作系统 API 公开的函数。 API 通常不会为您提供有关元数据的所有信息。例如,Windows API 将为您提供遍历 USN 日志以查找有关特定文件的信息的函数,但您无法直接获取文件的 MFT 属性。

再一次,我必须强调,即使有关于这些专有文件系统的大部分文档,你还是在黑暗中拍摄,因为这是他们的知识产权。我们现在拥有的一些(如果不是大部分)文档来自逆向工程。

关于file - 文件系统存储其文件元数据的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19481917/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com