linux – rm如何工作? rm做什么?

linux – rm如何工作? rm做什么?,第1张

概述我的理解是’文件’实际上只是指向与文件内容对应的内存位置的指针.如果你’是’一个文件,你当然必须删除该指针.如果rm实际上“擦除”了数据,我猜想每个位都被写入(设置为0或其他).但是我知道有一些特殊的程序/程序(即srm)来确保数据不是“可恢复的” – 这表明实际上什么都没有被覆盖…… 那么,删除指向内存地址的指针rm唯一能做的是什么?数据是否仍然像以前一样坐在一个连续的块中? My unders 我的理解是’文件’实际上只是指向与文件内容对应的内存位置的指针.如果你’是’一个文件,你当然必须删除该指针.如果rm实际上“擦除”了数据,我猜想每个位都被写入(设置为0或其他).但是我知道有一些特殊的程序/程序(即srm)来确保数据不是“可恢复的” – 这表明实际上什么都没有被覆盖……

那么,删除指向内存地址的指针rm唯一能做的是什么?数据是否仍然像以前一样坐在一个连续的块中?

解决方法

My understanding is that ‘files’ are effectively just pointers to the memory location corresponding to the files content.

小心你的术语.文件(和指针)在磁盘上,而不在内存(RAM)中.

If you ‘rm’ a file,you certainly must be deleting that pointer.

是.发生的事情是严重依赖文件系统的.有些具有哪个块空闲/忙碌的位图.因此,必须为每个释放的块翻转位.其他文件系统使用更复杂的跟踪可用空间的方法.

which suggests that nothing is actually being overwritten…

正确.您可以找到各种“取消删除”实用程序.但是根据文件系统的不同,它会变得相当复杂.但是你多年前保存的东西仍然可以坐在那里 – 或者它可能会被覆盖.这完全取决于细节.例如,请参阅(e2fsprogs)[http://e2fsprogs.sourceforge.net/]

So,is deleting the pointer to a memory address the only thing rm does?

好吧,它还必须删除提供有关该文件的元数据的“目录条目”. (有时它只会消除文件名的第一个字节).

Is the data still sitting there in a contiguous block like it was before?

是的,数据仍然存在.但不要认为它是一个连续的块.文件可以在整个磁盘上进行游标化,有很多指针可以告诉它如何重新组装.如果你使用的是RAID,事情变得非常复杂.

总结

以上是内存溢出为你收集整理的linux – rm如何工作? rm做什么?全部内容,希望文章能够帮你解决linux – rm如何工作? rm做什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1030162.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存