Linux系统bashrc异常
“使用Linux一般都是通过远程SSH链接的方式,安装软件后需要修改环境变量$PATH,需要修改家目录下的
”bashrc
文件,但是有时不小心改错了,环境变量异常,将会导致所有的命令都command not found
,此时基础的ls、cat、vi等命令都无法使用,如果是以管理员权限修改了/etc/bashrc,那么如何修复呢?
问题情景描述
登录服务器后,无论输入什么命令,都提示command not found,大概率是环境变量不正常。回忆上一次使用时修改了哪些文件,一般和bashrc有关。
切换到root账户
考虑到普通用户权限不足,切换到root账户,进入/etc目录,找到bashrc文件,这里的配置文件对所有用户都生效,因此root账户刚登录也是command not found。
[@VM-4-12-centos ~]$ /etc/bashrc -bash: /etc/bashrc: Permission denied [@VM-4-12-centos ~]$ su root -bash: su: command not found
由于使用腾讯云的测试云服务器,使用VNC登录,显示一大堆报错信息,先不管。此时,情况是这样的:用户修改了原始的bashrc导致path环境变量异常,所有的命令包括su(切换用户)、vi(编辑文件),即使是root账户登录后也是异常状态,没法进行编辑修复。(举个栗子,小明弄坏了家里的门锁,家里人都被锁在屋外,无法正常生活)
解决方式
既然无法使用环境变量,也就是说不能直接快捷使用那些命令程序,只是无法通过直接输入命令进行调用,但是不代表它们被删除(众里寻vi
千百度,某然回首竟在/usr/bin
处)。那么,就可以人为的使用绝对路径,从而启动编辑器,进而修改bashrc
文件。
[root@VM-4-12-centos ~]$ /usr/bin/vi /etc/bashrc #前面是vi命令的绝对路径,中间是一个空格,后面是bashrc的文件路径
顺利进入编辑器,找到最后一行,发现之前的PATH变量设置的不对,重新检查修改。至此,问题解决,重新启动即可使用。
“
tips:
export PATH=/usr/xx/bin:$PATH
每次添加环境变量的时候,需要按照如上格式,红色路径为需要添加的路径,其他的部分原则上不能进行任何修改。
”
END
© 素材来源于网络,侵权请联系后台删除
往期推荐: