Linux命令找不到

 這個問題其實很簡單,如果你在終端輸入一個命令,而系統提示你說命令沒有找到(Command not found)的話,要麼是因爲你沒有裝相應的軟件包,要麼就是因爲路徑設置的問題。如果是因爲軟件包的問題,那沒有別的好說的,安裝相應的軟件包就好了。而另外一種情況,則需要對用戶的路徑進行設置。這裏針對普通用戶和超級用戶分開介紹,以Redhat些列爲例。

  一、普通用乎

  如果一些程序沒有安裝在系統默認的路徑(ie /bin/, /usr/bin, /usr/local/bin/ )裏面,這個時候普通用戶想要調用這些命令,必須設定路徑。方法很簡單:以普通用戶登錄,然後在終端輸入:

  vi ~/.bash_profile

  會出現如下的內容:

     

      QUOTE:
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

export PATH

      此時,只要在export PATH前面加入自己的路徑即可,例如我的修改後如下:

      QUOTE:

[yyc@localhost bin]$ cat ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:/usr/local/programs/crosstool/gcc-4.0.2-glibc-2.3.6/arm-linux-gnu/bin/
export PATH

  二、超級用戶

  這裏主要是一些用在系統管理上的命令,例如ifconfig, route等等, 他們位於/sbin, 或/usr/sbin/下。其實這些命令本身就沒有任何問題,軟件包早已安裝完畢,路徑設置也沒有絲毫問題。而出現Command not found的原因在於:在終端使用su變成超級用戶的時候沒有將root的路徑(環境)一起切換過來,從而導致身份雖然已經是root,但是工作的環境和路徑依舊是普通用戶的。這種問題的解決方法有兩個,其一是按照(一)裏面提到的,對普通用戶的工作路徑進行修改,但是這樣比較麻煩。其二則簡單的多,只要在使用su的時候在其後家上一個空格和”-“ ,即將su改爲 su - 。這樣就可以在成爲root的同時將root的工作路徑也一起切換過來了。如果你已經使用su變成了root, 那也沒有關係,只要在輸入一下su - 就好了。

  答案分析:vic_kk

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章