有没有办法恢复到由不同于文本编辑器的程序更改的文件的先前版本?
就我而言,我使用的是 KeePassX,添加新密码并保存数据库后,其大小为“0 字节”并且无法再打开。所以我的所有密码现在都无法访问。
有没有办法访问以前的、未损坏的数据库版本?不幸的是,我从未对其进行任何备份。
我正在使用 Ubuntu 14.04 和 KeePassX 0.4.3。
我知道这个问题被覆盖的文件可以恢复吗?但它的重点是命令行操作,例如复制或移动。
答案1
除了您已经提到的数据恢复之外:
如果您没有文件备份,那么:没有。
我知道这现在对你没有帮助,但也许这可能是其他人的一个例子:
请备份!
答案2
如果磁盘空间尚未被文件系统(驱动程序)重用,则数据实际上可能仍然存在。如果它很重要并且您可以识别文件中的数据(例如具有已知字符串的文本文件),我会启动其他一些Linux(例如从CD或USB拇指驱动器)并手动扫描相关磁盘分区(或使用工具),例如通过输入(如root
):
hexdump -C /dev/sdb2 | less
其中/dev/sdb2
需要替换为您的数据分区(用于lsblk
找出它是哪一个)。然后,在less
输出中,搜索文本的几个字符(使用/text
)并希望它不会跨行(如果是,则查找其他文本)。
这似乎很乏味?我确实说过“如果这很重要”。
当然,有一些工具可以为您做到这一点。