Linux 文件系统 inode block 介绍 位图功能 软链接 硬链接 特点与区别

inode

  1. 概念
    Inode(Index Node)是Unix/Linux文件系统中用于​​存储文件元数据​​的数据结构,每个文件/目录对应一个唯一的inode。

  2. 数据内容(元数据)

    block编号

    文件类型
    普通文件(-)、目录(d)、符号链接(l)、设备文件(c/b)等。

    权限(rwx)
    文件所有者、组和其他用户的读/写/执行权限(如 755)。

    所有者(UID/GID)
    文件所属用户和组的 ID。

    大小(Bytes)
    文件的字节大小。

    时间戳
    创建时间(ctime)、修改时间(mtime)、访问时间(atime)。

    硬链接计数
    指向该 inode 的目录项数量(删除文件时计数为 0 才释放空间)。

    ​​数据块指针​​
    直接、间接、双重间接等指针,用于定位文件数据所在的 block(见下表)。

block

  1. 概念
    block​​(数据块)是文件系统中最小的存储单元。
    文件的实际内容保存在 data block 中。每个 block 都有属于自己的编号。当文件太大时,可能会占用多个 block 块。

  2. 数据内容
    ​​
    数据块​​
    存储文件的实际内容(如文本、图片二进制数据等)。

    ​​目录块​​
    存储目录下的文件名和对应 inode 号的映射表(如 ls命令读取的内容)。

    间接块​​
    当文件较大时,存储额外的数据块指针(扩展 inode 的寻址能力)。

    ​​特殊块​​
    如符号链接的路径名(若较短可能直接存在 inode 中)。

位图

分类:
 inode位图/block(块)位图
作用:
 记录inode/block是否使用
删除文件背后发生了什么
 将inode位图对应位置设置为0
 将block位图对应位置设置为0

链接

软链接

概念:
 软链接是一个 独立的文件,它存储了目标文件的 路径引用。
 如果目标文件被删除,软链接会变成 “悬空链接”,无法访问。
特点:
 类似于快捷方式
 与原文件的inode号不一致
 block 中存放目的文件的路径
 文件和文件夹都可以创建软链接
路径:
 绝对路径
 ln -s /root/src /root/soft
 相对路径
 ln -s src soft

硬链接

概念:
 硬链接是 指向同一个 inode 的多个文件名,本质上是同一个文件的多个入口。
特点:
 和原文件共享inode
文件夹不能创建硬链接
  防止死循环,两个文件循环遍历
  举例:
  /B /A 是两个文件夹
  /B/A.link /A/B.link 在B文件夹下创建A的硬链接,在A文件夹下创建B的硬链接
  /那么文件系统在生成B文件夹的目录项(遍历目录)时,就会导致
  /B/A.link/B.link/A.link/B.link…(无限循环)

 软链接是可检测的且可跳过的,所以可以指向文件夹。
  /B/A.link /B.link(被检测为软链接)
 硬链接不能跨分区创建,防止inode冲突(链接文件与原文件inode号一致,而不同分区inode编号是彼此独立的,会导致冲突)
路径:
 绝对路径
 ln /root/src /root/hard
 相对路径
 ln src hard

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值