![如何使用 find-delete 恢复已删除的数据?](https://linux22.com/image/957927/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20find-delete%20%E6%81%A2%E5%A4%8D%E5%B7%B2%E5%88%A0%E9%99%A4%E7%9A%84%E6%95%B0%E6%8D%AE%EF%BC%9F.png)
嗨,大家好!
我正在使用 Ubuntu 10.04 版本。
我不小心删除了我的代码查找-删除命令。
有没有什么办法可以恢复数据?
提前谢谢了。
答案1
从备份中恢复。如果您不定期备份,那么迟早会发生这样的事情,您将会丢失数据。
答案2
如果您在 Google 上搜索 undelete linux,您会找到一种查找已删除文件条目的方法,但是,在系统运行时,空间很有可能被覆盖。在做过类似的事情后,我最终使用字符串和 grep 从磁盘中提取源,然后替换了大量括号和标点符号。
取消删除通常发生在不删除文件的系统上,而是移动并隐藏文件,也就是 Windows,Unix 不是设计为这种系统。
这在 ext2 上有效(也是我一开始提到的方法http://e2undel.sourceforge.net/recovery-howto.html) 但请注意,它可能不起作用。
在 UNIX 上恢复已删除文件的最佳方法是从备份中恢复。
答案3
虽然这是可能的(至少部分是可能的),正如@BugFinder 所说的那样。但对于未来:
你应该做的第一件事——记住:
立即关闭你的计算机。
如果您不运行任务关键型数据库,最好是通过电源关闭,而不是通过常规shutdown
或临时关闭,因为您的关机可能会将一些数据写入(已从已删除文件中释放的块)。而且,您删除的文件可能不会从内存缓冲区同步到硬盘。
当然,你会得到损坏的文件系统,但通常可以毫无问题地修复它(fsck),而且无论如何你都会使用 fsdb 进行一些 voo-doo 文件系统黑客攻击……;)
经常备份是个好主意,或者使用更智能的操作系统/文件系统组合。例如 FreeBSD/ZFS。(我不想挑起任何口水战,所以请不要评论我的最后一行)。:)