首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >哪个终端命令只获取IP地址,而不获取其他地址?

哪个终端命令只获取IP地址,而不获取其他地址?
EN

Stack Overflow用户
提问于 2011-12-16 10:37:25
回答 22查看 218.5K关注 0票数 146

我正在尝试仅使用IP地址(inet)作为我编写的脚本中的参数。

在unix终端中,有没有一种简单的方法可以只获取IP地址,而不是通过ifconfig查找

EN

回答 22

Stack Overflow用户

回答已采纳

发布于 2011-12-16 10:46:36

您可以编写一个只返回IP的脚本,如下所示:

/sbin/ifconfig eth0 | grep 'inet addr' | cut -d: -f2 | awk '{print $1}'

对于MAC:

ifconfig | grep "inet " | grep -v 127.0.0.1 | cut -d\  -f2

或用于linux系统

hostname -i | awk '{print $3}' # Ubuntu 

hostname -i # Debian
票数 212
EN

Stack Overflow用户

发布于 2014-11-02 07:02:43

这将为您提供所有IPv4接口,包括环回127.0.0.1:

ip -4 addr | grep -oP '(?<=inet\s)\d+(\.\d+){3}'

这将仅显示eth0

ip -4 addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'

这样你就可以获得IPv6地址了:

ip -6 addr | grep -oP '(?<=inet6\s)[\da-f:]+'

仅限eth0 IPv6:

ip -6 addr show eth0 | grep -oP '(?<=inet6\s)[\da-f:]+'
票数 82
EN

Stack Overflow用户

发布于 2017-10-09 22:13:27

如果您的环境有限,则可以使用以下命令:

ip -4 addr show dev eth0 | grep inet | tr -s " " | cut -d" " -f3 | head -n 1
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8529181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档