繁体   English   中英

磁盘上的文件如何表示

[英]how is a file represented on a disk

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

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

谢谢,

这是文件系统的责任。 简而言之,文件系统是一种布局在整个磁盘上的数据结构-这就是对磁盘进行“格式化”的工作-并且文件会保存到该数据结构中。 文件系统很多,它们的详细信息差别很大。 http://www.forensics.nl/filesystems上有很多关于文件系统设计和组织的论文。 我将从McKusick的UNIX快速文件系统开始; 它虽然很旧,但包含了许多至今仍很重要的想法。

如果你想看看数据结构在磁盘上,你需要一个特定的文件系统的取证工具。 Ubuntu可能正在ext2系列中使用某些东西,因此请尝试debugfs

我想,也许需要关注它一下:-)

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

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

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

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

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

替代文字

有关Wikipedia的更多详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM