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脚本搭配工具。
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
-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
查看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
查看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