如果您是 root,并且您发出
rm -rf /
Run Code Online (Sandbox Code Playgroud)
那么命令能走多远呢?你能从这种操作中恢复数据吗?即使二进制文件消失了,正在运行的进程是否仍然处于活动状态?再次启动同一台物理机需要什么?您需要恢复哪些文件才能实现此目的?
我可以在 VM 上试试这个,看看,但我想知道如果我这样做会发生什么背后的基本原理。
jll*_*gre 22
此命令不执行任何操作,至少在我使用的操作系统 (Solaris) 上,首次实现此安全功能的是:
# rm -rf /
rm of / is not allowed
Run Code Online (Sandbox Code Playgroud)
在其他 *nix 上,尤其是 Linux 系列,如果提供了足够新的 Gnu rm,则需要添加--no-preserve-root
选项以使命令能够完成(或至少启动)。
这个命令能走多远是不确定的。这取决于许多或多或少不可预测的事件。通常,即使删除了二进制文件,进程也可以运行。
即使有 jlliagre 的出色回答,请记住这仍然是一件非常危险的事情。在做诸如 之类的事情之前,请务必rm -rf
仔细检查您所在的位置。rm -rf *
例如,如果您在 /usr 目录中执行此操作,那将是灾难性的。
至于您的其余问题,您可以恢复的内容很大程度上取决于您的备份过程。在大多数 *nix 系统中,一旦文件和目录被删除,就没有简单的方法来恢复它们。与旧的 DOS 时代不同,在执行删除后文件通常仍在磁盘上,现在大多数系统都会执行一些使恢复非常困难的操作。这是数据恢复服务如此昂贵的原因之一。
如果您使用虚拟机,我建议至少时不时地进行快照。但没有什么比遵循良好的后备计划更好的了。
小智 5
我刚刚尝试使用 Ubuntu 16 和 vmware 工作站,使用 no-preserve-root 选项,它擦除了我正在运行的 Linux 系统的整个磁盘。完成后,整个 vmware 工作站应用程序变得非常不稳定,甚至无法从应用程序关闭或重置虚拟机。杀死 vmx 被拒绝,之后只有主机重新启动才有效!
归档时间: |
|
查看次数: |
21411 次 |
最近记录: |