歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux 出現command not found 錯誤解決

Linux 出現command not found 錯誤解決

日期:2017/2/28 14:55:35   编辑:Linux教程

在很多人學習Linux命令行,會經常遇到command not found 錯誤,出現上述錯誤主要有以下幾種情況:

命令書寫錯誤,如有些人將Windows命令與Linux命令搞錯,如查看ip相關信息,Linux命令行應該為ifconfig

環境變量沒有配置好,這裡一般有兩種解決方法,第一,可以切換到root用戶執行命令,第二種,就是配置用戶的環境變量,其指令如下:

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

----------------------------分割線----------------------------

Linux命令找不到?(找不到命令)

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

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

vi ~/.bash_profile

會出現如下的內容:
# .bash_profile

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

# User specific environment and startup programs

export PATH
此時,只要在export PATH前面加入自己的路徑即可,例如我的修改後如下:
[www.linuxidc.com @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 - 就好了。

Copyright © Linux教程網 All Rights Reserved