linux文件删除原理

文件删除的原理
  linux的文件名是存在父目录的block里面的,并指向这个文件的inode节点,这个文件的inode节点在标记指向存放这个文件的block的数据块。我们删除文件,实际上不是清除inode节点和block的数据,只是在这个文件的父目录里面的block中,删除了这个文件的名字,从而使这个文件名消失,并且无法指向这个文件的inode节点,当没有文件指向这个文件inode节点的时候,会同时释放inode节点存放这个文件的数据块,并更新inode MAP 和block MAP 今后让这些位置可以用于放置其它文件数据。

  所以一般静态文件我们只需要用rm 命令删除其文件名即可删除文件。但是我们常常面对的是下图的这种情况。

 

说明:以上图形 i_link=2 和i_count=1

文件删除的条件:当i_link=0并且i_count=0 ,这时文件才能被删除。

linux是同过link的数量来控制文件删除的,只有当一个文件存在任何link的时候,这个文件才会删除。一般来说,每个文件都有2个link计数器:i_count和i_link。
i_count的意义是当前文件使用者(被调用)的数量,i_link的意义是介质链接的数量(硬链接的数量);可以理解为i_count是内存引用计数器,i_link是磁盘的引用计数器。

 

案例:

 企业web服务器的磁盘满了,删除日志文件后发现还是满的!

原因就是磁盘空间还在被程序调用,并没有能删除,等程序调用完了就显示正常了。

转载于:https://www.cnblogs.com/heboxiang/p/9967663.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值