AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 798219
Accepted
azerafati
azerafati
Asked: 2016-07-14 08:10:01 +0800 CST2016-07-14 08:10:01 +0800 CST 2016-07-14 08:10:01 +0800 CST

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

  • 772

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

sudo rm -r ./*

但是花了一些时间才完成这让我感到奇怪,那是当我看到我不在我期望的文件夹上而我实际上在根路径上时,所以我只是匆忙中止了使用Ctrl+C.

  • Ubuntu 现在正在运行,所以我假设没有造成真正的伤害,对吧?
  • 我怎么知道同时删除了什么?
  • 有没有办法修复 Ubuntu 来弥补丢失的东西?
  • 有没有办法以某种方式防止这种情况再次发生?每当我尝试删除超过 100 个文件时都会提示额外提示?
data-recovery
  • 3 3 个回答
  • 3080 Views

3 个回答

  • Voted
  1. Best Answer
    Delorean
    2016-07-14T08:42:48+08:002016-07-14T08:42:48+08:00

    希望你有一个 LiveUSB 或 LiveCD 来启动。如果您最终删除的内容足以使系统崩溃,您可以启动到 Live 媒体并选择“尝试 Ubuntu”。

    有一些选项可以使用extundelete、photorec和. 但是其中一些可能会成为使用的噩梦,特别是如果您甚至不确定删除了什么。foremostscalpel

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

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

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

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

    现在在实时会话中,启动器或桌面上应该有一个名为“安装 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

    这应该恢复一切。

    • 8
  2. TheWanderer
    2016-07-14T08:32:43+08:002016-07-14T08:32:43+08:00

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

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

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

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

    • 5
  3. cat
    2016-07-14T12:19:49+08:002016-07-14T12:19:49+08:00

    如果没有以下内容,命令在现代 Ubuntu 上通过的可能性很小:

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

    rm可能会继续删除$HOME您确实具有写入权限的所有内容,但其余部分/可能会保留。

    但是,其他答案也绝对正确,应谨慎行事以保留您所能做的。

    • 2

相关问题

  • 砖头电脑

  • 使用 Photorec 将数据恢复到外部驱动器

  • 用 rm 删除的文件/目录可以恢复吗?

  • 如何恢复被删除的文件?

  • 恢复 EXT4 分区

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve