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 
,其它的命令也可以出现这种情况,解决的方法是一样的。

原文地址:https://www.cnblogs.com/mylinux/p/5012620.html