解决误删/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 ...
随机推荐
- C语言讲义——指针(pointer)
指针是C语言最重要的特性之一, 也是最容易被误解的特性之一. 现代计算机把内存分割为字节(Byte), 每个字节都有唯一的地址(Address), 如果内存中有n个字节,可以把地址看做0~n-1的数. ...
- 盘点腾讯Linux、 C++后台开发面试题,做好充足准备,不怕被Pass
一.C/C++ const 多态 什么类不能被继承 二.网络 网络的字节序 网络知识 TCP三次握手 各种细节 timewait状态 TCP与UDP的区别 概念 适用范围 TCP四次挥 ...
- presto 访问kudu 多schemas配置
presto需要访问kudu数据源,但是impala可以直接支持多数据库存储,但是presto不能原生支持,按照presto的官网设置了然而并不起作用. 官方文档: 到官方github提问了,然后并没 ...
- EntityFramework Core健康检查
前言 .NET Core提供对应方法可进行健康检查,那么在EF Core中是否也提供了相应的方式呢?EF Core 2.2+(包含2.2)版本提供了针对上下文的健康检查,接下来我们直接利用.NET 5 ...
- Spring Cloud Alibaba 初体验(五) SkyWalking
一.下载与运行 本文使用 SkyWalking 7.0.0:https://www.apache.org/dyn/closer.cgi/skywalking/7.0.0/apache-skywalki ...
- moviepy音视频开发:audio_loop实现音频内容循环重复
☞ ░ 前往老猿Python博文目录 ░ 概述 moviepy的audio_loop函数用于将音频剪辑内容循环一定次数,返回值是原剪辑内容重复指定次数对应的剪辑. 调用语法: audio_loop(a ...
- 老猿学5G扫盲贴:N6接口用户平面协议栈对应的网络分层模型
在网络通信模型中,都对应有分层的网络结构,如开放式系统互联(OSI)的七层模型(物理层.数据链路层.网络层.传输层.会话层.表示层和应用层)以及TCP/IP四层(网络接口层.网络层.传输层和应用层)模 ...
- 第8.22节 Python案例详解:重写 “富比较”方法控制比较逻辑
一. 案例说明 本节定义一个小汽车的类Car,类中包括车名carname.百公里油耗oilcostper100km.价格price三个属性.然后实现__lt__.__gt__.__le__.__ge_ ...
- 第8.30节 重写Python __setattr__方法实现属性修改捕获
一. 引言 在<第8.26节 重写Python类中的__getattribute__方法实现实例属性访问捕获>章节介绍了__getattribute__方法,可以通过重写该方法,截获所有通 ...
- Deep Learning with Differential Privacy
原文链接:Deep Learning with Differential Privacy abstract:新的机器学习算法,差分隐私框架下隐私成本的改良分析,使用非凸目标训练深度神经网络. 数学中最 ...