这样执行命令: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~~~~~~~~~~~~~~~~~~~~~~~~~~~~。。。