1. 程式人生 > >ll -bash: ls: command not found

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)總結
辦法總比問題多