linux如何恢复系统环境变量,Linux下环境变量PATH设置错误
前言在看别人的博客解决angular cli安装的环境变量配置的时候,由于我不小心出错,把$符敲成了S,他报错找不到某些命令。再一敲,发现绝大多数的命令都不能用了。很明显这就是PATH设置错误导致的,但我不知道该怎么去解决呢?解决当我以为要重新装Linux系统的时候,我从谷歌上找到了答案。由于我的语言是中文(主要当时懒,觉得中文很顺手,却早已忘了老师的提醒)。幸好查中文也能查到,从别的博客中找到解
前言
在看别人的博客解决angular cli安装的环境变量配置的时候,由于我不小心出错,把$符敲成了S,他报错找不到某些命令。
再一敲,发现绝大多数的命令都不能用了。
很明显这就是PATH设置错误导致的,但我不知道该怎么去解决呢?
解决
当我以为要重新装Linux系统的时候,我从谷歌上找到了答案。
由于我的语言是中文(主要当时懒,觉得中文很顺手,却早已忘了老师的提醒)。幸好查中文也能查到,从别的博客中找到解决办法。
问题主要是PATH环境变量变化,导致无法找到基本命令。
解决办法:
好多命令的位置在/usr/bin
恢复办法如下:
1. /usr/bin/sudo vi /etc/profile (由于找不到sudo,所以必须写全路径,其他命令如果提示找不到,也需要写全路径)
2.末尾添加以下内容后保存
export PATH=$PATH:/sbin:/usr/bin:/usr/sbin
3.重新启动系统或执行以下命令生效
source /etc/profile
虽然绝大部分命令都不能用了,但是幸亏export命令还能用
这样所有的命令就都回来了,我们来验证一下。
echo $PATH
什么是PATH
PATH是Linux环境变量的一种,简单来说就是指定命令的搜索路径。PATH控制的是系统会去哪些目录中寻找可执行的程序的环境变量。
当你输入命令的时候Linux会去查找PATH路径下的命令。
以下是摘自一位知乎网友的例子:
比如说你想执行一条命令ls。
如果不设置这个环境变量,除非你知道ls放在/bin下,告诉系统去执行/bin/ls,否则系统会告诉你我不知道ls在哪,"command not found"。现在有了$PATH这个变量,系统会优先去这个变量的值里指定的目录去找ls,如果都找不到,才会告诉你"command not found",是不是方便很多呢?而且他的值可以自己去设定的。
PATH声明的用法
PATH = $PATH::::......
export PATH
你可以自己加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登录时生效。
可以利用each $PATH查看当前系统PATH路径。
在我的错误中,我不小心错误的修改了PATH环境变量的地址,使得大部分命令都找不到了。
总结
在以后修改PATH,我们可以增添PATH的路径,即
PATH = PATH + ":/usr/locar/new/bin"
这样应该就会避免原来的指令找不到的情况了。
装Linux时要把语言换成英文,不然报错搜索都搜索不到解决办法。
更多推荐
所有评论(0)