前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Shell脚本 – 查看网络接口信息

Shell脚本 – 查看网络接口信息

原创
作者头像
用户7639835
发布2021-12-03 12:44:01
1.1K0
发布2021-12-03 12:44:01
举报
文章被收录于专栏:技术知识分享技术知识分享

系统环境

Centos7

1)检查可用的网络接口

使用ipawk命令,过滤出状态为UP的网络接口。

代码语言:javascript
复制
[root@localhost ~]# ip ad|awk '/state UP/ {print $2}'
ens33:
ens38:
Shell脚本 – 查看网络接口信息Shell脚本 – 查看网络接口信息
Shell脚本 – 查看网络接口信息Shell脚本 – 查看网络接口信息

2)查看网络接口的IP地址

使用下面命令过滤出每个接口的ip地址:

代码语言:javascript
复制
[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
Shell脚本 – 查看网络接口信息Shell脚本 – 查看网络接口信息
Shell脚本 – 查看网络接口信息Shell脚本 – 查看网络接口信息

3)查看网卡的MAC地址

如果只想查看网络接口名称和相应的MAC地址,请使用以下命令。检查特定的网络接口的MAC地址:

代码语言:javascript
复制
[root@localhost ~]# ip link show ens33 | awk '/link/{print $2}'
00:0c:29:99:ee:d9

查看所有网络接口的MAC地址,可以写一个脚本来实现:

代码语言:javascript
复制
[root@localhost ~]# cat mac-address.sh 
#!/bin/bash
ip addr |awk '/state UP/{print $2}' | sed 's/://' | while read output
do
echo $output:
ethtool -P $output
done

查看一下运行结果:

Shell脚本 – 查看网络接口信息Shell脚本 – 查看网络接口信息
Shell脚本 – 查看网络接口信息Shell脚本 – 查看网络接口信息

4)查看网络接口的速度

如果要在Linux上检查网络接口端口速度,可以使用ethtool工具。下面是查看特定网络接口的速度: [root@localhost ~]# ethtool ens33|grep "Speed:" Speed: 1000Mb/s

查看所有接口的网络速度,可以写一个脚本来实现:

代码语言:javascript
复制
[root@localhost ~]# cat port-speed.sh 
#!/bin/bash
ip addr |awk '/state UP/{print $2}' | sed 's/://' | while read output
do
echo $output:
ethtool $output |grep "Speed:"
done

查看一下运行结果:

Shell脚本 – 查看网络接口信息Shell脚本 – 查看网络接口信息
Shell脚本 – 查看网络接口信息Shell脚本 – 查看网络接口信息

5)查看网络接口信息的Shell脚本

下面这个脚本,我们来实现查看主机名、IPv4、IPv6、MAC地址、网络接口速度信息:

代码语言:javascript
复制
[root@localhost ~]# cat nic-info.sh 
#!/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 ens33 | awk '/Speed/{printf "%s\t%s\n",$1,$2}'
done
Shell脚本 – 查看网络接口信息Shell脚本 – 查看网络接口信息
Shell脚本 – 查看网络接口信息Shell脚本 – 查看网络接口信息

总结

本文介绍了如何是用shell脚本查看网络接口的ip地址、MAC地址、网络速率等信息。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档