不小心运行了 rm -rf/* 还有补救的机会吗?

2022-02-03 14:40:18 +08:00
 monster33

我真的大无语,刚刚情绪都有点崩溃了。今天本来过年没事情做,就准备把服务器上的文件整理一下。然后我想删除某个文件夹下面的文件的时候,不小心执行了 /* 2 秒之后我意识到什么,立刻 command+c 然后就 gg 了,命令行 ls 都看不到文件夹了 显示-bash: /bin/ls: No such file or directory

是在宿主机上执行的,用的 unraid 系统。目前用之前安装的 docker 插件看,主要我存在硬盘里面的文件还在,smb 目前访问不了。也无法访问 unraid webui 了。虚拟机还能运行。但是我不敢关机,怕关了就启动不了了。

现在有什么办法补救? 救救我 救救我 救救我

8654 次点击
所在节点    程序员
52 条回复
sky96111
2022-02-04 14:02:04 +08:00
@abc8678 所以我的习惯是,要输入删除命令时绝不先输 sudo ,输完以后 ctrl+a 再加上 sudo 。避免命令写一半按到回车,密钥凭证没过期免密码直接执行了
NotFoundEgg
2022-02-04 18:25:48 +08:00
我一般会在根目录和 home 下建一个文件夹 起名!(因为!排在 ASCII 表的前面位置) 然后调一下权限 可以一定程度防误删
mkdir ! && chmod 000 !
des
2022-02-04 19:22:22 +08:00
@NotFoundEgg chattr +i 也可以
abc8678
2022-02-04 19:39:44 +08:00
@sky96111 打开终端窗口,默认出现中文输入法。打开浏览器地址栏,默认出现中文输入法。到了打字的时候,默认英文输入法。……输入法有点乱。有时候按回车,可以把输入一般的英文打出来,省得前功尽弃。结果有些时候,一回车就执行了,打一半的中英混合体被敲进去执行了……
iqoo
2022-02-04 20:05:45 +08:00
@NotFoundEgg 果然有想法相同的人
hackk
2022-02-04 22:48:30 +08:00
@NotFoundEgg 想法非常棒,看到后我测试了一下,我在 Centos 7.9 下,根目录和 home 下都创建了 !和 a 文件夹,权限 000 ,root 用户执行 rm -rf /* 和 普通用户 sudo -rf /* 执行,都是从 /boot 文件夹开始删除。既然 rm 没按套路出牌,我就继续测试,把 /boot 000 了,然后 sudo -rf /* 并未被阻断或出现任何提示,不知朋友这个方法是正对于特定操作系统吗?多谢!
mritd
2022-02-05 02:00:47 +08:00
@MiketsuSmasher #17 10 年老运维告诉你的小技巧
MintZX
2022-02-05 02:26:18 +08:00
@zhlxsh 你再仔细看一下。。这个跟 node_modules 没关系,只不过 node_modules 作为一个体积庞大+一堆碎文件的文件夹很适合放在你根目录里面作为手误删除跟目录的一个挡箭牌。因为 rm -rf 按照一定顺序排列,所以有一个命名为 ___AAAxxxx 的文件夹在根目录下至少能挡几秒时间让你还有机会 ctrl + C
msg7086
2022-02-05 03:09:05 +08:00
真就没人用 zsh 的删除*时自动警告功能呗。
xuanbg
2022-02-05 08:47:48 +08:00
我从来只打 rm -rf *,不打 rm -rf /*。而且前面先打个 pwd 看看当前路径对不对
bbis
2022-02-05 15:12:05 +08:00
前一段时间在 QNAP 上修改自己打包的插件,复制了一段代码,里面包含 rm -rf $approot/* ,而$approot 忘记分配变量,不小心在 ssh 上点了鼠标右键,运行了一大段命令,然后就停留在这个命令上,我瞬间脑炸,按了 Ctrl c ,然后发现 QNAP 的登录页面打不开,当时有登录 winscp ,检查了下个人存储目录数据还在,重启后系统自动修复了错误,一身冷汗
liuliancao
2022-02-06 20:06:19 +08:00
把盘拆下来挂到另一台机器上面 用 testdisk 修复下 如果不行用 extundlete 试试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/831763

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX