执行ln -f -s /bin/sh /bin/bash然后 ln -f -s /bin/bash /bin/sh

这样执行命令:ln -f -s /bin/sh /bin/bash然后 ln -f -s /bin/bash /bin/sh。

应该没有人会做这样傻子的操作吧~~~???

嗯,~~~我做了。。。

昨天半夜里干的。

然后,系统崩了,,,我,也崩了。。。

-------------------------------------------------------------------这是一条愚蠢的分隔线---------------------------------------------------------------

时间回到昨天夜里。

大概是快12点的时候。

外面是不是月黑风高我不知道,不过我很困,我是知道的。

对了,昨天还是中元节。。。

本来是在探究一下spring的事务部分的源码实现,正研究的昏天暗地的,,,

忽然感觉状态不行,反应迟钝,想着今晚就算了。

然后,把虚拟机打开,准备做点正事。

对了,虚拟机上装了个ubuntu,启动,运行。

写了个脚本,运行:sh xxx.sh 

咦,语法不支持,报错了。。。

ll /bin/sh

噢~,什么时候sh指向了dash,bash的语法不支持。

那就调整下当前shell喽,,,

为了省事,反正就是跑个脚本了,改什么shell呀,,,何必费那么大劲呢,直接让sh 指向bash就行了,

其实,

我平常遇到这种,如果圆点执行都出问题的时候,我会bash xxx.sh,指定用bash解释执行,

干净,省事。。。

今天,,,脑子一抽,偏不,就想用sh执行。

又不想费事,登出用户什么的操作,那就,,,

ln -f -s /bin/sh /bin/bash

perfect!!!

然后,sh xxx.sh

咦,还报错~~~

ll /bin/sh,,,,还是指向dash,,,~~~

奇了怪了~~~没道理呀。

我怀疑自己是不是命令没写对,,,

最刺激的事情来了,

我顺手敲下,ln -f -s /bin/bash /bin/sh,

想都没想就执行了。

然后,我觉得我可能成了第一个执行:

ln -f -s /bin/sh /bin/bash 然后 ln -f -s /bin/bash /bin/sh命令的人。

这意味着什么:

我强制创建了个软链接/bin/sh指向了/bin/bash,然后又强制创建了软链接/bin/bash指向刚才创建的/bin/sh,

我让它自己指向自己,另外,创建的时候,把原本的bash删掉了。。。掉了。。。了。。。

这还不是GC,

GC是,命令行窗口退出了,打不开,

而我,

我点击右上角重启了,,,

重启了。。。~~~~~~~~~~~~~~~~~~~~啊~~~~~~~~~~~~~~~~~~~

当前系统只有我这一个用户,,,还是个root权限的用户。。。

结果就是启动的时候,初始化进程,init.d目录下的东东再也没机会运行了,系统启动的时候,

卡死了。

因为这个软链接的问题,就是下面这个样子:

我开始了各种尝试,,,

幸运的是,我进入了grub的命令行编辑界面,

不幸的是,我能执行的命令有限,并没有什么用。

又幸运的时候,我想到了可以用一个启动盘来尝试解决,,

可是,我现在手上没有U盘,更没有制作什么启动盘,

而且,这个是在虚拟机里,启动盘,,,,有用么~~~~~~~~~~~~~~~~~~~~

对呀,虚拟机,我怕啥,,,

幸好不是我工作用的电脑 ,,,,

终于,我一边敲命令,一边想办法,一边打盹,,,

我想到了一个终极解决办法,

以我目前的资源和道行,

只有,

重装系统吧,刚好物理机上还有镜像。。。

其实,如果我不重启,我还是有机会解决的。

p.s. 如果想改shell的可以使用命令chsh或者修改/etc/passwd的用户的shell。当然,只是改sh的,上面这种办法是可行的,但是别像我一样蠢。~~~

WTF~~~~~~~~~~~~~~~~~~~~~~~~~~~~。。。

发布了136 篇原创文章 · 获赞 81 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/x763795151/article/details/99671830