bash: ifconfig: command not found 解决办法

来源:互联网 发布:javascript dom pdf 编辑:程序博客网 时间:2024/05/21 17:35

原文地址: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命令!


	
				
		
原创粉丝点击