Bash “a”之后怎么办;rm-R/*";

Bash “a”之后怎么办;rm-R/*";,bash,ubuntu,rm,Bash,Ubuntu,Rm,我在根目录下运行我的网站,我做了linux用户能做的最糟糕的事情:rm-R/*而不是rm-R./*。 我已经停止了这个过程,当我看到它花了太长时间。。。 我设法用usb盘重新安装了lubuntu,这是个好主意还是有其他方法可以扭转这个大错误 多亏了你的回答简短的回答:没有 详细回答:取决于文件系统以及rm的实现方式。rm可能只是取消了文件的链接;inode(标记为“已删除”)和数据仍可能保留。即使inode被硬删除,数据也可能保留。但在任何一种情况下:都存在这样的风险:自那时起,您的操作已经在旧

我在根目录下运行我的网站,我做了linux用户能做的最糟糕的事情:
rm-R/*
而不是
rm-R./*
。 我已经停止了这个过程,当我看到它花了太长时间。。。 我设法用usb盘重新安装了lubuntu,这是个好主意还是有其他方法可以扭转这个大错误

多亏了你的回答

简短的回答:没有

详细回答:取决于文件系统以及
rm
的实现方式。rm可能只是取消了文件的链接;inode(标记为“已删除”)和数据仍可能保留。即使inode被硬删除,数据也可能保留。但在任何一种情况下:都存在这样的风险:自那时起,您的操作已经在旧数据或软删除inode的位置上写入了数据。即使是临时文件、文件描述符(例如套接字或进程)或页面文件(除非它有自己的分区),也可能发生这种情况

我不建议尝试重新链接软删除的inode,也不建议从您的数据推断如何重建硬删除的inode。当然,也许对于不可替代的内存来说,这是值得的(把硬盘交给数据取证专家),但磁盘上的某个地方几乎肯定有损坏。我当然不会试图在这样恢复的磁盘上运行生产系统

我建议采取以下措施之一:

  • 从定期备份中恢复
  • 擦除所有内容并重新开始(您的所有网站文件都存储在源代码管理下,并远程存储,对吗?)
  • 重新部署Docker映像(这是一个不变的部署,对吗?)

鉴于您o型糖尿病的严重程度,我不想这么说。我同情你。但这个问题最适合Ok。。。谢谢你,阿美。。。我将尝试通过USB钥匙重新安装lubuntu。因为rm-R/*:d之后,您将只能使用
nothing
。避免意外
rm/
的经典方法是:确保您的访问权限永远不会超过必要的权限。找到在没有sudo/root的情况下工作的方法。macOS更进一步:系统完整性保护确保即使作为root用户,用户也没有删除系统文件的权限。考虑使用DOCKER容器描述整个系统;它允许您创建可复制的沙盒子系统。您的机器的唯一职责是启动Docker守护进程。然后使用非root权限:您可以启动Docker容器(例如,用于Web服务器服务或数据库服务)。我习惯于在可能具有破坏性的情况下总是执行
ls
,而不是
rm
。检查输出后,我只需要在上一个命令中替换两个字符。。。付出的代价很小!好吧,这对我来说很难,因为我没有备份,我破坏了操作系统,我擦除了所有东西,然后重新开始,如果有人有兴趣关注hole服务器的重建:我已经在上面对你类似评论的回复中描述过