Linux教程

linux的rm 删除的文件真的那么快删除完吗?

本文主要是介绍linux的rm 删除的文件真的那么快删除完吗?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一般来说我们在linux服务器上面删除文件看起来是很快的,一个rm就把数据删除了

但是实际上,这个并没有真正的删除。

我们可以通过 

lsof |grep deleted

 

 

 我们可以看到文件其实还没完全删完的。

实际上还是可以读取的。

只有当一个文件的引用计数为0(包括硬链接数)的时候,才可能调用unlink删除,只要它不是0,那么就不会被删除。所谓的删除,也不过是文件名到 inode 的链接删除,只要不被重新写入新的数据,磁盘上的block数据块不会被删除,因此,你会看到,即便删库跑路了,某些数据还是可以恢复的。换句话说,当一个程序打开一个文件的时候(获取到文件描述符),它的引用计数会被+1,rm虽然看似删除了文件,实际上只是会将引用计数减1,但由于引用计数不为0,因此文件不会被删除。

 

参考:

https://mp.weixin.qq.com/s?__biz=MzI0MDQ4MTM5NQ==&mid=2247495456&idx=2&sn=e2907183c41ee6bd793fd01482c2309e&chksm=e9188a3cde6f032a3ab0782292376864c3777adf4fcaf74badaea5c21be0cabb9843f9916d45&token=35894323&lang=zh_CN#rd

这篇关于linux的rm 删除的文件真的那么快删除完吗?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!