这篇文章主要介绍“怎么使用shell脚本查看网络接口信息”,在日常操作中,相信很多人在怎么使用shell脚本查看网络接口信息问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用shell脚本查看网络接口信息”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
Centos7
使用ip
和awk
命令,过滤出状态为UP的网络接口。
[root@localhost ~]# ip ad|awk '/state UP/ {print $2}'ens33: ens38:
使用下面命令过滤出每个接口的ip地址:
[root@localhost ~]# ip -o addr |awk '/inet/{print $2,$4}'lo 127.0.0.1/8 lo ::1/128 ens33 192.168.43.138/24 ens33 fe80::214e:53b4:43f6:5495/64 ens38 172.25.254.130/24 ens38 fe80::c2ff:9dbc:76be:6dd9/64 或者只查看IPv4地址: [root@localhost ~]# ip addr | grep inet|grep -v 'inet6'|awk '{print $NF, $2}'lo 127.0.0.1/8 ens33 192.168.43.138/24 ens38 172.25.254.130/24
如果只想查看网络接口名称和相应的MAC地址,请使用以下命令。检查特定的网络接口的MAC地址:
[root@localhost ~]# ip link show ens33 | awk '/link/{print $2}'00:0c:29:99:ee:d9
查看所有网络接口的MAC地址,可以写一个脚本来实现:
[root@localhost ~]# cat mac-address.sh#!/bin/baship addr |awk '/state UP/{print $2}' | sed 's/://' | while read outputdoecho $output: ethtool -P $outputdone
查看一下运行结果:
如果要在Linux上检查网络接口端口速度,可以使用ethtool工具。下面是查看特定网络接口的速度: [root@localhost ~]# ethtool ens33|grep “Speed:” Speed: 1000Mb/s
查看所有接口的网络速度,可以写一个脚本来实现:
[root@localhost ~]# cat port-speed.sh#!/bin/baship addr |awk '/state UP/{print $2}' | sed 's/://' | while read outputdoecho $output: ethtool $output |grep "Speed:"done
查看一下运行结果:
下面这个脚本,我们来实现查看主机名、IPv4、IPv6、MAC地址、网络接口速度信息:
[root@localhost ~]# cat nic-info.sh#!/bin/bashhostnameecho "-------------"for iname in $(ip addr |awk '/state UP/{print $2}')doecho "$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 ens33 | awk '/Speed/{printf "%s\t%s\n",$1,$2}'done
到此,关于“怎么使用shell脚本查看网络接口信息”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。