linux系统查看ip命令
在 Linux 系统中,查看 IP 地址的常用命令有以下几种,推荐使用更现代的 ip
命令:
📌 1. ip addr
或 ip a
(最推荐 👍)
命令:
ip addr show # 或者更简洁的写法: ip a
功能: 这是最强大、最现代的命令,用于显示所有网络接口的详细配置信息,包括 IP 地址(IPv4 和 IPv6)、MAC 地址、状态等。
输出关键信息:
inet
行后面跟的是 IPv4 地址和子网掩码(如192.168.1.100/24
)。inet6
行后面跟的是 IPv6 地址。link/ether
行后面跟的是 MAC 地址。state UP
表示接口已启用。
例子:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether aa:bb:cc:dd:ee:ff brd ff:ff:ff:ff:ff:ffinet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic noprefixroute eth0valid_lft 86384sec preferred_lft 86384secinet6 fe80::aabb:ccff:fedd:eeff/64 scope link noprefixroutevalid_lft forever preferred_lft forever
优势: 功能全面,是
ifconfig
的现代替代品,几乎所有发行版默认安装。
⚠ 2. ifconfig
(传统命令)
命令:
ifconfig # 或者查看特定接口(如 eth0) ifconfig eth0
功能: 传统上用于配置和显示网络接口信息。但在许多较新的 Linux 发行版中,默认可能不再安装
net-tools
包(包含 ifconfig)。安装: 如果提示命令未找到,可安装:
# Debian/Ubuntu 系 sudo apt-get install net-tools # RHEL/CentOS 系 sudo yum install net-tools
输出关键信息:
inet
后面是 IPv4 地址(如192.168.1.100
)。inet6
后面是 IPv6 地址。ether
后面是 MAC 地址。RX
/TX
显示网络流量统计。
例子:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255inet6 fe80::aabb:ccff:fedd:eeff prefixlen 64 scopeid 0x20<link>ether aa:bb:cc:dd:ee:ff txqueuelen 1000 (Ethernet)...
注意: 虽然仍在广泛使用,但官方推荐迁移到
ip
命令。
🔍 3. hostname
(快速查看特定 IP)
命令:
hostname -I # 注意是大写 I
功能: 快速显示系统所有非环回 IPv4 地址(如果有多个网卡或多个 IP),每个 IP 地址用空格分隔。不显示 IPv6。
例子输出:
192.168.1.100 10.8.0.10
优点: 非常简洁,方便用于脚本中获取 IP 地址。Ubuntu 等发行版常用。
📦 4. 使用 nmcli
(NetworkManager 命令行工具)
命令:
nmcli device show # 或者精简版 nmcli device
功能: 如果系统使用 NetworkManager 管理网络(常见于桌面环境和一些服务器),此命令可以显示设备及其连接状态、IP 信息等。
输出关键信息: 在
IP4.ADDRESS[1]
或IP6.ADDRESS[1]
行找到 IP 地址。
🚀 总结与推荐
首选:
ip addr
或ip a
- 功能最全,最现代,几乎所有发行版默认安装,无额外依赖。次选/传统:
ifconfig
- 熟悉度高,但可能需要手动安装软件包,正在被ip
取代。快速脚本获取:
hostname -I
- 超级简单获取所有非环回 IPv4 地址。NetworkManager 用户:
nmcli device show
- 集权管理工具的详细信息。
🖥 查看特定接口
对于以上所有命令(除了 hostname -I
),你都可以指定网络接口名来查看该接口的信息:
ip a show eth0 # 查看 eth0 的 IP 信息
ifconfig eth0 # 查看 eth0 的 IP 信息 (如果已安装 ifconfig)
nmcli device show eth0 # 查看 eth0 的 IP 信息 (如果使用 NM)
🌐 补充:快速查询公网IP (非系统命令)
系统命令只能查到本地接口的 IP。要查公网 IP,需要用网络服务:
# 常用服务
curl ifconfig.me
curl icanhazip.com
curl ipinfo.io/ip
curl ident.me
注意: 选择这些服务时请留意其隐私条款!
💻 根据你的系统和需求选择最合适的命令吧!通常 ip addr
是最优解。