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命令(传统方法)

ifconfig是net-tools工具包中的经典命令,在旧版Linux(如CentOS 6、Ubuntu 16)中广泛使用,但现代发行版可能默认未安装,需手动安装(sudo apt install net-tools或sudo 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信息。

使用ss或netstat查看连接对应的IP

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

使用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.x、x.x.x、16.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

相关推荐

  • Linux系统如何查看swap的当前使用情况及详细信息?

    Linux系统中,Swap(交换空间)是硬盘上的一块特殊区域,当物理内存(RAM)资源不足时,系统会将部分暂时不用的内存数据转移至Swap,以释放内存供给当前运行的程序使用,从而避免系统因内存耗尽而崩溃,监控Swap的使用状态对于排查系统卡顿、内存不足等问题至关重要,本文将详细介绍Linux系统中查看Swap信……

    2025年8月22日
    29700
  • 如何修改主机名linux

    Linux 中,可使用 hostnamectl set-hostname 新主机名 命令来

    2025年8月15日
    24300
  • Linux系统如何重启备份服务器?操作步骤有哪些?

    在Linux系统中重启备份服务器需要谨慎操作,尤其是备份服务器通常存储着关键业务数据,不当的重启可能导致数据丢失或服务中断,以下是详细的操作步骤、注意事项及验证方法,确保重启过程安全可靠,重启前的准备工作重启前必须完成准备工作,最大限度降低风险:确认备份任务状态检查是否有正在运行的备份任务,避免重启导致备份中断……

    2025年9月9日
    25800
  • 在Linux系统中,sar性能监控工具的安装步骤和配置方法是什么?

    在Linux系统中,sar(System Activity Reporter)是sysstat工具包中的一个核心组件,用于收集、统计和报告系统的各项性能数据,如CPU使用率、内存占用、磁盘I/O、网络流量等,通过sar,管理员可以实时监控系统状态,或分析历史数据排查性能瓶颈,本文将详细介绍Linux环境下安装s……

    2025年10月2日
    24600
  • Linux系统如何查看当前PHP版本?

    在Linux系统中查看PHP版本是开发运维中的常见需求,无论是排查兼容性问题、确认环境配置,还是升级PHP版本,准确获取当前PHP版本信息都是基础步骤,本文将详细介绍多种查看PHP版本的方法,涵盖命令行、Web环境、包管理器等不同场景,并对比各方法的适用性和注意事项,命令行直接查看(最常用)在Linux终端中……

    2025年8月25日
    30600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信