如何在 Linux 和 OS X 上获取本地机器的主 IP 地址? [关闭]
Posted
技术标签:
【中文标题】如何在 Linux 和 OS X 上获取本地机器的主 IP 地址? [关闭]【英文标题】:How to get the primary IP address of the local machine on Linux and OS X? [closed] 【发布时间】:2012-10-30 14:58:01 【问题描述】:我正在寻找一个命令行解决方案,它将返回本地主机的主要(第一个)IP 地址,而不是 127.0.0.1
该解决方案至少适用于 Linux(Debian 和 RedHat)和 OS X 10.7+
我知道ifconfig
在这两个平台上都可用,但其输出在这些平台之间并不一致。
【问题讨论】:
你只想要你的机器本地网络IP吗?即 192.168.0.12 是的,本地 IP,第一个,因为它可以有多个,但我可以忍受一个列表。目前我很高兴只支持 IPv4 地址并忽略 IPv6,因为只希望它生成哈希。 如何定义“主要”?如果您正在考虑“与我的默认路由位于同一子网的 IP 地址”,则需要为此进行一些编程。但是如果机器没有默认路由,但仍然有 >1 个 IP 地址怎么办? 试试curl -4 ifconfig.co
。它会回答你的外部 IP4 地址。
这怎么跑题了?
【参考方案1】:
在 Mac 上,请考虑以下事项:
scutil --nwi | grep -Eo '[0-9]1,3\.[0-9]1,3\.[0-9]1,3\.[0-9]1,3'
【讨论】:
scutil --nwi
的输出不包括我运行 Sierra 的 Macbook 上的 IP 地址。以上是关于如何在 Linux 和 OS X 上获取本地机器的主 IP 地址? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
用 Mac OS X 自带的 SSH 登陆 Linux 后出现中文乱码,如何解决?