文件删除原理
点击查看软链接、硬链接知识
link计数器
Linux是通过link的数量来控制文件删除的
只有当一个文件不存在任何link的时候,这个文件才会被删除
一般来说,每个文件都有2个link计数器:i_count和i_nlink
i_count 内存引用计数器
当前文件使用者(或被调用)的数量,当一个文件被某一个进程引用时,对应i_count数就会增加
i_nlink 磁盘引用计数器
介质连接的数量(硬链接的数量),当创建文件的硬链接的时候,对应i_nlink数就会增加
删除命令rm
rm实际就是减少磁盘引用计数i_nlink
rm删除常识
如果一个文件正在被某个进程调用,而用户却执行rm操作把文件删除了,那么会出现什么结果呢?
当用户执行rm操作删除文件后,再执行ls或者其他文件管理命令,无法再找到这个文件了,但是调用这个删除的文件的进程却在继续正常执行,依然能够从文件中正确的读取及写入内容。
这是因为rm操作只是将文件的i_nlink减少了,如果没其它的链接i_nlink就为0了;但由于该文件依然被进程引用,因此,此时文件对应的i_count并不为0。
文件真正被删除的条件 i_nlink=0 且 i_count=0
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。