撤消“rm -rf ~”命令?

Chr*_*ris 119 linux rm

我有一个我不想命名为“~”的文件夹,所以我从命令行输入

rm -rf ~
Run Code Online (Sandbox Code Playgroud)

并意外删除了我的主文件夹(因为 ~ 解析为 /home/username)。有什么办法可以恢复还是我基本上需要从头开始重新创建帐户?

Red*_*ick 153

一般来说,没有简单的方法回来。

您可以从每日备份中恢复。

  • 你对备份的评论是残酷的,而且 100% 切中要害。 (204认同)
  • 日常什么??? (25认同)
  • @Thorbjørn Ravn Andersen - 确实如此,除非 Time Machine 神经衰弱。在六个月内,我曾两次被时光机吓坏了。 (4认同)
  • OS X 设置了备份_应该_如何工作的标准(尤其是使用 Time Capsule)。请参阅 http://maketecheasier.com/time-machine-for-ubuntu-try-timevault-and-flyback/2008/03/07 以获取有关如何使用 Ubuntu 获得相同功能的建议。 (3认同)

Blu*_*eft 69

其他人(例如@RiMMER@Adam@James T)提到,对于大多数文件系统,可以恢复大部分或全部数据(可能没有文件名),因为数据实际上并未清零,只是被删除从文件表。这不仅适用于 Linux - Windows 和 Mac 也是如此。

然而,没有人提到最重要的事情——关掉你的电脑。现在。.

许多程序 - 包括您现在使用的互联网浏览器 - 会将数据缓存到硬盘驱动器,并且您所做的几乎任何事情都可能导致您的计算机调整大小/写入交换文件。这两种东西都将写入硬盘驱动器上的空闲扇区,可能会覆盖您的宝贵数据。

因此,关闭您的计算机,取出硬盘驱动器,并将其放入另一台计算机。将硬盘驱动器挂载为只读,并将文件恢复到单独的硬盘驱动器上。当您恢复了您可能感兴趣的所有内容后 -只有这样 - 将文件写回原始驱动器。

  • 甚至关机过程也可以写入硬盘。我很犹豫是否建议立即拔掉您的计算机,因为这肯定会使事情**更糟**,但是……好吧,根据数据的重要性,您可能需要考虑一下。 (12认同)

jmo*_*253 13

我相信每个 linux 用户在某个时间点都必须亲身体验这一惨痛的教训,然后才能真正了解备份的重要性,以及注意细节和小心。

例如,如果您要删除看起来很奇怪的文件,您可以首先在该奇怪的文件上运行没有副作用且不会更改您的数据的命令。例如,你有没有跑

cd ~
Run Code Online (Sandbox Code Playgroud)

在尝试删除文件夹之前,您会看到它会将目录更改为您的主文件夹,而不是~文件夹。一旦你通过足够的故障排除步骤,以了解真正的命令,你需要正确地cd进入~文件夹,那么你可以按你的向上箭头键从历史拉的最后一个命令,然后更改cdrm再然后才尝试删除该文件夹.

我建议在执行任何永久性操作之前采取这样的步骤。这不是永久性的或万无一失的,但如果您在执行有副作用的操作时采取这种程度的谨慎,您就有更好的机会防止那些糟糕的时刻。

  • 在你跳跃之前先看,在你之前看`ls`。 (4认同)

Jam*_*s T 7

您可以尝试使用testdisk取消删除单个文件。这显然只适用于 ext2 和 NTFS(但仍然值得一试)。

如果您有 ext3 或 ext4,您可以使用photorec恢复已知文件,这可能最终恢复的超出您的预期。Photorec 恢复没有文件名信息的文件,因此浏览文件可能很乏味。


Ada*_*rax 7

如果您使用的是 ext3 文件系统,那么ext3grep是您最好的新朋友。可以在此处找到有关使用 ext3grep 的很好的教程(以及许多其他教程)。