# 参数-E表示使用扩展正则表达式egrep
# 参数-o表示只显示一行中匹配正则表达式的部分
======================================================================
$ ifconfig eth0 | grep -o -E "inet addr:[0-9.]+"
inet addr:192.168.2.216
======================================================================
# 同时输出 IP、广播地址、子网掩码
======================================================================
$ ifconfig eth0 | grep -o -E "[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}"
172.16.2.153
172.16.2.255
255.255.255.0
======================================================================
# 输出IP地址
# print $2:取出第二个字段
# awk '{print $2}':awk是行处理器,即一行一行的读取指定的文件,以空格作为分隔符,取出第二个字段
# awk -F: '{print $2}':-F 指定分隔符,以 : 为分隔符再取出第二个字段
======================================================================
$ ifconfig eth0 | grep "inet addr"
inet addr:172.16.2.153 Bcast:172.16.2.255 Mask:255.255.255.0
$ ifconfig eth0 | grep "inet addr" | awk '{print $2}'
addr:172.16.2.153
$ ifconfig eth0 | grep "inet addr" | awk '{print $3}'
Bcast:172.16.2.255
$ ifconfig eth0 | grep "inet addr" | awk '{print $4}'
Mask:255.255.255.0
$ ifconfig eth0 | grep "inet addr" | awk '{print $2}' | awk -F: '{print $2}'
172.16.2.153
$ ifconfig eth0 | grep "inet addr" | awk '{print $3}' | awk -F: '{print $2}'
172.16.2.255
$ ifconfig eth0 | grep "inet addr" | awk '{print $4}' | awk -F: '{print $2}'
255.255.255.0
======================================================================
# ifconfig eth0 :查询网卡eth0的信息
# grep 'inet addr:':查询ipv4那一行的信息
# cut -d " " -f 12:使用空格进行拆分, 12是空格的数量
======================================================================
$ ifconfig eth0 | grep 'inet addr:' | cut -d " " -f 12
addr:172.16.2.153
$ ifconfig eth0 | grep 'inet addr:' | cut -d " " -f 14
Bcast:172.16.2.255
$ ifconfig eth0 | grep 'inet addr:' | cut -d " " -f 16
Mask:255.255.255.0
======================================================================
# ip 命令与 ifconfig 命令类似,但比 ifconfig 命令更加强大,主要功能是用于显示或设置网络设备
# ip address 可用于查询、添加、删除IP地址等
======================================================================
$ ip address | grep eth0 | awk '{print$2}'
eth0:
172.16.2.153/24
$ ip address show eth0 | grep 'inet ' | awk '{print $2}'
172.16.2.153/24
======================================================================
# 显示默认网关
======================================================================
$ ip route show | grep 'default' | awk '{print $3}'
172.16.2.1
172.16.7.254
$ ip route show | grep 'eth0' | grep 'default' | awk '{print $3}'
172.16.2.1
======================================================================
【菜鸟教程】Linux ifconfig命令
【菜鸟教程】Linux ip 命令
【菜鸟教程】Linux grep 命令
【菜鸟教程】Linux awk 命令
更多推荐
Linux shell输出IP、子网掩码、广播地址、网关等网络信息的多种方法(grep awk)
发布评论