Linux(centos7)文件系统的核心—inode表+group表+superblock超级块

本文详细介绍了Linux文件系统的核心组成部分,包括inode表、group分组表和superblock超级块。inode存储文件元数据,包含文件大小、位置信息;group表组织block块;superblock包含文件系统基本信息。通过inode的指针,能高效读取大文件,优化了文件存取速度。
摘要由CSDN通过智能技术生成


文件系统

文件系统就是文件管理系统,简称文件系统。
文件系统的核心为两张表+superblock超级块:
两张表:inode表+group表
superblock超级块:分区第一个block

inode表中存储的是元数据,包含File、Size、Blocks等字段;
group分组表中为各个block块的分组情况;
superblock超级块中包含卷名、挂载点、UUID等多个字段。

inode表

inode

inode表中包含文件系统所有文件列表
一个节点是在一个表项,包含了有关文件的信息(元数据)。
一个文件有且只有一个inode
inode中包含12个直接指针,1个间接指针,1个双间接指针,1个三间接指针

文件系统提取文件的顺序:
1、根据文件名,通过Directory里的对应关系,找到文件对应的Inode number
2、再根据Inode number读取到文件的Inode table
3、再根据Inode table中的Pointer读取到相应的Blocks

示例:

[root@centos ~]# stat MBR
  File: ‘MBR’
  Size: 512       	Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d	Inode: 135140357   Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2020-03-25 21:58:04.870919270 -0400
Modify: 2020-03-25 21:57:48.174858778 -0400
Change: 2020-03-25 21:57:48.174858778 -0400
 Birth: -
字段 含义
File 文件名
Size 该文件的大小
Blocks block块总计数量
IO Block block块的大小
Device 设备
Inode 该文件的inode号
Links 链接数量
Access 权限
Uid 该文件的Uid
Gid 该文件的Gid
Access 该文件的atime文件上一次打开的时间
Modify 该文件的mtime文件内容上一次变动的时间
Change 该文件的ctime—inode上一次变动的时间

block

文件数据存储在block中
每块block只能存储一个文件
block 文件系统的最小存储单位是 1k,2k,4k,2^n

inode和block的关系

由上面的定义可以知道block是用来存储文件数据的,每一个block只能存储一个文件,并且每个block都有自己的编号,当一个文件特别大的时候,存储该文件的block数量也会很大,而且,在没有inode的时候读取文件,只有当读取完上一个block的时候才会知道下一个block号,才能继续读取。这个时候因为block的数量很大,读取速度会很慢。inode的存在很好的解决了这一个问题,inode中除了存储元数据之外,还会存储block指针,当我们在读取大文件的时候,inode中的指针会迅速找出block并将其排序之后快速读取,大大提高了效率。
inode与block关系小结:
1.磁盘被分区格式化分区之后,会分为元数据和block两部分
2.inode存放文件的属性以及指向文件实体的指针(block的位置)
3.superblock用来存储inode和block等等整个文件系统的全部信息,包括inode和block的大小,数量,以及block的使用情况。
4.创建了一个文件时会同时创建inode和block,inode用来存储元数据和block指针,block用来存储数据内容。
5.一个block只能被一个文件使用,所以一个block并不是越大越好,当服务器存储的小文件居多,那么block设置的小一点比较好,不会浪费空间。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值