linux文件系统详解

文件系统

  1. 扇区是最小存储单位,512bytes
  2. 扇区组成一个圆即柱面,柱面是分区的最小单位
  3. 第一个扇区为引导扇区,是分区中带*的分区,也是挂载在boot上的分区,里面有硬盘主引导记录(MBR  446bytes)以及分区表(64bytes)

 

super block: 记录文件系统的整体信息,包括block/inode的总量,使用量,剩余量以及文件系统的格式与相关信息。

Inode: 记录文件的权限属性,大小所属者所属组以及文件数据所在的block号码等,inode一般为128bytes,记录一个需要4bytes,因为block一般为1,2,4kb那么一个大型文件可能一个inode都不够,但是一个文件只能存储在一个inode中,所以inode利用十二个直接指向之外,还使用间接存储,用block去存储inode表,还能双间接,用下一级的block再去存储,间接和双间接都只能使用一次。因此就可以让一个inode存储一个比较大型的文件了

block: 记录文件的数据内容。Block块一般分为1,2,4kb格式化之后大小已经决定,并且赋予编号以供inode查找,文件太大占多个block,但如果太小也会占用一个完整的block,因此会造成浪费,但是太小又会造成block太多,inode检索速度慢。

ext的文件系统是上述的索引寻找方法读取文件,但是想window的fat文件系统则是类似于指针的一指一下,所以经常会导致因为文件属于多个block时,block不是连续分散过开而导致磁盘一圈甚至不能完全读取文件所以需要碎片整理来将一个文件的block汇聚到一起,但是linux系统很少这样,不过会由于删除编辑新增等导致文件数据过于离散需要碎片化整理。

文件系统的结构

启动扇区

Block group

Block group

Block group

。。。

每个block group如下图

Super

block

文件系统描述

块的对应表

Inode的对应表

Inode

Table

Data

block

文件系统描述(File system Description):

描述每个block group的开始与结束的block号码,说明每一个区段分别介于哪一个block号码中间。

块对照表(blcok bitmap):记录空的block,使得系统可以很快的搜索到空间来处理文件

Inode对应表(inode bitmap):类似快对应表,存储未使用的inode号码。

 

dumpe2fs命令可以用来查询super block表和区段。

参数 -h 可以只查询super block不查询区段

Dumpe2fs -h /dev/hzr_vg/root   后面选项是设备不是文件!

df命令查询磁盘使用情况

参数 h 用MB等格式显示,T显示文件系统,i用inode数量显示

df  -hT  /   后面跟目录或者文件名

du命令查询文件数据,后面接文件名。

 

软硬链接 ln命令

参数-s 添加软连接, 默认是硬链接 后面先加源文件 再加目标文件

软硬链接改了之后,源文件都会改变。

硬链接(hard link):A是B的硬链接(A和B都是文件名),则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除了其中一个,对另外一个没有影响。每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收。注:文件和文件名是不同的东西,rm A删除的只是A这个文件名,而A对应的数据块(文件)只有在inode节点链接数减少为0的时候才会被系统回收。

软链接(soft link):A是B的软链接(A和B都是文件名),A的目录项中的inode节点号与B的目录项中的inode节点号不相同,A和B指向的是两个不同的inode,继而指向两块不同的数据块。但是A的数据块中存放的只是B的路径名(可以根据这个找到B的目录项)。A和B之间是“主从”关系,如果B被删除了,A仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。

硬链接:a.不能对目录创建硬链接,原因有几种,最重要的是:文件系统不能存在链接环(目录创建时的".."除外,这个系统可以识别出来),存在环的后果会导致例如文件遍历等操作的混乱(du,pwd等命令的运作原理就是基于文件硬链接,顺便一提,ls -l结果的第二列也是文件的硬链接数,即inode节点的链接数)

b:不能对不同的文件系统创建硬链接,即两个文件名要在相同的文件系统下。

c:不能对不存在的文件创建硬链接,由原理即可知原因。

软链接:a.可以对目录创建软链接,遍历操作会忽略目录的软链接。

b:可以跨文件系统

c:可以对不存在的文件创建软链接,因为放的只是一个字符串,至于这个字符串是不是对于一个实际的文件,就是另外一回事了

 

分区格式化挂载:

主分区和拓展分区最多四个,拓展分区最多一个,拓展分区不能格式化。Ide硬盘最多59逻辑分区,sata最多有十一个逻辑分区。

fdisk 设置分区  -l 查看分区 后面接设备

在工作的硬盘进行分区的操作,不能立刻在/dev中显示,需要重启,或者使用partx -a /dev/. 命令来刷新内核,最好重启。

mkfs -t 加文件系统 加分区  也可以mksf.文件系统 加分区

Mount挂载 umount 卸载

参数: -a可以加载出fstab里面未挂载的,可以在修改fstab之后用这个命令,防止开机出错。-l 可以加卷标名(别名类似于c盘d盘)。-o 可以加很多挂载参数 remount重挂,ro rw acl等。有一个loop挂载很重要,是挂载光盘等设备是要用到的。

tune2fs命令 用于调整文件系统

参数: -l列出超级块信息类似于dumpe2fs, -设置强制自检次数,每次挂载会加1,到了次数就会在开机时自检,-C设置现在的挂载次数。 -i 设置强制自检的时间 d天m月w周

tune2fs -l /dev/sda1  查看sda1的超级块 后面加设备名。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值