如何在Linux中恢复被另一个文件覆盖的文件?

时间:2012-07-08 08:14:36

标签: linux ubuntu recovery

我是在命令行(Ubuntu 12.04)

上完成的

mv some_arbit_file required_file

有什么方法可以恢复required_file。我已经做了很多工作。我经常备份文件。但是,我忘了这一次。将不胜感激任何帮助。

感谢。

4 个答案:

答案 0 :(得分:2)

为了防止将来出现这种问题,您需要备份系统。如果此备份系统执行某种形式的版本控制并且您不需要任何维护工作,那就更好了。你不想考虑哪些文件需要备份,它应该是“所有这些,甚至是/ tmp的内容,至少每小时一次”

使用git / svn或其他文件版本控制系统并不是一个坏主意,但是如果忘记将新文件添加到repo会发生什么?如果repo本身被删除会怎么样?当您尝试将整个音乐集合中,或者想要存储特殊的unix文件(如管道和符号链接)时会发生什么?我也发现git repos非常容易腐败,特别是如果我手动删除或移动它们。

更强大的系统是首先购买一个大尺寸的新硬盘 - 一个或两个太字节就足够了。将此备份驱动器指定为此。然后得到像Rsnapshot这样的东西并让它工作。然后,您将使用标准文件工具恢复版本化备份,这些工具来自从CD启动的半破坏机器,在启动驱动器发生灾难性故障后,网络未启动(是的,我是根据此处的经验说话)。

在Rsnapshot和Apple的TimeMachine(以非常类似的方式工作)之间我已经从几个SSD故障中恢复过来,一个硬盘崩溃和一个静音破坏我的音乐收藏的一半的电源,直到一个星期之后我才找到。

答案 1 :(得分:1)

您可以尝试使用photorec包中的testdisk。删除文件时它可以正常工作,但实际上我不知道是否覆盖它会被视为删除。

对于未来,我建议您使用Dropbox等服务来处理所有重要文件。它允许您恢复每个文件的任何版本。

答案 2 :(得分:0)

请查看此ext3 recovery页面。

因为它很难,我会​​尝试主动并在每个目录中使用git。这样,当我犯错时,我可以git checkout来恢复旧文件。

答案 3 :(得分:0)

你无法撤消"你的命令。也许你可以找到一些可以帮助你的恢复工具......

顺便说一下,为了避免这种麻烦,我建议您使用-i选项。它会告诉你是否要覆盖文件。

您可以在~/.bashrc中创建别名:

alias mv="mv -i"
#you can also add aliases to cp and rm
alias cp="cp -i"
alias rm="rm -i"