bash: ifconfig: command not found 解決辦法

原文地址:http://blog.csdn.net/scoliver/article/details/7242896

經常遇到"bash:xxxx:command not found"這樣的問題,用root用戶也不行,在網上查閱了此問題,解決方法如下:


http://hi.baidu.com/jinjun8505/blog/item/e2c5dd8d9b1998f3f01f36e3.html


原本使用ifconfig 可以使用,今天是怎麼了,可能安裝軟件修改了,百度~~ 
[oracle@localhost /]$ ifconfig 
提示:“bash: ifconfig: command not found” 

於是我切換到root用戶下 
[root@localhost /]$ ifconfig 
依然提示:“bash: ifconfig: command not found” 

分析問題 
1.whereis ifconfig 看一下這個命令在哪個目錄下 

2.echo $PATH 看一下該目錄是否在路經下,注意lunux下是完全區分大小寫的,所以不要忽略這點 

3.執行命令,需要指定路徑或者把目錄加入PATH中 

4.於是可以這樣訪問 
方法一:[root@localhost sbin]$ /sbin/ifconfig 就可以出現使用了 
方法二:[root@localhost sbin]$ export PATH=$PATH:/sbin ,這樣設置後,下次就可以直接訪問了,免處第一種的麻煩,如: 
[root@localhost /]$ ifconfig 

方法三:修改/etc/profile文件,註釋掉if語句即可 
把下面的if語句註釋掉: 
# Path manipulation 
if [ "$EUID" = "0" ]; then 
pathmunge /sbin 
pathmunge /usr/sbin 
pathmunge /usr/local/sbin 
fi 
修改爲 
# Path manipulation 
# if [ "$EUID" = "0" ]; then 
pathmunge /sbin 
pathmunge /usr/sbin 
pathmunge /usr/local/sbin 
#fi 

注:不光是ifconfig命令出現“bash: ifconfig: command not found”,原因非root用戶的path中沒有/sbin/ifconfig 
,其它的命令也可以出現這種情況,解決的方法是一樣的。



http://www.cnblogs.com/cninfochina/articles/2171545.html


今天本來是要在環境變量PATH中添加一條信息的,結果改的過程中出錯了,出錯信息如下:
#$PATH
#bash:command not found

多虧了萬能的網絡,我的問題就解決了。哇哈哈。。小雜草在此給各位大蝦們跪拜了。。謝謝哈。。。
具體步驟如下:


如果新裝的系統,運行一些很正常的諸如:shutdown,fdisk的命令時,悍然提示:bash:command not found。那麼
首先就要考慮root 的$PATH裏是否已經包含了這些環境變量。
主要是這四個:/bin ,/usr/bin,/sbin,/usr/sbin。

四個主要存放的東東:

./bin
bin爲binary的簡寫主要放置一些系統的必備執行檔例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。 

/usr/bin
主要放置一些應用軟體工具的必備執行檔例如c++、g++、gcc、chdrv、diff、dig、du、eject、elm、free、gnome*、 gzip、htpasswd、kfm、ktop、last、less、locale、m4、make、man、mcopy、ncftp、 newaliases、nslookup passwd、quota、smb*、wget等。 
  
/sbin: 
主要放置一些系統管理的必備程式例如:cfdisk、dhcpcd、dump、e2fsck、fdisk、halt、ifconfig、ifup、 ifdown、init、insmod、lilo、lsmod、mke2fs、modprobe、quotacheck、reboot、rmmod、 runlevel、shutdown等。 
  
/usr/sbin: 
放置一些網路管理的必備程式例如:dhcpd、httpd、imap、in.*d、inetd、lpd、named、netconfig、nmbd、samba、sendmail、squid、swap、tcpd、tcpdump等。

可以在家目錄下查看.bash_profile裏的PATH。如果是:PATH=$PATH:$HOME/bin則需要添加成如下:

PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/usr/sbin


網上的解釋:

一般我們敲一個命令的時候,系統會到path變量指定的目錄中去尋找的,在Linux系統下默認有那麼幾個可執行文件的目錄,一般可執行文件的目錄都叫 bin,我們一般在根目錄下面有個/bin 和一個/sbin 這兩個目錄都是存放一些可執行文件或者說是命令的!把這兩個目錄放到PATH變量裏邊,系統就會去這連個目錄中尋找,而/sbin目錄是隻有超級用戶才能使用的執行文件路徑,init這個命令又放在/sbin下面所以普通用戶的PATH沒有/sbin這個路徑也就會出現上面的提示,如果你想用但你只是設置下你的PATH變量也不好使的,因爲/sbin目錄下面的還有個權限的問題,你先用root用戶給那些執行文件賦予你普通用戶權限,然後你用普通用戶登錄,要麼把自己的PATH變量里加上一行,要麼直接進入/sbin目錄執行init命令!






發佈了28 篇原創文章 · 獲贊 26 · 訪問量 32萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章