首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何获取Linux和OS X上本地机器的主IP地址?

如何获取Linux和OS X上本地机器的主IP地址?
EN

Stack Overflow用户
提问于 2012-11-10 21:32:11
回答 25查看 635.8K关注 0票数 384

我正在寻找一个命令行解决方案,它可以返回本地主机的主要(第一个) IP地址,而不是127.0.0.1

该解决方案应该至少适用于Linux (Debian和RedHat)和OS X 10.7+

我知道ifconfig在这两个平台上都是可用的,但它的输出在这两个平台上并不是那么一致。

EN

回答 25

Stack Overflow用户

发布于 2014-09-15 23:08:03

下面的代码可以在Linux上运行,但不能在OSX上运行。

这根本不依赖DNS,即使没有正确设置/etc/hosts (11.0.0.0的缩写),它也能正常工作:

代码语言:javascript
复制
ip route get 1 | awk '{print $NF;exit}'

或者避免使用awk,并在8.8.8.8上使用谷歌的公共域名,这是显而易见的:

代码语言:javascript
复制
ip route get 8.8.8.8 | head -1 | cut -d' ' -f8

一种不太可靠的方式:(参见下面的评论)

代码语言:javascript
复制
hostname -I | cut -d' ' -f1
票数 266
EN

Stack Overflow用户

发布于 2013-09-20 05:58:53

对于linux计算机(不是OS X):

代码语言:javascript
复制
hostname --ip-address
票数 249
EN

Stack Overflow用户

发布于 2014-01-08 21:45:56

特定于特定版本的Ubuntu。尽管它可能只会告诉你127.0.0.1

代码语言:javascript
复制
hostname  -i

代码语言:javascript
复制
hostname -I
票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13322485

复制
相关文章

相似问题

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