Linux 如何根据头';s扇区起始地址?

Linux 如何根据头';s扇区起始地址?,linux,file,terminal,Linux,File,Terminal,假设我在linux分区上的未分配空间中有一个已删除的文件,我想检索它 假设我可以通过检查头来获得文件的起始地址 是否有一种方法可以估计要分析的块数(这取决于图像的大小)。通常,Linux/Unix不支持恢复已删除的文件-如果已删除,则应将其删除。这对安全性也有好处——一个用户不能通过创建跨越几乎所有可用空间的巨大空文件来恢复另一个用户删除的文件中的数据 有些文件系统甚至支持所谓的安全删除,也就是说,它们可以在删除时自动擦除文件块(但这并不常见) 您可以尝试编写一个实用程序,将文件系统挂载的整个分

假设我在linux分区上的未分配空间中有一个已删除的文件,我想检索它

假设我可以通过检查头来获得文件的起始地址


是否有一种方法可以估计要分析的块数(这取决于图像的大小)。

通常,Linux/Unix不支持恢复已删除的文件-如果已删除,则应将其删除。这对安全性也有好处——一个用户不能通过创建跨越几乎所有可用空间的巨大空文件来恢复另一个用户删除的文件中的数据

有些文件系统甚至支持所谓的安全删除,也就是说,它们可以在删除时自动擦除文件块(但这并不常见)

您可以尝试编写一个实用程序,将文件系统挂载的整个分区(例如,
/dev/sda2
)作为一个大文件打开,并读取它并扫描原始数据的残余部分,但如果文件是碎片化的(这很可能),您能够以某种可用形式恢复大部分数据的可能性非常小

说到这里,有一些实用程序试图比简单扫描更智能一些,并且可以尝试在Linux上取消删除文件,比如。它可能对你有用,但成功永远无法保证。当然,您必须是root用户才能使用它


最后,如果您希望能够从该文件系统中恢复任何内容,您应该立即卸载它,并使用
dd
或管道
dd
对其进行备份,通过
gzip
压缩以节省所需空间。

如果文件是碎片,该怎么办?检查头是什么意思?它从哪里来?@mvp说我删除了一个.jpg文件。jpg文件的头包含字符ffd8ff。。。这当然可以确保扇区头是具有以下特性的图像数据文件的头。jpg扩展名。@JimGarrison说我最近删除了一个图像文件。因为这不是一个非常古老的未定位空间。。大部分数据不会被其他数据覆盖。因此,我假设文件是continuous@Pavan-阅读到EOF?我认为这只能在可读的文件上实现。。由于此文件已被删除,因此没有必要“打开它”然后再读取它。问题仅仅涉及从文件*所在的未分配空间读取扇区信息。文件所在的OSA删除扇区声明为未分配空间,直到写入新数据。文件实际上并没有消失。虽然这个答案提供了对理论的见解,但我想请你阅读我对这个问题的评论,以帮助我得到更好的答案!谢谢