我不小心尝试从根路径中删除所有文件

我不小心尝试从根路径中删除所有文件

当我尝试清理当前目录并重新使用时,我正在终端上具有写权限的文件夹上工作

sudo rm -r ./*

但它花了一些时间才完成,这让我感到疑惑,就在那时,我发现我没有进入我期望的文件夹,我实际上在根路径上,所以我只是匆忙放弃使用Ctrl+C

  • Ubuntu 现在可以运行了,所以我认为没有造成真正的损害,对吗?
  • 我怎么才能知道哪些内容被删除了呢?
  • 有没有办法修复 Ubuntu 来弥补丢失的内容?
  • 有什么办法可以防止这种情况再次发生?每当我尝试删除超过 100 个文件时都会出现额外的提示吗?

答案1

希望您有 LiveUSB 或 LiveCD 可以启动。如果您最终删除了足够多的内容导致系统崩溃,您可以启动 Live 媒体并选择“尝试 Ubuntu”。

有一些选项可以使用诸如、和之类的程序来“恢复已删除”的文件extundelete。但photorec其中一些选项使用起来可能非常麻烦,尤其是当您甚至不确定删除了什么时。foremostscalpel

我推荐的另一个选择是重新安装并保留您的 /home 目录。

一旦启动 Live 媒体,您现在就有机会备份 /home 文件夹,前提是它尚未被删除。如果您的 /home 文件夹已被删除,并且您认为这些文件确实很重要,您可能需要考虑使用上述软件之一。

否则,继续将 /home 文件夹备份到另一个磁盘(例如 USB 记忆棒)或另一个内部磁盘(如果有)。

rsync像这样使用rsync -avz /home /location/of/where/youre/backing

现在在 Live 会话中,启动器或桌面上应该有一个名为“安装 Ubuntu”的快捷方式。如果没有,只需重新启动 Live 媒体并选择“安装 Ubuntu”。

在安装部分,当您到达分区页面时,单击“其他”。在这里您将看到您的分区。编辑安装了 Ubuntu 的分区,并将其设置为与之前相同的格式(ext2/3 等)并挂载为 root (/)。确保格式化复选框未选中!

对 SWAP 分区执行相同的操作。如果您的 /home 文件夹或任何其他文件夹安装在其他分区上,请确保您还选择了要重新安装的文件夹,就像以前一样。同样,不要选中格式选项。

继续安装。此安装将重新安装整个操作系统,并将覆盖所有内容,但不会删除 /home 文件夹或其他任何地方的任何内容。因此,您的所有文件仍将保留在那里。当您进入安装的最后一部分以创建用户时,请确保使用完全相同的用户名和密码。

重新启动并查看所有文件和设置是否都在那里。您可能必须重新安装某些程序,但您会发现安装这些程序后,所有设置仍会在那里。例如,如果您重新安装 Chrome,您的历史记录、书签等就会出现。

如果您确实缺少文件,请重新启动 Live 媒体,插入或安装您备份主文件夹的驱动器,安装您的 Ubuntu 分区,然后以相反的方式执行 rsync。

rsync -avz /location/of/your/backup/home /location/of/your/mounted/ubuntu

这应该可以恢复一切。

答案2

停止使用计算机,以免覆盖硬盘上已删除的数据,然后将其关闭。

获取 LiveUSB,从中启动并安装 Testdisk。使用 Testdisk 尝试恢复您的分区和文件。将任何重要数据复制到另一个闪存驱动器,而不是 LiveUSB。打开 Ubuntu 安装程序并安装 Ubuntu。

我个人曾使用过 Testdisk,并且运气不错。虽然它可能有效,但也可能无效。请不要认为这是删除文件的万能药,因为它不是。不要依赖它,并认为rm无论如何你都可以安全运行,因为完全恢复的可能性远不及 100%。话虽如此,如果你在运行后没有使用过电脑rm,那么你至少有很高的机会进行部分恢复:足以恢复你的数据。

即使您让其rm完成,您可能也不会立即注意到 Ubuntu 的任何问题。您可能仍然可以使用任何打开的程序。尝试打开任何程序都会导致错误。但是,在所有文件都被删除后继续使用 Ubuntu 不是一个好主意,因为新数据可能会覆盖旧数据,从而破坏您恢复的机会。

答案3

如果没有下列命令,那么该命令在现代 Ubuntu 上执行的可能性极小:

$ rm -rf /
/bin/rm: it is dangerous to operate recursively on '/'
/bin/rm: use --no-preserve-root to override this failsafe

rm可能会继续删除$HOME具有写权限,但其余部分/可能被保留。

但是,其他答案也完全正确,并且应该小心谨慎,尽可能地保留它们。

相关内容