100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > linux 获取ip地址命令行 linux获取ip_shell命令获取linux下eth0的IP地址

linux 获取ip地址命令行 linux获取ip_shell命令获取linux下eth0的IP地址

时间:2023-11-28 13:22:30

相关推荐

linux 获取ip地址命令行 linux获取ip_shell命令获取linux下eth0的IP地址

摘要 腾兴网为您分享:shell命令获取linux下eth0的IP地址,我画你猜,万豪金业,调音器,时光机器等软件知识,以及usb2.0webcamera,蚂蚁,粤菜菜谱,怪物闹钟,帮我吧,英文小说,伪装微信地理位置,整数分区计算器,色彩搭配软件,蜜桃儿,地铁冲浪,pennygirl,迅腾,学各国语言的app,奥维卫星实景地图等软件it资讯,欢迎关注腾兴网。shell命令获取linux下eth0的IP地址,用到的命令有ifconfig、awk、grep。 一、常规方法 复制代码 代码如下: [root@localhost ~]# ifconfig eth0 eth0 Link encap:Ethernet HWaddr BC:30:5B:C0:CD:4F inet addr:192.168.7.2 Bc...

shell命令获取linux下eth0的IP地址,用到的命令有ifconfig、awk、grep。

一、常规方法

复制代码 代码如下:

[root@localhost ~]# ifconfig eth0

eth0 Link encap:Ethernet HWaddr BC:30:5B:C0:CD:4F

inet addr:192.168.7.2 Bcast:192.168.7.255 Mask:255.255.255.0

inet6 addr: fe80::be30:5bff:fec0:cd4f/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:45814755 errors:12 dropped:0 overruns:0 frame:55

TX packets:14791104 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:4338136769 (4.0 GiB) TX bytes:2483722504 (2.3 GiB)

Interrupt:16

[root@localhost ~]# ifconfig eth0 |grep 'inet add'

inet addr:192.168.7.2 Bcast:192.168.7.255 Mask:255.255.255.0

[root@localhost ~]# ifconfig eth0 |grep 'inet add'|awk -F ":" '{print $2}'

192.168.7.2 Bcast

[root@localhost ~]# ifconfig eth0 |grep 'inet add'|awk -F ":" '{print $2}'|awk '{print $1}'

192.168.7.2

[root@localhost ~]#

二、通过awk同时使用多个分隔符来实现:

复制代码 代码如下:

[root@localhost ~]# ifconfig eth0|grep 'inet addr'

inet addr:192.168.7.2 Bcast:192.168.7.255 Mask:255.255.255.0

[root@localhost ~]# ifconfig eth0|grep 'inet addr'|awk -F'[ :]' '{print $13}'

192.168.7.2

[root@localhost ~]#

选取包含IP地址行的特殊关键字'inet addr’过滤然后,使用awk以空格和:同时做分隔符,然后取出需要的内容。

最大缺点就是计算$n的时候很费劲,因为inet前面有多个空格,查到$13,真是不容易,如此看来从实现时间上可能还不如第一个方法快呢?

三、通过awk同时使用多个分隔符,然后通过正则匹配多个分隔符的方法来实现:

复制代码 代码如下:

[root@localhost ~]# ifconfig eth0 |awk NR=2

eth0 Link encap:Ethernet HWaddr BC:30:5B:C0:CD:4F

inet addr:192.168.7.2 Bcast:192.168.7.255 Mask:255.255.255.0

inet6 addr: fe80::be30:5bff:fec0:cd4f/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:45867518 errors:12 dropped:0 overruns:0 frame:55

TX packets:14808564 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:4343100002 (4.0 GiB) TX bytes:2486006118 (2.3 GiB)

Interrupt:16

[root@localhost ~]# ifconfig eth0 |awk NR==2

inet addr:192.168.7.2 Bcast:192.168.7.255 Mask:255.255.255.0

[root@localhost ~]# ifconfig eth0 |awk -F '[ :]+' 'NR==2 {print $4}'

192.168.7.2

[root@localhost ~]#

提示:本题NR是行号,分隔符+号匹配,[ ]里一个或多个任意一个分隔符,这里就是匹配一个或多个冒号或空格。

1)awk -F 后面跟分隔符‘[空格:]+’,其中[空格:]多分隔符写法,意思是以空格或冒号做分隔,后面的"+"号是正则表达式,意思是匹配前面空格或冒号,两者之一的1个或1个以上。

2)NR==2和sed -n "2p",相当,意思都是选择第几行,例:

复制代码 代码如下:

[root@oldboy ~]# ifconfig eth0|awk NR==2

inet addr:192.168.7.2 Bcast:192.168.7.255 Mask:255.255.255.0

3)指定awk -F '[ :]+'分隔符后,不同字符串被分隔的列依次为:

4)整个答案awk部分意思是,通过NR==2取出第二行,然后,通过-F '[-:]+多分隔符正则匹配,然后通过{print $4}打印出第四列 !

相关推荐

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。