[svc]ext4文件删除&访问原理

文件名信息存放在哪里?

LINUX的文件名是存在父目录的block里面,并指向这个文件的inode节点,这个文件的inode节点再标记指向存放这个文件的block的数据块。我们删除一个文件,实际上并不是清楚inode节点和block的数据。只是在这个文件的父目录里面的block删除这个文件的名字,从而使这个文件名消失,并且无法指向这个文件的 inode节点,当没有文件名指向这个inode节点同时没有进程调用的时候,这个inode和下面的block是无主的。在磁盘检查或者有内容写入的时候会是否释放inode节点和存放这个文件的数据块,并更新inodeMAP和blockMAP今后让这些位置存放其他文件数据。

文件的访问(读取)

806469-20180305212424209-1007897341.png

企业面试题: 请从linux文件系统角度详细描述读取文件过程

扩展知识:读取文件的原理过程


读取/tmp/text.txt的过程如下:
1.首先查根目录/ inode 信息,然后查找到根目录的block
2.在根的 block 信息里查找到/tmp的目录名,进而找到/tmp的inode 
3.然后找到/tmp的block信息,查找到 text.txt的文件名、inode信息与权限属性信息
4.进而查找到文件的 block信息而读取到文件的内容

806469-20180306213343270-1875784913.png

文件的删除

被删除的条件: inode==0 && icount==0
企业案例-磁盘满了
806469-20180305212449065-853258440.png

我为何要理解这玩意, 牵扯到linux权限, 删除一个目录下的文件, 操作对象有 父目录的inode+文件的inode

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值