Linux——文件系统inode与软硬链接

目录

一.inode

(一).背景知识

(二).inode

 二.软硬链接

(一).软链接

(二).硬链接


一.inode

(一).背景知识

我们知道,磁盘是按磁道与扇区划分。Linux把一个磁盘进行了分区处理(一般为4个区)。

进行分区处理有很多优点,比如利于管理,当某个分区损坏但不会影响整个磁盘。

每个分区里又划分成多个块组(block groups)和启动块(boot block)

启动块用于存放该块组信息以及数据恢复。

一个块组里又由不同性质的块组成。

属性
super block存放整个文件系统的信息,比如分区中每个块的大小、硬盘分区上一共有多少个块组、以及每个块组中有多少个inode
CDT块组描述符,里面有指针会指向该块组的inode table、block bitmap和inode bitmap。
block bitmap用于在data blocks中找block,按位图的方式寻找
inode bitmap用于在inode group中找inode,按位图的方式寻找
inode group存放多个inode结构体
block group存放多个块(block),块中存放的才是文件数据,一个块是4KB

(二).inode

inode本质是一个结构体,用于存放一个文件的相关信息。

一个文件往往由多个块组成,但一个文件只有一个inode

一个inode结构体内部记录了文件的大小、信息、该文件包含的所有块的编号等。

当删除文件时,只需要把对应的bitmap置0,同时把inode映射取消即可。

恢复文件时,找到原inode以及对应bitmap置1。

格式化时,并没有删除inode与block table内容,只是把映射取消,因为inode与block可以覆盖。

值得注意的是,虽然一个文件只能有一个inode,但是一个inode可以对应多个文件名(这些文件本质是同一个文件,因为对应inode相同也就是使用的块相同)。同时inode中会记录映射的文件名数量(引用计数方式),当数量为0时才会真正删除文件信息。

 二.软硬链接

(一).软链接

ln -s 路径+文件名 软链接名 

软链接可以类比windows快捷方式。

当删除时不会删除文件本体。

本质是因为软链接是一个新的文件,与目标文件不是同一个inode。

(二).硬链接

ln 路径+文件名 硬链接名 

硬链接删除时也不会删除相关文件,但是硬链接与目标文件是同一个文件。

因为inode与目标文件相同,只是在inode映射的文件名数量上加一。


如有错误,敬请斧正

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

就要 宅在家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值