虚拟机上自己新装的系统,在运行如下命令时出现错误
[apn172@localhost apn172]$ ifconfig -a
bash: ifconfig: command not found
解决办法:
[apn172@localhost apn172]$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/apn172/bin
[apn172@localhost apn172]$ export PATH=$PATH:usr/sbin:/sbin
[apn172@localhost apn172]$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/apn172/bin:usr/sbin:/sbin
[apn172@localhost apn172]$ ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:0C:29:B1:5F:03
inet addr:192.168.2.115 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2045 errors:0 dropped:0 overruns:0 frame:0
TX packets:356 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:140472 (137.1 Kb) TX bytes:18392 (17.9 Kb)
Interrupt:5 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:6187 errors:0 dropped:0 overruns:0 frame:0
TX packets:6187 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:419158 (409.3 Kb) TX bytes:419158 (409.3 Kb)
解决原理:一般命令都放在/bin ,/usr/bin,/sbin,/usr/sbin目录下,shell命令一般按照PATH环境变量的路径进行命令搜索,如果命令没有搜索到则会报如题的错误。
如上所示,修改环境变量,但是这种修改在重新启动后将会丢失。
./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 然后执行下面命令 source .bash_profile 使其生效