1

所以我想问一下,如果这很明显,或者新手问题,请原谅我:如果我创建一个文件,说一个文本文件 - 保存它,(我使用的是 Ubuntu),所以我创建的这个文件有一些额外的与它相关的信息,例如,我的硬盘驱动器上保存它的位置。如何检查这些信息?我的特定文件的这些信息存储在哪里?如何检查存储在磁盘上的文件,我假设是什么字节?

也许我需要关注这个问题,

谢谢,

4

2 回答 2

5

这是您的文件系统的责任。简而言之,文件系统是一种布局在整个磁盘上的数据结构——这就是“格式化”磁盘所做的事情——并且你的文件被保存到该数据结构中。有很多文件系统,它们的细节差异很大。 http://www.forensics.nl/filesystems有一大堆关于文件系统设计和组织的论文。我将从 McKusick 的A Fast File System for UNIX开始;它很古老,但它包含了许多至今仍具有影响力的想法。

如果您想查看磁盘上的数据结构,您需要一个特定于文件系统的取证工具。Ubuntu 可能使用了ext2家族中的某些东西,所以试试debugfs

于 2010-10-21T02:23:54.710 回答
2

我想也许你确实需要集中注意力:-)

对于 UNIX 文件系统,有许多不同的类型。

我最熟悉的 ( ext2) 在磁盘上有一个包含目录条目的“文件”。这些条目是简单的名称和指向文件本身的指针(这就是为什么您可以有多个目录条目指向同一个文件,hard links)。

文件本身是一个inode包含文件属性(所有者、大小、权限等)的文件。

还包含指向文件内容的inode直接和间接指针。直接,我的意思是指向数据块的指针。

间接指针是指向内容指针的指针。我相信您可以转到另外两个间接级别,这会为您提供真正庞大的文件大小:

替代文字

维基百科的更多细节。

于 2010-10-21T02:25:59.823 回答