我有一个专用的远程网络服务器。我通过添加搞乱了/root/.bashrc
文件source /root/.bash_profile
。它在 sudo su 上进行核心转储。
$ sudo su
Segmentation fault (core dumped)
我也无法使用 root 通过 ssh 登录服务器。
我做不到sudo su
。
我可以将服务器重新启动到救援模式。
如何恢复 .bashrc 文件?
我有一个专用的远程网络服务器。我通过添加搞乱了/root/.bashrc
文件source /root/.bash_profile
。它在 sudo su 上进行核心转储。
$ sudo su
Segmentation fault (core dumped)
我也无法使用 root 通过 ssh 登录服务器。
我做不到sudo su
。
我可以将服务器重新启动到救援模式。
如何恢复 .bashrc 文件?
很少有任何理由使用
sudo su
.您可以使用获取 root shell
sudo -s
,或使用 获取 root 登录 shell(相当于sudo su --login
// )。在 的情况下,shell 运行是由变量(如果设置)给出的,否则是由调用用户的密码数据库条目指定的 shell。sudo su -l
sudo su -
sudo -l
sudo -s
SHELL
因此,如果您搞砸了,
/root/.bashrc
您可以尝试的一些选项是:直接调用非 bash 交互式 shell,例如
sudo sh
通过以下方式调用非 bash 交互式 shell
SHELL=/bin/sh sudo -s
直接调用bash,跳过资源文件,
sudo bash --norc
暂时重命名麻烦的文件,例如
sudo mv /root/.bashrc /root/.bashrc.old
sudo -l
原则上,您还可以使用bash 登录shell 来调用 root 登录shell~/.profile
,而不是~/.bashrc
读取默认的 Ubuntu 配置源$HOME/.bashrc
,以便$HOME/.profile
为交互式登录 shell 和非登录 shell 提供相同的外观和感觉。如果您有一个非默认的/root/.profile
或避免采购损坏/root/.bash_profile
的./root/.bash_login
.bashrc