1. 前言

不同的Linux发行版显示网卡配置信息时有不同的格式,如果我们通过shell脚本读取这些网卡信息时,可能需要较长时间编写这些脚本以满足需求.比如使用以下命令获取ip地址ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'。作为ifconfig+shell管道的替代品,其实是有命令的,它就是ifdata命令 。它一般用于脚本判断接口是否存在以及读取接口的信息,比如 IP地址,子网掩码, MTU 大小。不再需要写复杂的脚本来判断网卡的信息。非常有用的shell脚本搭配工具。

pe里面怎么看ip地址(linux怎么看ip地址命令)(1)

linux怎么查看ip地址和网卡MAC地址

2. 安装`ifdata`命令

[root@zcwyou ~]# yum -y install moreutils

正在安装 : 1:perl-TimeDate-2.30-2.el7.noarch 1/5

正在安装 : perl-Time-Duration-1.06-17.el7.noarch 2/5

正在安装 : perl-IO-Tty-1.10-11.el7.x86_64 3/5

正在安装 : perl-IPC-Run-0.92-2.el7.noarch 4/5

正在安装 : moreutils-0.49-2.el7.x86_64 5/5

验证中 : perl-IPC-Run-0.92-2.el7.noarch 1/5

验证中 : moreutils-0.49-2.el7.x86_64 2/5

验证中 : perl-IO-Tty-1.10-11.el7.x86_64 3/5

验证中 : perl-Time-Duration-1.06-17.el7.noarch 4/5

验证中 : 1:perl-TimeDate-2.30-2.el7.noarch 5/5

已安装:

moreutils.x86_64 0:0.49-2.el7

作为依赖被安装:

perl-IO-Tty.x86_64 0:1.10-11.el7 perl-IPC-Run.noarch 0:0.92-2.el7 perl-Time-Duration.noarch 0:1.06-17.el7 perl-TimeDate.noarch 1:2.30-2.el7

完毕!

3. `ifdata`的功能选项

[root@zcwyou ~]# ifdata -help

pe里面怎么看ip地址(linux怎么看ip地址命令)(2)

-e 通过反回代码报告接口是否存在

-p 打印整个网卡接口的配置

-pe 判断接口是否存在

-pa 仅打印IP地址

-pn 打印子网掩码

-pN 打印网络地址

-pb 打印广播地址

-pm 打印MTU

-ph 打印MAC地址

-pf 打印网卡信息

-si 打印入口所有统计

-sip 打印入口数据包

-sib 打印入口字节数

-sie 打印入口错误包

-sid 打印入口丢包数

-sif 打印入口先进先出队列超额数

-sic 打印入口压缩包个数

-sim 打印入口组播包数

-so 打印出口所有统计

-sop 打印出口数据包

-sob 打印出口字节数

-soe 打印出口错误包

-sod 打印出口丢包数

-sof 打印出口先进先出队列超额数

-sox 打印出口冲突包个数

-soc 打印出口压缩包个数

-som 打印出口组播包数

-bips 打印入口每秒字节数

-bops 打印出口每秒字节数

4. Linux使用`ifdata`命令查看网卡信息

查看某网卡配置信息

[root@zcwyou ~]# ifdata -p ens33

192.168.201.128 255.255.255.0 192.168.201.255 1500

查看某网卡是否存在

[root@zcwyou ~]# ifdata -pe eth0

no

[root@zcwyou ~]# ifdata -pe ens33

yes

查看Linux某网卡IP地址

[root@zcwyou ~]# ifdata -pa ens33

192.168.201.128

pe里面怎么看ip地址(linux怎么看ip地址命令)(3)

查看Linux某网卡IP地址

查看某网卡子网掩码

[root@zcwyou ~]# ifdata -pn ens33

255.255.255.0

查看某网卡子网号

[root@zcwyou ~]# ifdata -pN ens33

192.168.201.0

查看某网卡定向广播地址

[root@zcwyou ~]# ifdata -pb ens33

192.168.201.255

查看某网卡MTU大小

[root@zcwyou ~]# ifdata -pm ens33

1500

查看Linux某网卡MAC地址

[root@zcwyou ~]# ifdata -ph ens33

00:0C:29:06:9B:34

pe里面怎么看ip地址(linux怎么看ip地址命令)(4)

查看Linux某网卡MAC地址

查看某网卡入口所有的统计信息

[root@zcwyou ~]# ifdata -si ens33

8943473 7905 0 0 0 0 0 0

他们分别是

入口字节数 报文数 错误包数 冲突包数 丢包数 先进先出队列超额数 压缩包个数 入口组播包数

查看入口报文数

[root@zcwyou ~]# ifdata -sip ens33

7947

查看入口字节数:

[root@zcwyou ~]# ifdata -sib ens33

8951519

打印入口错误包

[root@zcwyou ~]# ifdata -sie ens33

0

打印入口丢包数

[root@zcwyou ~]# ifdata -sid ens33

0

打印入口先进先出队列超额数

[root@zcwyou ~]# ifdata -sif ens33

0

打印入口压缩包个数

[root@zcwyou ~]# ifdata -sic ens33

0

打印入口组播包数

[root@zcwyou ~]# ifdata -sim ens33

0

打印入口速率

[root@zcwyou ~]# ifdata -bips ens33

120

打印出口速率

[root@zcwyou ~]# ifdata -bops ens33

0