unix命令: ifconfig
ifconfig 命令被用来:
1.为一个网卡分配一个IP地址
2.设置本地环路界面
3.分配一个子网掩码(可选)
HP-UX:
# /usr/sbin/ifconfig lan0
lan0: flags=1843<UP,BROADCAST,RUNNING,MULTICAST,CKO>
inet 10.x.x.45 netmask ffffff00 broadcast 10.x.x.255
这个命令在系统启动的时候通过/sbin/init.d/net脚本自动执行的。也可以在任何时候以命令行的方式执行。
以下是这个命令的语法:
ifconfig interface addr_family [address] [ parameters]
其中
interface 一个最大四位的字符串,最后一个字符是数字,例如lan0。这个字符串代表网卡。数字表示网卡的instance。对有的系统来说,网卡的instance是自动分配的。首先配置的网卡是lan0。而lo0指明这是本地回路。
add_family 对DARPA Internet协议来说,唯一支持的是inet(默认的),。
address 数字形式的IP地址
parameters 最重要的参数是up,down,arp,-arp,和netmask。
up 激活这个网卡
down 关闭这个网卡
[-] arp 在OSI模型的第二层和第三层(链路层和网络层)之间禁用/使用地址解析协议
netmask subnet
子网位掩盖网络部分。并指明了在将网络分割为子网的时候所保留地址的数量。
如果你直接使用ifconfig interface命令而没有加上任何参数。会显示当前有效网卡的名字,IP地址,子网掩码,广播地址和其它信息。
ifconfig: command not found 解决办法
[root@localhost /]$ ifconfig
提示 :“bash: ifconfig: command not found”
分析问题 :
1.whereis ifconfig 看一下这个命令在哪个目录下
2.echo $PATH 看一下该目录是否在路经下,注意lunux下是完全区分大小写的,所以不要忽略这点
3.执行命令,需要指定路径或者把目录加入PATH中
方法x:修改/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
,其它的命令也可以出现这种情况,解决的方法是一样的。