linux磁盘与文件系统管理

前言

管理好自己的磁盘和文件系统是非常重要的,可以有效的节约资源

EXT2文件系统

EXT2是linxu中最传统的文件系统,他其中最重要的就是inode,block,superblock
superblcok:记录文件系统的整体信息,包括各种inode,block的总量,剩余量,使用量,以及文件系统格式的相关信息
inode:记录文件属性,一个文件最少占用一个inode号,同时记录文件数据所在的block号码
block:实际记录文件的内容,若文件过大则会,则会占用多个block
在这里插入图片描述
这种访问模式我们称为索引式文件系统,还有其他的模式就是FAT格式,他就是没有inode号,所以他就是把文件号码放在前一个block中在这里插入图片描述
有时候block分散的太厉害了,有时候我们的磁盘转一圈都无法遍历完所有的blcok,这时候就需要我们经常听说的“磁盘整理”,就是将一个文件的block聚集到一起,但是EXT2是索引式文件系统,所以这些基本不需要

inode

由于在很多的时候,系统的文件很大,将所有的block和inode放在一起是不明知的,所以这时候分组就很重要了,因此 Ext2 文件系统在格式化癿时候基本上是区分为多个区块群组 (block group) 癿,每个 区块群组都有独立inode/block/superblock 系统。

数据块

data block是存放数据的地方,这个格式化的时候就已经固定了,他的大小有三种,1k,2k,4k,不过他是由文件系统所限制的
在这里插入图片描述
但是你要注意,当你系统放的都是很小的文本文件的时候,过大的数据块就会造成很多的浪费,因为他最少都会占用你一个块的大小

inode table (inode 表格)
  1. 文件的访问模式
  2. 文件的所有组
  3. 文件的大小
  4. 改变的时间
  5. 最近一次读取的时间
  6. 最近一次修改的时间
  7. 文件的真正指向
    一个文件至少占用一个inode号和block号,同时你的inode号决定你可以创建文件的数量
    同样的如果文件过大的话,他就会间接的储存, inode 记彔 block 号码为12个直接,一个间接, 一个双间接,一个三间接记录区
    上图最左边为 inode 本身 (128 bytes),里面有 12 个直接挃向 block 号码癿对照,这 12 笔记彔就能 够直接叏得 block 号码啦! 至亍所谓的间接就是再拿一个 block 来当作记彔 block 号码癿记录区,如 果档案太大时, 就会使用间接的block 来记彔编号。如上图 1.3.2 当中间接叧是拿一个 block 来记彔 额外的号码而已。 同理,如果档案持续长大,那举就会利用所谓的双间接,第一个 block 仅再挃出下 一个记彔编号癿 block 在哪里, 实际记彔癿在第二个 block 当中。依此类推,三间接就是利用第三层 block 来记彔编号啦!
    这样子 inode 能够挃定多少个 block 呢?我们以较小癿 1K block 来说明好了,可以挃定癿情冴如下:
     12 个直接指向: 121K=12K 由亍是直接挃向,所以总共可记彔 12 笔记彔,因此总额大小为如上所示;
     间接: 256
    1K=256K 每笔 block 号码癿记彔会花去 4bytes,因此 1K 癿大小能够记彔 256 笔记彔,因此一个间接可 以记彔癿档案大小如上;
     双间接: 2562561K=2562K 第一层 block 会挃定 256 个第二层,每个第二层可以挃定 256 个号码,因此总额大小如上;
     三间接: 2562562561K=2563K 第一层 block 会挃定 256 个第二层,每个第二层可以挃定 256 个第三层,每个第三层可以挃定 256 个号码,因此总额大小如上;
     总额:将直接、间接、双间接、三间接加总,得到 12 + 256 + 256
    256 + 256256256 (K) = 16GB
超级块

他是记录整个文件系统信息的地方,没有superblock就没有这个文件系统

  1. block 和inode 的总量
  2. 未使用的 block 和inode
  3. block和inode 的大小
  4. filesystem 的 挂载时间、最近一次写入数据的时间、最近一次检验磁盘 (fsck) 的时间等文件系统 的相关信息;
  5. 一个 valid bit 数值,若此文件系统已被挂载,则 valid bit 为 0 ,若未被挂载,则 valid bit 为 1
两张表

块对照(block bitmap)表和inode对照表 (inode bitmap),他们会选择一个空的bolck来记录,他就是来记录那些块是空的,那些是刚被删掉释放的

列出磁盘总量–df

在这里插入图片描述

查看 dumpe2fs

可以来查看文件系统
在这里插入图片描述

与目录树的关系

当我们在 Linux 下的 ext2 文件系统建立一个目录时, ext2 会分配一个 inode 不至少一块 block 给该 目录。其中,inode 记录该目录的相关权限不属性,可记录分配到的那块 block 号码; 而 block 则 是记录在这个目录下癿文件名不该文件名占用的 inode 号码数据
当你使用ll的时候,出现的大小都是1024的倍数,这是因为每一个blcok 的大小都是1k,2k,4k

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值