【Linux系列】服务器 IP 地址查询

博客目录

    • [一、hostname 命令:简单高效的 IP 查询工具](#一、hostname 命令:简单高效的 IP 查询工具)
    • [二、ip 命令:新一代网络配置全能工具](#二、ip 命令:新一代网络配置全能工具)

在服务器管理和网络运维中,快速准确地获取服务器的 IP 地址是一项基本但至关重要的技能。无论是进行远程连接、配置网络服务还是排查故障,了解如何查询 IP 地址都是每位系统管理员必备的能力。

一、hostname 命令:简单高效的 IP 查询工具

hostname -I命令无疑是查询服务器 IP 地址最直接的方式之一。这个命令的设计初衷就是为了提供一个简单快捷的方法来获取服务器的网络配置信息。

命令详解

当您在终端执行hostname -I时,系统会返回服务器上所有非回环(loopback)网络接口配置的 IP 地址,这些地址以空格分隔显示在一行中。例如:

复制代码
203.0.xxx.42 2001:db8:abcd:1234::5678

这个输出中,第一个地址(203.0.113.42)通常是 IPv4 地址,第二个地址(2001:db8🔡1234::5678)则是 IPv6 地址。这种显示方式特别适合脚本处理,因为它的输出格式非常规范。

实际应用技巧

  1. 获取主网卡 IP:在很多自动化脚本中,我们只需要服务器的首要 IP 地址。这时可以使用管道结合 awk 命令:

    bash 复制代码
    hostname -I | awk '{print $1}'

    这条命令会返回列表中的第一个 IP 地址,通常是主网卡的 IP。

  2. IPv4 与 IPv6 分离:如果需要单独获取 IPv4 或 IPv6 地址,可以结合 grep 命令进行筛选:

    bash 复制代码
    hostname -I | grep -oE '\b([0-9]{1,3}\.){3}[0-9]{1,3}\b'  # IPv4
    hostname -I | grep -oE '([0-9a-fA-F]{0,4}:){1,7}[0-9a-fA-F]{0,4}'  # IPv6
  3. 统计 IP 数量:要了解服务器配置了多少个非回环 IP 地址,可以使用:

    bash 复制代码
    hostname -I | wc -w

注意事项

  • 在某些极简 Linux 发行版中,hostname命令可能不支持-I参数,这时需要安装完整的主机名工具包。
  • 如果服务器没有任何网络接口配置(除了回环接口),命令可能返回空结果。
  • 在容器化环境中,这个命令返回的是容器内部的 IP 地址,而不是宿主机的 IP。

二、ip 命令:新一代网络配置全能工具

ip命令是 Linux 系统中新一代的网络配置工具,属于 iproute2 软件包的一部分,它正在逐步取代传统的ifconfig命令。

基本用法

查看所有网络接口的详细信息:

bash 复制代码
ip addr show

或者简写为:

bash 复制代码
ip a

觉得有用的话点个赞 👍🏻 呗。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

相关推荐
Johny_Zhao17 小时前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
blasit1 天前
笔记:Qt C++建立子线程做一个socket TCP常连接通信
c++·qt·tcp/ip
YuMiao1 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
chlk1232 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑2 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件2 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号3 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash3 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI3 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行4 天前
Linux和window共享文件夹
linux