Linux下查看IP地址的几种方法
时间:2026-03-18 08:28:45 235浏览 收藏
想快速、准确地查出Linux本机真正可用的局域网IPv4地址?hostname -I是脚本和日常排查的首选——它无视接口名、过滤掉回环和IPv6,只输出当前生效的、能对外通信的IPv4地址,空格分隔,一目了然;若需深入诊断网络状态(如多IP绑定、容器环境、DHCP生命周期或接口真实启停),ip addr show才是权威之选,它直连内核netlink,反映实时真相;而ifconfig虽格式简洁,却易缓存过时数据、无法感知动态配置,在现代系统中仅宜谨慎参考。记住:命令只是镜子,真正关键的是背后的网络状态——DHCP是否成功、物理链路是否UP、默认路由是否存在、NetworkManager是否健康,这些才决定你看到的IP是否真的“能用”。

直接看本机 IPv4 地址,用 hostname -I 最快
它不依赖网络接口名,不显示 IPv6 或 loopback(127.0.0.1),只输出当前生效的、可用于局域网通信的 IPv4 地址,空格分隔。适合脚本调用或快速确认“我对外的地址是多少”。
- 运行
hostname -I,输出类似192.168.1.100 10.0.2.15—— 多个地址说明你同时连了有线和 Wi-Fi,挑和你当前上网方式匹配的那个 - 注意:
hostname -i(小写 i)是查主机名解析结果,可能返回127.0.1.1或 DNS 配置错误值,**别用它** - 如果输出为空,代表没获取到任何 IPv4 地址,大概率是网卡 down 了、DHCP 失败,或 NetworkManager 没管理该接口
ip addr show 是现代标准,能看清每个接口的真实状态
它比 ifconfig 更准确反映内核当前视图:哪些接口 UP、是否带 DHCP 分配标记、地址生命周期(valid_lft)、是否为 secondary 地址等。尤其在容器、虚拟机、多 IP 绑定场景下,ip 的输出不可替代。
- 查所有 IPv4:
ip -4 addr show;只看活跃的(UP 状态):ip -br -4 addr show | grep UP - 常见干扰项:看到
inet 127.0.0.1/8(lo 接口)或inet6行,直接忽略——你要的是非 loopback 的 IPv4 - 如果
eth0显示NO-CARRIER或状态为DOWN,说明物理连接断开或驱动未加载,ifconfig可能仍显示旧地址,但已不可用
ifconfig 还能用,但得知道它“看不见”的东西
它不读取 netlink 事件,只从内核旧接口抓快照,所以对热插拔网卡、NetworkManager 动态配置、IPv6 SLAAC 地址更新反应迟钝。但它输出格式简洁,老运维一眼能定位 inet 后面的地址。
- 若提示
command not found,不是系统坏了,是默认没装:sudo apt install net-tools(Debian/Ubuntu)或sudo yum install net-tools(RHEL/CentOS) - 输出里
inet addr:192.168.1.100是 IPv4,Bcast是广播地址,Mask是子网掩码——这些字段在ip输出里分散在不同行,需要多看两眼 - 别信
ifconfig eth0显示的地址就是“正在用的”,它可能已被ip addr flush dev eth0清掉,而ifconfig缓存未刷新
别踩这些坑:DHCP 失败、双网卡冲突、Docker 虚拟网桥干扰
真实环境里,IP 查不到或查错,往往不是命令问题,而是网络状态本身异常。
- 看到
169.254.x.x(APIPA 地址)?说明 DHCP 完全失败,检查网线、Wi-Fi 密码、路由器 DHCP 开关,而不是换命令 - 同时连 Wi-Fi 和以太网时,
hostname -I会列出两个地址,但默认路由只走其中一个(查ip route | grep default确认),另一个地址可能根本收不到外部请求 - Docker 安装后常新增
docker0、br-xxxx等虚拟网桥,它们也有inet地址(如172.17.0.1),这不是你的主机 IP,别误当成服务监听地址
ip link show 里的物理层是否 UP,ip route 里是否有有效 default 路由,以及 systemctl status NetworkManager 是否在正常工作。本篇关于《Linux下查看IP地址的几种方法》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!
相关阅读
更多>
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
最新阅读
更多>
-
249 收藏
-
276 收藏
-
170 收藏
-
324 收藏
-
375 收藏
-
371 收藏
-
371 收藏
-
352 收藏
-
380 收藏
-
106 收藏
-
260 收藏
-
249 收藏
课程推荐
更多>
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习