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 –>
/etc/profile 是所有使用者的環境變數
/etc/enviroment是系統的環境變數
3.7)總結
辦法總比問題多