ll -bash: ls: command not found
问题简单描述: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环境变量。
#set java environment JAVA_HOME=/opt/jdk1.8.0_151 CLASSPATH=.:$JAVA_HOME/lib.tools.jar PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH
把PATH修改为:
#set java environment 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]# echo $PATH /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)总结 办法总比问题多
参考: