Linux如何查询本机IP地址?命令方法有哪些?

在Linux系统中,IP地址是设备在网络中的唯一标识,查询本机IP地址是日常运维和网络配置中的基础操作,无论是排查网络问题、配置服务还是进行远程连接,准确获取IP地址都是第一步,Linux查询本机IP的方法多样,可通过命令行工具快速获取,也可通过图形界面直观查看,本文将详细介绍这些方法及适用场景。

linux如何查询本机ip

命令行查询方法(推荐)

命令行是Linux系统高效操作的核心,通过简洁的命令即可快速获取IP地址信息,以下是常用命令及详细解析:

使用ip命令(现代Linux推荐)

ip命令是iproute2工具包的一部分,功能强大且全面,是现代Linux发行版(如Ubuntu 18+、CentOS 7+)默认的网络配置工具,通过ip addr(或ip a)可查看所有网络接口的IP信息,包括IPv4、IPv6、子网掩码、广播地址等。

基本用法

ip addr show

输出示例

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:1a:2b:3c:4d:5e brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::21a:2bff:fe3c:4d5e/64 scope link 
       valid_lft forever preferred_lft forever

输出解析

  • 1: lo:回环接口(localhost),用于本机通信,IP为0.0.1(IPv4)和:1(IPv6)。
  • 2: eth0:以太网接口(有线网卡),inet后为IPv4地址(168.1.100),/24表示子网掩码(255.255.255.0),brd为广播地址(168.1.255)。
  • inet6:IPv6地址,通常以fe80::开头的为链路本地地址,需通过路由器获取全局IPv6地址。

仅显示IPv4地址

ip -4 addr show | grep -oP 'inet K[d.]+'

仅显示IPv6地址

ip -6 addr show | grep -oP 'inet6 K[0-9a-fA-F:]+'

使用ifconfig命令(传统方法)

ifconfignet-tools工具包中的经典命令,在旧版Linux(如CentOS 6、Ubuntu 16)中广泛使用,但现代发行版可能默认未安装,需手动安装(sudo apt install net-toolssudo yum install net-tools)。

基本用法

ifconfig -a

输出示例

linux如何查询本机ip

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::21a:2bff:fe3c:4d5e  prefixlen 64  scopeid 0x20<link>
        ether 00:1a:2b:3c:4d:5e  txqueuelen 1000  (Ethernet)
        RX packets 12345  bytes 1234567 (1.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6789  bytes 987654 (964.2 KiB)
        TX errors 0  dropped 0  overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)

输出解析

  • inet后为IPv4地址,netmask为子网掩码,broadcast为广播地址。
  • lo为回环接口,与ip命令输出一致。

使用hostname命令(快速获取IPv4)

hostname命令主要用于显示或设置系统主机名,但结合-I选项可快速输出所有IPv4地址(空格分隔),适合仅需简单IP的场景。

基本用法

hostname -I

输出示例

168.1.100 10.0.0.5

说明:若系统有多个网卡(如eth0、wlan0),会输出所有网卡的IPv4地址,无IPv6信息。

使用ssnetstat查看连接对应的IP

若需通过网络连接反推本机IP(如确认服务绑定的IP),可使用ssnetstat查看监听或已建立的连接。

使用ss(推荐,现代替代netstat

ss -tuln | grep LISTEN

输出示例

tcp   LISTEN 0 128 0.0.0.0:22       0.0.0.0:*    tcp6   LISTEN 0 128 [::]:22      [::]:*

说明0.0.0表示监听所有IPv4地址,[::]表示监听所有IPv6地址;若显示0.0.1:1,则仅本机可访问。

使用netstat(需安装net-tools

linux如何查询本机ip

netstat -tuln | grep LISTEN

使用nmcli命令(NetworkManager管理工具)

若系统使用NetworkManager管理网络(如Ubuntu Desktop、CentOS 7+),可通过nmcli命令获取更详细的网络配置信息,包括IP、网关、DNS等。

基本用法

nmcli device show

输出示例(部分):

设备类型: ethernet
接口名称: eth0
通用路径: /sys/class/net/eth0
IP4 地址: 192.168.1.100/24
IP4 网关: 192.168.1.1
IP4 DNS: 8.8.8.8, 8.8.4.4
IP6 地址: fe80::21a:2bff:fe3c:4d5e/64

图形界面查询方法

对于习惯图形操作的用户,Linux桌面环境(如GNOME、KDE、XFCE)提供了直观的网络设置界面,以下是常见发行版的操作步骤:

Ubuntu/Debian(GNOME桌面)

  • 点击右上角网络图标(有线/无线),若已连接,会显示“已连接”,点击“有线设置”或“无线设置”。
  • 在“网络”页面,点击当前连接的网卡(如“有线1”),展开“IPv4”或“IPv6”选项,即可查看IP地址、子网掩码、网关等信息。

CentOS/RHEL(GNOME桌面)

  • 点击右上角网络图标,选择“有线设置”或“无线设置”。
  • 在“连接”页面,点击“齿轮图标”编辑连接,切换到“IPv4”或“IPv6”标签页,可查看IP配置(DHCP或静态)。

Fedora(KDE Plasma桌面)

  • 点击右下角网络图标,选择“设置”。
  • 在“网络”界面,点击当前连接的网卡,展开“详情”,即可查看IP地址、DNS等信息。

常用命令总结表格

命令 功能描述 示例 适用场景
ip addr show 显示所有网络接口IP信息(含IPv4/IPv6) ip addr show 现代Linux,全面查看IP
ifconfig -a 显示所有网络接口信息(需安装net-tools) ifconfig -a 旧版Linux或兼容场景
hostname -I 快速输出所有IPv4地址(空格分隔) hostname -I 快速获取IPv4,无需额外参数
ss -tuln 查看监听端口及对应IP ss -tuln | grep LISTEN 通过服务确认绑定IP
nmcli device show 显示NetworkManager管理的网络详情 nmcli device show NetworkManager环境,查看详细配置

相关问答FAQs

Q1:为什么输入ifconfig命令后提示“command not found”?
A:ifconfig属于net-tools工具包,现代Linux发行版(如Ubuntu 20.04、CentOS 8)默认未安装,转而推荐ip命令,若需使用ifconfig,可通过以下方式安装:

  • Ubuntu/Debian:sudo apt install net-tools
  • CentOS/RHEL/Fedora:sudo yum install net-tools(CentOS 8+使用dnf

Q2:如何区分本机的公网IP和内网IP?
A:内网IP(如168.x.xx.x.x16.x.x-172.31.x.x)是局域网内部分配的,仅在同一网络内可见;公网IP是路由器从ISP(互联网服务提供商)获取的,可直接访问互联网,可通过以下方法区分:

  • 内网IP:使用ip addr show查看,若IP属于上述私有地址段则为内网IP。
  • 公网IP:通过访问外部IP查询网站获取,如:
    curl ifconfig.me  # 或 curl ipinfo.io/ip

    输出的IP即为公网IP(若通过路由器上网,公网IP为路由器的IP,非本机直连IP)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/36905.html

(0)
酷番叔酷番叔
上一篇 2025年10月6日 09:41
下一篇 2025年10月6日 10:10

相关推荐

  • 如何在Debian/Ubuntu快速安装netcat

    在 Linux 系统中测试 UDP 端口是否开放比测试 TCP 端口更复杂,因为 UDP 是无连接协议,不会主动返回确认信息,以下是几种专业可靠的测试方法,结合原理说明和操作示例:UDP 端口测试的挑战无状态特性:UDP 端口即使开放,也可能不返回任何响应(取决于服务是否配置回复),关闭时的表现:若端口关闭,系……

    2025年7月4日
    7900
  • Linux如何实现开机自启动?

    在Linux系统中,实现开机自启动是常见需求,无论是服务、脚本还是应用程序,都需要在系统启动时自动运行,无需手动干预,本文将详细介绍几种主流的开机自启动方法,涵盖不同Linux发行版和场景需求,Systemd服务管理(现代Linux发行版主流方法)Systemd是目前大多数Linux发行版(如Ubuntu 16……

    2025年9月16日
    13600
  • Linux安装Qt的最优方法是什么?

    安装前的准备系统更新打开终端执行:sudo apt update && sudo apt upgrade # Debian/Ubuntusudo dnf update # Fedora安装基础依赖sudo apt install build-essential libgl1-mesa-dev……

    2025年7月24日
    5900
  • 如何查看Linux系统中各个磁盘分区中的文件详细信息?

    在Linux系统中查看各个盘中的文件,需要先识别系统中的磁盘设备及其挂载情况,再通过命令行或图形界面工具访问文件内容,以下是详细的操作步骤和方法,涵盖基础命令、挂载管理及图形化工具的使用,查看磁盘基本信息:识别系统中的磁盘设备在访问磁盘文件前,需先了解系统中有哪些磁盘设备、分区结构及挂载状态,Linux中常用以……

    2025年8月25日
    5400
  • Linux如何访问GPT分区?操作步骤与方法详解

    在Linux系统中访问GPT(GUID Partition Table)分区是常见需求,尤其在使用大容量硬盘或多操作系统环境下,GPT作为MBR分区表的替代方案,支持更大的分区和更多的分区数量,现代Linux内核已原生支持GPT,无需额外驱动,以下是详细访问步骤和工具使用方法,确认系统对GPT的支持现代Linu……

    2025年8月27日
    5200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信