解决误删Ubuntu16.4 /bin/bash 过程记录

一、误删原因

起初是为了解决Ubuntu16.4系统中,打开终端没有任何字符显示的问题,需要按Ctrl+C才能解决。在网上查了很多攻略之后,发现是bash出了问题。网上很多解决办法是删除bash或者重新安装bash,于是我直接

cd /bin
sudo rm bash

然后终端开启的时候就只有一个$,到这里都是跟网上攻略说的一样。

二、出现的问题和尝试解决

删除bash之后打开终端只有$,没有用户信息,也没法使用conda命令,ssh连接也无法建立。本来按照攻略重新安装bash就可以了,但是我发现系统的中的bash并没有被删掉,我使用apt-get install bash或者apt-get update bash都无法安装bash(原因是bash已经安装或者已经是最新版本了)。

之后我又用apt-get install synaptic下载了新立得软件包管理器,本来想通过新立得安装或者重新安装bash,但是里面显示bash已经安装并且是完好的(???)我尝试重新安装bash但是一直提示错误,无法重新安装。我当时真的想直接把bash强制卸载了,但是我查看了它的依赖关系,发现Ubuntu-desktop是依赖bash的,也就是我卸载了之后可能整个桌面没了,还是算了算了。

三、问题的解决和注意事项

就在我万念俱灰的时候,我想去看看有没有跟我一样误删了bash的人,然后我看到了一个博客,他也是在Ubuntu 16.4的系统下误删了/bin/bash然后遇到了和我类似的问题,他最后的解决办法是找到了当时装系统的系统盘,然后进入Ubuntu试用系统,把里面的bash文件复制到刚刚删除的路径下,就可以解决这个问题了。由于这个系统不是我装的,系统盘我也找不到了,但是我想到我们有另一台装着Ubuntu的工作站是完好的,可以从那里复制bash文件过来。

我查了另一台服务器的Ubuntu版本,是18.4的,想着高版本的bash兴许能兼容低版本的,就直接用u盘复制过来了,复制过程中需要权限

cd /bin
sudo cp U盘路径/bash /bin

在把bash复制完成后,发现新的bash和/bin中其他文件的权限不一样

cd /bin
ls -la #查询所有文件的读写运行权限

其他文件的权限是_rwxr_xr_x而新加入的bash是_rw_r__r__,要更改bash的权限为可运行文件

sudo chmod 755 bash #把bash的权限改为_rwxr_xr_x

再次开启终端发现终端又变成了最初的样子,开启后还是什么都不显示,需要Ctrl+C 至此,解决了误删bash的问题。回到最初的问题,另一篇博客中提到可能是bash的配置文件bashrz出现了问题。于是我用了另一个Ubuntu系统中的bashrz替换了这个系统中的bashrz,再次运行终端,不再有一开始的问题了。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值