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)总结 办法总比问题多

参考:

经验分享 程序员 微信小程序 职场和发展