所以我想问一下,如果这是显而易见的,请原谅我,或新手问题: 如果我创建一个文件,说一个文本文件 - 保存它,(我正在使用Ubuntu),所以我创建的这个文件有一些与之相关的额外信息,比如我硬盘上的位置保存。如何查看这些信息?这些信息存储在我的特定文件中的哪个位置?如何检查存储在我的磁盘上的文件,我假设是什么,字节?
也许我需要关注这个问题,
谢谢,
乙
答案 0 :(得分:5)
这是file system的责任。简而言之,文件系统是一个数据结构,它布置在整个磁盘上 - 这就是磁盘的“格式化” - 并且您的文件被保存到该数据结构中。有很多文件系统,它们的细节差异很大。 http://www.forensics.nl/filesystems有大量关于文件系统设计和组织的论文。我从McKusick的A Fast File System for UNIX开始;它已经过时了,但它包含了许多今天仍然具有影响力的想法。
如果要查看 磁盘上的数据结构,则需要特定于文件系统的取证工具。 Ubuntu可能会在ext2系列中使用某些内容,因此请尝试debugfs。
答案 1 :(得分:2)
我想也许你做需要关注一点: - )
对于UNIX文件系统,有许多不同的类型。
我最熟悉的那个(ext2
)在磁盘上有一个包含目录条目的“文件”。这些条目是简单的名称和指向文件本身的指针(这就是为什么你可以有多个目录条目指向同一个文件,hard links
)。
文件本身是inode
,其中包含文件的属性(所有者,大小,权限等)。
inode
还包含指向文件内容的直接和间接指针。直接,我的意思是指向数据块的指针。
间接指针是指向内容指针的指针。我相信你可以进入另外两个级别的间接,这会给你真正庞大的文件大小:
有关Wikipedia的更多详情。