出现原因:由于当时误操作把 /bin/bash 命令解释器二进制文件移到了/root 家目录里面,再重新登录系统之后,登陆进去什么也干干不了。

解决办法:让系统重启,以挂载光盘模式进入系统BIOS,选择CD-ROM为第一启动项。之后重启系统。

系统重启的时候选择救援模式,进入救援模式的命令行。

通过光盘重新安装bash命令解释器(网上说也可以通过远程下载bash rpm包来安装,这个方法我没有试过,不知道行不)。



下面我就具体说明操作步骤:

步骤一:连上光盘,让系统重启,进入BIOS界面,选择CD-ROM为第一启动项,重启电脑。

步骤二:电脑重启之后,进入系统安装时的界面,我们选择第三个,进入系统救援模式(注意:这里如果进入单用户模式的话,我测试了一下不行)

步骤三:之后操作直接下一步,在网卡选择的时候选择NO,其他选择项参考博文(https://www.cnblogs.com/l75790/p/9403336.html),之后进入命令行模式。如图

步骤四:接着就是找到bash的安装包然后安装即可(此时的光盘已经是挂载的了,而且最好不要再挂载光盘到/mnt目录下)。 ls  /dev会显示设备列表,但是其中并没有CD-ROM,看的教程上说CD-ROM一般模拟的都是hd的设备,而且CD-ROM是指向hdX的一个链接,我的/dev目录中没有hd设备,反而是/dev/dvd这个设备(最笨的方法就是实在无法确认的话就大致找几个貌似对的,先挂载,然后进去找,如果有安装包列表就是对的)。如图

步骤五:根目录下(不是/mnt/sysimage而是这个小系统的根)创建一个目录,然后将/dev/dvd挂载到该目录下,进入该Packages包目录,

通过命令 “ls | grep bash” 找到该bash安装包。

步骤六:这一步骤就是安装bash包。这里我是把bash安装包拷贝到根(/)目录下面,在重新安装的。大家也可以直接在该目录里面安装。

  安装命令:rpm  -ivh  --replacepkgs  --root /mnt/sysimage  /bash-4.1.2-48.el6.x86_64

  其中:

--replacepkgs:指定替换原来的bash包;
       --root  /mnt/sysimage:指定将包装在根下(前面进去救援模式时告诉你的此时的根在/mnt/sysimage);没有此选项说明你把bash包装到当前的这个小系统中去了,并不是装到原系统中去,如图:  

步骤七:切换到真正的根上去查看是否装上了,完成到这一步就说明问题已经解决了;如图

步骤八:重新启动,选择boot from local  drive启动,进入/bin目录下可以重新找到bash

进入系统后,自己测试一下看有什么问题没有:

[root@PandaLi ~]# cd /bin/
[root@PandaLi bin]# ll | grep bash
-rwxr-xr-x. 1 root root 868596 Aug 29 2012 bash
lrwxrwxrwx. 1 root root 4 Jul 26 02:46 sh -> bash
[root@PandaLi bin]#

备注:

如果不确定能不能挂载上,或是不想用这个方式,而且你知道网络上有一台服务器,里面某个目录里有这个安装包,此时只需要连接该服务器切换到这个目录里,将其下载到本地安装即可(这个是教程说的,我没试,但是也是一种解决办法)

解决误删/bin/bash问题的更多相关文章

  1. 编译Uboot时出错:【已解决】 /bin/bash: arm-linux-gcc: command not found dirname: missing operand Try 'dirname --help' for more information.

    编译Uboot时出错: 错误信息如下: /bin/bash: arm-linux-gcc: command not found dirname: missing operand Try 'dirnam ...

  2. 解决:/bin/bash: mvn: 未找到命令

    在终端执行: sudo apt-get install maven

  3. 【解决】org.apache.hadoop.util.Shell$ExitCodeException: /bin/bash: line 0: fg: no job control

    [环境信息] Hadoop版本:2.4.0 客户端OS:Windows Server 2008 R2 服务器端OS:CentOS 6.4 [问题现象] 在通过Windows客户端向Linux服务器提交 ...

  4. CentOS6 Shell脚本/bin/bash^M: bad interpreter错误解决方法

    在windows下保存了一个脚本文件,用ssh上传到centos,添加权限执行nginx提示没有那个文件或目录.shell脚本放到/etc/init.d/目录下,再执行/etc/init.d/ngin ...

  5. 解决 linux下编译make文件报错“/bin/bash^M: 坏的解释器:没有那个文件或目录” 问题

    PS背景:我在公司做sdk 的pc端开发,所以经常会在win下编译通过之后跑到linux下再运行一次已确保能支持多平台. 今儿在win下跑完一程序,然后放到linux下跑的时候,我用指令: [plai ...

  6. /bin/bash: line 0: fg: no job control一般解决方法

    測试版本号:CDH5.0,(Hadoop2.3) 在使用windows调用Hadoop yarn平台的时候,一般都会遇到例如以下的错误: 2014-05-28 17:32:19,761 WARN or ...

  7. /bin/bash^M: bad interpreter: No such file or directory 解决办法

    参考:-bash: ./my_script: /bin/bash^M: bad interpreter: No such file or directory [duplicate] 有的时候运行.sh ...

  8. bash: ./a.sh: /bin/bash^M: bad interpreter: No such file or directory的解决方法------dos--->unix

    一些人喜欢用vim来写linux shell script, 但是, 有的人喜欢在Windows下用一些方便的编辑器(比如鼎鼎大名的Notepad++)写好, 然后拷贝文件到linux下, 结果呢, ...

  9. 在使用windows调用Hadoop 错误 /bin/bash: line 0: fg: no job control一般解决方法

    在使用windows调用Hadoop yarn平台的时候,一般都会遇到如下的错误: 2014-05-28 17:32:19,761 WARN org.apache.hadoop.yarn.server ...

随机推荐

  1. LIKE 运算符

    运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是"+".在vb2005中运算符大致可以分为5种类型:算术运算符.连接运算 ...

  2. mq消息消费,broker选址

    PullRequest.MessageQueue.BrokerName 根据PullRequest.MessageQueue得到brokerId,默认0或者用缓存中的suggest,每次消息拉取后会更 ...

  3. C++/Java小白解Leetcode题,发现了知识盲区……

    一.初见LeetCode 大一时候学习C++,根据课程一直在PTA平台做题目,数据结构和算法的作业题目也是在PTA.后来发现牛客网学习资源也很丰富,孤陋寡闻,前几个月在知道LeetCode这个平台,跟 ...

  4. 再也不担心写出臃肿的Flink流处理程序啦,发现一款将Flink与Spring生态完美融合的脚手架工程-懒松鼠Flink-Boot

    目录 你可能面临如下苦恼: 接口缓存 重试机制 Bean校验 等等...... 它为流计算开发工程师解决了 有了它你的代码就像这样子: 仓库地址:懒松鼠Flink-Boot 1. 组织结构 2. 技术 ...

  5. Cys_Control(五) MMenu

    一.查看Menu原样式 1.通过Blend查看Menu原有样式 Menu的原有样式结构较为简单,由边框Border及集合控件 ItemsPresenter 组成,原有样式如下 <Style x: ...

  6. PriorityQueue 优先队列的实现

    PriorityQueue 的 implementation PriorityQueue即是优先队列.通俗的说就是体育课的时候老师要求从高到低排序,老师能直接一眼看出谁是最高的在班级里.当这个最高的离 ...

  7. 注册dll命令

    向系统中注册dll的方法,如下(直接回车即可注册): regsvr32

  8. JMeter 安装 启动(即中文的修改)

    一.安装 (1).java 和 apache-jmeter-4.0 2.点击apache-jmeter-4.0进入bin目录,点击jmeter.bat 如果没有安装java就会出现下图 遇到上面是因为 ...

  9. espcms代码审计(二次urldecode注入分析)

    这里提到的漏洞是二次urldecode注入 这里用到的还是espcms,不过版本应该跟之前的有所不同,在网上找到的espcms源代码都是已经修补了这个漏洞的,我们对比分析吧 先放上漏洞位置代码,也就是 ...

  10. scrapy爬虫登录edusrc查看漏洞列表

    scrapy登录界面的难点在于登录时候的验证码,我们通过使用scrapy.FormRequest向目标网站提交数据(表单提交),同时将验证码显示在本地,手动输入,进而登录. 验证码是类似于这种的,才可 ...