linux 輸入ifconfig命令報錯:“ifconfig: command not found” 其他命令類似這種解決方法

輸入ifconfig命令報錯:“ifconfig: command not found”
原因:ifconfig命令所在路徑/sbin未包含在系統環境變量PATH中(遇到其他命令出現這種情況可以參考下述解答,舉一反三)

解決方法:
1. 直接輸入:/sbin/ifconfig
2. 臨時修改環境變量:在shell中輸入
   $export PATH = $PATH:/sbin
   然後再輸入ifconfig命令即可,但是這只是臨時更改了shell中的PATH,如果關閉shell,則修改消失,下次還需要重複如上操作
3.永久修改PATH變量使之包含/sbin路徑:
   打開/etc/profile文件,在其中輸入export PATH=$PATH:/sbin,保存並重啓X即可,這樣一來,PATH路徑永久修改成功,以後任何時候只需書序ifconfig命令即可

分析:
首先,你是用root賬戶登錄的話是用ifconfig一般是不會出現這種情況的
用一般用戶登錄的時候使用此命令爲什麼會找不到命令呢?
在linux中,我們在執行一個命令時,系統會按照PATH的設置去找相應命令的可執行文件
通過echo $PATH可以看到PATH中有哪些路徑被設置了
這裏以centOS5.6爲例:
使用root賬戶登錄時:

而使用一般用戶查看:


通過對比可以發現,在一般用戶的PATH中是沒有sbin這個目錄的設置的,
而ifconfig命令的可執行文件正是在sbin下。由此得到上面三種解決辦法。

: 因爲隨便把/sbin加入到PATH中,可能會引起一些不必要的問題。 所以 除非是有意調用這個文件夾下的腳本指令,可以用全路徑加成(解決方法1),不必要加入PATH(方法3)


最近剛開始學習linux~遇到了一些問題,大多在網上都能找到解決方法,但是很多都是直接教怎麼做,而沒有講述原理
不知道原理,往往這一次看過下一次就忘了。
所以,以後我將寫下來我遇到的問題以及解決方法,並儘可能的將“爲什麼要這樣解決”闡述明白
一方面自己可以透徹理解,一方面給需要的朋友提供幫助
O(∩_∩)O哈!還有補充的可以在評論中寫下來。



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