Linux基础系列(五)Linux系统文件删除原理-阿里云开发者社区

开发者社区> 技术小胖子> 正文

Linux基础系列(五)Linux系统文件删除原理

简介:
+关注继续查看

文件删除生成场景案例解决实战à web服务器磁盘满故障深入解析

参考博文:http://oldboy.blog.51cto.com/2561410/612351

 

Linux的文件名是存在父目录的block里面,并指向这个文件的inode节点,这个文件的inode节点再标记指向存放这个文件的block的数据块。我们删除一个文件,实际上并不清楚inode节点和block的数据。只是在这个文件的父目录里面的block,删除这个文件的名字,从而使这个文件名消失,并且无法指定这个文件的inode节点,当没有文件名指向这个inode节点的时候会同时释放inode节点和存放这个文件的数据块,并更行inodeMAPblockMAP今后让这些位置可以用于防止其他文件数据。

 

wKiom1XMF7SBoyvWAAMNeSRB5lo900.jpg

 


i_link=2  i_count=1  文件删除的条件 i_link=0并且i_count=0

Linux是通过link的数量来控制文件删除的,只有当一个文件不存在任何link的时候,这个文件才会被删除。






      本文转自027ryan  51CTO博客,原文链接:http://blog.51cto.com/ucode/1734095,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java 16 正式发布,新特性一一解析
3 月 16 日,甲骨文正式发布 Java 16。甲骨文表示,现在为所有开发人员和企业提供 Java 16。
9 0
Nsight中给工程添加include目录
Nsight中给工程添加include目录
5 0
LINUX用C检查文件的大小的代码
LINUX用C检查文件的大小的代码
3 0
LINUX下载编译jpeglib
LINUX下载编译jpeglib
6 0
LINUX下使用scp命令与其他机器远程交换文件
LINUX下使用scp命令与其他机器远程交换文件
5 0
Redis集群环境Ruby必须版本2.2以上解决
Redis集群环境Ruby必须版本2.2以上解决
3 0
LINUX SHELL 中if的使用
LINUX SHELL 中if的使用
5 0
LINUX下用C调用系统命令,并读取执行结果的代码
LINUX下用C调用系统命令,并读取执行结果的代码
6 0
LINUX下使用iostat查看硬盘读写情况
LINUX下使用iostat查看硬盘读写情况
4 0
13262
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载