Linux文件系统删除原理及inode,block,superblock

一、 Linux文件系统之 inode,block,superblock

Linux文件系统可以简单分为 inode table和data area
inode table:存有inode,每个inode中记录了文件的元数据,可以通过stat命令查看文件的元数据
data area:存有data

  • superblock:记录此filesystem 的整体信息,包括inode/block的总量、使用量、剩余量, 以及 档案系统的格式与相关信息等;
  • inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的资料所在的block 号码
  • block:实际记录文件的内容,若文件太大时,会占用多个block 。
    在这里插入图片描述
    #File:文件名称;
    #Size:文件大小;
    #Blocks:占用的磁盘块数;
    #IO Block:IO块大小;
    #regular file:这里是显示文件的类型,这是一个普通文件
    #Device:所在设备;
    #Inode:Inode节点号;
    #Links:被链接的次数;
    #Access(第一个):访问权限;
    #Uid:uid号和属主;
    #Gid:gid号和属组;
    #Access(第二个):文件近一次的访问时间;
    #Modify:文件的修改时间;
    #Chang:文件的改变时间

inode也会消耗磁盘空间,在磁盘格式化时,操作系统会自动将磁盘分为两个区域,一个数据区,一个 inode区,存放inode所包含的信息,整个磁盘的可以使用容量由inode和磁盘空间共同决定,当inode 消耗完之后,磁盘空间还有剩余也无法存储数据。
读取文件流程,以要读取/etc/fstab文件内容为例:在这里插入图片描述

二、Linux文件系统删除原理

1、硬链接
  • 具有相同INode节点号的文件互为硬链接文件;
  • 删除硬链接文件或者删除源文件任意一个,文件数据实际并未删除;
  • 只有删除源文件以及所对应的所有硬链接文件,文件数据才被删除,同时释放磁盘空间;
  • 硬链接文件是文件的另一个入口;
  • 硬链接文件可以用rm命令删除;
  • 可以通过设置硬链接文件防止误删。

在这里插入图片描述

2、软链接(符号链接)
  • 类似于windows上的快捷方式
  • 软连接文件类似一个文本文件,存放的是源文件的路径
  • 删除源文件,链接文件依然存在,但是无法指向源文件
  • 软连接文件和源文件是不同类型的文件,也是不同的文件,inode号也不同
  • rm可以直接删除
    在这里插入图片描述
3、目录链接
  • 对于目录来说,只能创建软链接;
  • 每一个目录下都有硬链接"."号;
  • 在父目录里面创建一个子目录,父目录的链接数增加1(子目录里都有指向父目录的链接)。但是在父目录里 创建文件,父目录的链接数不会增加。
4、Link计数器

Linux是通过link的数量来控制文件删除的,只有当一个文件不存在任何link的时候,这个文件才会被删除。
一般来说,每个文件都有2个link计数器:i_count 和 i_nlink。

  • i_count的意义是当前文件使用者(或被调用)的数量,i_nlink 的意义是介质连接的数量(硬链接的数量);可以理解为i_count是内存引用计数器。当一个文件被某一个进程引用时,对应i_count数就会增加
  • i_nlink是磁盘的引用计数器。当创建文件的硬链接的时候,对应i_nlink 数就会增加。

文件删除:i_count和i_nlink同时为0时,代表删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值