系统相关
首页 > 系统相关> > Linux 存储 superblock

Linux 存储 superblock

作者:互联网

Linux系统中有一个名为 super block的“硬盘地图”。

Linux并不是把文件内容直接写入到这个“硬盘地图”里面,而是在super block里面记录着整个文件系统的信息。因为如果把所有的文件内容都写入到这里面,它的体积将变得非常大,而且文件内容的查询与写入速度也会变得很慢。

Linux只是把每个文件的权限与属性记录在inode中,而且每个文件占用一个独立的 inode 表格,该表格的大小默认为128字节,里面记录着如下信息:

而文件的实际内容则保存在 block 块中(大小可以是 1KB、2KB 或 4KB),一个 inode 的默认大小仅为 128B(Ext3),记录一个 block 则消耗 4B。

当文件的 inode 被写满后,Linux 系统会自动分配出一个 block 块,专门用于像 inode那样记录其他block块的信息,这样把各个block 块的内容串到一起,就能够让用户读到完整的文件内容了。对于存储文件内容的 block块,有下面两种常见情况(以 4KB 的 block 大小为例进行说明)

PS: 小知识

在Linux系统中创建硬链接的时候,便是创建了一个指向同一个inode的指针,因为在使用ls -l指令的时候,便能够查看到创建了硬链接的文件的指向inode的数量是大于1的!

因此在删除文件的时候,如果inode指向数大于一,其实并不会删除这个文件,而是会删除当前的指针,其他指向这个inode的文件仍然可以访问!

Keven Ge 发布了2 篇原创文章 · 获赞 0 · 访问量 54 私信 关注

标签:文件,存储,4KB,内容,superblock,Linux,inode,block
来源: https://blog.csdn.net/qq_45976844/article/details/104408660