解决误删/bin/bash问题
出现原因:由于当时误操作把 /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问题的更多相关文章
- 编译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 ...
- 解决:/bin/bash: mvn: 未找到命令
在终端执行: sudo apt-get install maven
- 【解决】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服务器提交 ...
- CentOS6 Shell脚本/bin/bash^M: bad interpreter错误解决方法
在windows下保存了一个脚本文件,用ssh上传到centos,添加权限执行nginx提示没有那个文件或目录.shell脚本放到/etc/init.d/目录下,再执行/etc/init.d/ngin ...
- 解决 linux下编译make文件报错“/bin/bash^M: 坏的解释器:没有那个文件或目录” 问题
PS背景:我在公司做sdk 的pc端开发,所以经常会在win下编译通过之后跑到linux下再运行一次已确保能支持多平台. 今儿在win下跑完一程序,然后放到linux下跑的时候,我用指令: [plai ...
- /bin/bash: line 0: fg: no job control一般解决方法
測试版本号:CDH5.0,(Hadoop2.3) 在使用windows调用Hadoop yarn平台的时候,一般都会遇到例如以下的错误: 2014-05-28 17:32:19,761 WARN or ...
- /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 ...
- bash: ./a.sh: /bin/bash^M: bad interpreter: No such file or directory的解决方法------dos--->unix
一些人喜欢用vim来写linux shell script, 但是, 有的人喜欢在Windows下用一些方便的编辑器(比如鼎鼎大名的Notepad++)写好, 然后拷贝文件到linux下, 结果呢, ...
- 在使用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 ...
随机推荐
- django搭建
1.进入终端使用虚拟环境安装---pip install django==2.2 2.创建新的工程django-admin startproject bookpro 3.创建app或模块 使用djan ...
- 跟阿斌一起学鸿蒙(2). Ability vs App?
在进一步实践之前,需要先弄明白一个概念:Ability. 不知道你有没有注意到,使用鸿蒙开发工具DevEco Studio创建项目时,我们选择创建的是一个个Ability. 这是为什么呢? 1. 鸿蒙 ...
- LeetCode 034 Search for a Range
题目要求:Search for a Range Given a sorted array of integers, find the starting and ending position of a ...
- LeetCode 032 Longest Valid Parentheses
题目描述:Longest Valid Parentheses Given a string containing just the characters '(' and ')', find the l ...
- Android的Toolbar(含溢出菜单设置[弹出菜单的使用])的使用PopMenu的样式
http://blog.csdn.net/yingtian648/article/details/52432438(转载) 1.在Toolbar.xml中设置弹出菜单的风格(app:popupThem ...
- DBeaver连接达梦|虚谷|人大金仓等国产数据库
前言 工作中有些项目可能会接触到「达梦.虚谷.人大金仓」等国产数据库,但通常这些数据库自带的连接工具使用并不方便,所以这篇文章记录一下 DBeaver 连接国产数据库的通用模版,下文以达梦为例(其他国 ...
- 第8.1节 Python类的构造方法__init__深入剖析:语法释义
一. 引言 凡是面向对象设计的语言,在类实例化时都有构造方法,很多语言的构造方法名与类名一致,Python中类的构造方法比较特殊,必须是__init__特殊方法. 二. 语法释义 1. ...
- Python中迭代循环使用比较多的range函数的作用
range函数用于生成一个不可变的数字序列可迭代对象,类型为range,该数字序列通常用于在 for 循环中循环指定的次数. 具体可参考:<Python中与迭代相关的函数>的详细介绍 老猿 ...
- PyQt(Python+Qt)学习随笔:QTabWidget选项卡部件的documentMode属性作用
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTabWidget的documentMode属性用于控制是否以适合文档页的模式呈现选项卡部件.这与 ...
- PyQt(Python+Qt)学习随笔:QTreeWidgetItem项中列的复选状态访问方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 树型部件QTreeWidget中的QTreeWidgetItem项,项中每列数据都可以单独设置复选状 ...