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哈!还有补充的可以在评论中写下来。



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