1、ifconfig命令查看系统的网卡信息如下:
2、过滤出状态为UP的网络接口,命令如下所示:
ip addr |awk -F ":" '/state UP/ {print $2}'
执行结果如下图所示:
3、过滤出对应各网卡的IP地址信息,命令如下:
ip -o addr |awk '/inet/{print $2,$4}'
执行结果如下图所示:
4、查看所有网卡的mac地址
实现脚本如下:
#!/usr/bin/bash
ip addr |awk '/state UP/{print $2}' | sed 's/://' | while read output
do
echo $output:
ethtool -P $output
done
执行结果如下图所示:
5、只查看特定网卡的mac地址
如查看ens160网卡对应的mac地址,实现脚本如下:
ip link show ens160 | awk '/link/{print $2}'
执行结果如下图所示:
6、查看所有网卡的速率
实现脚本如下所示:
#!/usr/bin/bash
ip addr |awk '/state UP/{print $2}' | sed 's/://' | while read output
do
echo $output:
ethtool $output |grep "Speed:"
done
执行结果如下图所示:
7、只查看特定网卡的速率
如查看ens160网卡对应的速率,实现脚本如下:
ethtool ens160 |grep "Speed:"
执行结果如下图所示:
- 查看UP状态的网卡mac和速率
针对以上的功能分解,最后可以将个分解的脚本合成一个脚本,将以上功能全部由一个脚本实现。实现脚本如下:
#!/usr/bin/bash
hostname
echo "*****************************************"
for iname in $(ip addr |awk '/state UP/{print $2}')
do
echo "$iname"
ip addr show $iname | grep inet | awk '{printf "%s:\t%s\n",$1,$2}'
ip link show $iname | grep link | awk '{printf "MAC:\t%s\n",$2}'
ethtool $iname | awk '/Speed/{printf "%s\t%s\n",$1,$2}'
done
执行结果如下图所示: