Bash “a”之后怎么办;rm-R/*";
我在根目录下运行我的网站,我做了linux用户能做的最糟糕的事情:Bash “a”之后怎么办;rm-R/*";,bash,ubuntu,rm,Bash,Ubuntu,Rm,我在根目录下运行我的网站,我做了linux用户能做的最糟糕的事情:rm-R/*而不是rm-R./*。 我已经停止了这个过程,当我看到它花了太长时间。。。 我设法用usb盘重新安装了lubuntu,这是个好主意还是有其他方法可以扭转这个大错误 多亏了你的回答简短的回答:没有 详细回答:取决于文件系统以及rm的实现方式。rm可能只是取消了文件的链接;inode(标记为“已删除”)和数据仍可能保留。即使inode被硬删除,数据也可能保留。但在任何一种情况下:都存在这样的风险:自那时起,您的操作已经在旧
rm-R/*
而不是rm-R./*
。
我已经停止了这个过程,当我看到它花了太长时间。。。
我设法用usb盘重新安装了lubuntu,这是个好主意还是有其他方法可以扭转这个大错误
多亏了你的回答简短的回答:没有
详细回答:取决于文件系统以及rm
的实现方式。rm可能只是取消了文件的链接;inode(标记为“已删除”)和数据仍可能保留。即使inode被硬删除,数据也可能保留。但在任何一种情况下:都存在这样的风险:自那时起,您的操作已经在旧数据或软删除inode的位置上写入了数据。即使是临时文件、文件描述符(例如套接字或进程)或页面文件(除非它有自己的分区),也可能发生这种情况
我不建议尝试重新链接软删除的inode,也不建议从您的数据推断如何重建硬删除的inode。当然,也许对于不可替代的内存来说,这是值得的(把硬盘交给数据取证专家),但磁盘上的某个地方几乎肯定有损坏。我当然不会试图在这样恢复的磁盘上运行生产系统
我建议采取以下措施之一:
- 从定期备份中恢复
- 擦除所有内容并重新开始(您的所有网站文件都存储在源代码管理下,并远程存储,对吗?)
- 重新部署Docker映像(这是一个不变的部署,对吗?)
nothing
。避免意外rm/
的经典方法是:确保您的访问权限永远不会超过必要的权限。找到在没有sudo/root的情况下工作的方法。macOS更进一步:系统完整性保护确保即使作为root用户,用户也没有删除系统文件的权限。考虑使用DOCKER容器描述整个系统;它允许您创建可复制的沙盒子系统。您的机器的唯一职责是启动Docker守护进程。然后使用非root权限:您可以启动Docker容器(例如,用于Web服务器服务或数据库服务)。我习惯于在可能具有破坏性的情况下总是执行ls
,而不是rm
。检查输出后,我只需要在上一个命令中替换两个字符。。。付出的代价很小!好吧,这对我来说很难,因为我没有备份,我破坏了操作系统,我擦除了所有东西,然后重新开始,如果有人有兴趣关注hole服务器的重建:我已经在上面对你类似评论的回复中描述过