出现原因:由于当时误操作把 /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. Contest 991

    A 先判合法然后容斥. 时间复杂度 \(O\left(1\right)\). B 贪心选最小的实验做成 \(5\) 分. 时间复杂度 \(O\left(n\right)\). 剩下的鸽了.

  2. codeforces 1424J,为了过这题,我把祖传的C++都用上了!

    大家好,我们选择的是Bubble Cup比赛Div2场次的J题,不用问我Bubble Cup是什么比赛,我也不清楚.总之是一场算法比赛就是了.可能是这个比赛知名度比较低吧,参与的人数也不是很多,我们选 ...

  3. 【刷题笔记】DP优化-状压

    因为篇幅太长翻着麻烦,计划把DP拆成几个小专题,这里原文只留下状压,其他请至后续博文. 状态压缩优化 所谓状态压缩,就是将原本需要很多很多维来描述,甚至暴力根本描述不清的状态压缩成一维来描述. 时间复 ...

  4. 探究 | 如何捕获一个Activity页面上所有的点击行为

    前言 最近逛wanAndroid论坛,发现一个有趣的问题:如何捕获一个Activity页面上所有的点击行为. 一起研究下吧,不想看源码的小伙伴可以直接看文末总结- 准备工作 先得罗列出页面上的一些点击 ...

  5. WPF 学习笔记(一)

    一.概述 WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,随着.NET Framework 3.0发布第一个版本.它提供了统一的 ...

  6. Promise自定义,看我如何征服你

    自定义代码 这里是我自定义的Promise,如果想看原版,可以跳过最后有符合PromiseA+规范的源码 class 承诺 { constructor(处理器函数) { //1. 处理器函数是在_ne ...

  7. ollvm在VS2017下编译

    0x1,首先介绍一下编译环境配置 1.UE4.25 2.vs2017(15.9),注:2019编译总是出现错误 3.cmake3.18.5,cmake的作用是为ollvm源码编译成适合于在vs2017 ...

  8. 利用flask框架实现对用户的注册登录

    ------------------------------------(分割线)----------------------------------------------------------- ...

  9. c#如何取出指定的中间文本

    ///<summary> ///取出文本中间内容 ///<summary> ///<param name="left">左边文本</par ...

  10. 团队作业part2--需求规格说明书

    需求规格说明书 一.目的 本说明书为了让用户尽快了解产品所含功能,描述用户对产品的期望与需求.明确软件开发的最终目的,使开发出来的软件能够更好的达到用户的需求.其作为用户和软件开发人员达成的技术协议书 ...