问题简单描述:centos6安装软件的时候, 不知道执行了啥操作, ll ls 命令都不好用了。
问题所在:在centos6系统上安装jdk,配置/etc/profile 只配置了jdk的环境变量, 忘记加入系统的变量。
1、网上查了查是因为缺少环境变量
执行export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH 即可,但是每次打开新的连接每次都要重新export。
2、/usr/bin 是unix操作系统的标准目录,其中包含大部分可执行文件,因为在修改/etc/profile的时候只是添加了jdk环境变量。
JAVA_HOME=/opt/jdk1.8.0_151
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
把PATH修改为:
JAVA_HOME=/opt/jdk1.8.0_151
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$JAVA_HOME/bin:$PATH:/root/bin
export JAVA_HOME CLASSPATH PATH
执行 source /etc/profile
然后再远程连接linux就不需要每次都export PATH了。
3、linux环境变量的一些知识
3.1)用export命令定义变量,只是针对当前shell,是临时有效的。
例如 export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH
3.2)在用户目录下.bash_profile文件中添加变量,是对单一用户(当前用户)永久有效。
3.3)在/etc/profile中添加变量是对所有用户永久有效的。
例如我在文件/etc/profile 末尾中添加
JAVA_HOME=/opt/jdk1.8.0_151
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$JAVA_HOME/bin:$PATH:/root/bin
export JAVA_HOME CLASSPATH PATH
3.4)查看PATH
ehco $PATH
[root@xhf_cloud profile.d]
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$JAVA_HOME/bin:$PATH:/root/bin
3.5)我们修改的系统文件要及时生效需要用source命令
source /etc/profile
source一般格式source FileName
source:当前bash环境下读取并执行FileName中的命令。(也可以用“.”来代替,例如source /etc/profile . /etc/profile (.和文件名中间要有空格))
3.6)登录系统时shell读取的顺序是
/etc/profile ->/etc/enviroment –>
HOME/.profile−−>
HOME/.env
/etc/profile 是所有用户的环境变量
/etc/enviroment是系统的环境变量
3.7)总结
办法总比问题多
参考:
https://www.tecmint.com/set-path-variable-linux-permanently/
http://blog.csdn.net/dlutbrucezhang/article/details/8811456
http://blog.csdn.net/xyqzki/article/details/41832875
http://www.jianshu.com/p/ac2bc0ad3d74
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)