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

相关推荐

  • Linux中如何将Nginx安装到指定目录?

    在Linux系统中将Nginx安装到指定目录,需通过源码编译方式实现,因为官方提供的二进制包通常固定安装路径,以下是详细步骤,涵盖环境准备、依赖安装、源码编译及配置验证,确保Nginx准确部署到目标目录,环境准备与依赖安装Nginx编译依赖基础开发工具和库文件,需提前安装,不同Linux发行版的依赖包名称略有差……

    2025年9月23日
    8700
  • 如何通过外网安全登录Linux服务器地址的操作步骤?

    要通过外网登录Linux服务器,需要完成服务器端配置、网络设置及客户端连接操作,以下是详细步骤,涵盖准备工作、核心配置、连接方法及常见问题排查,准备工作服务器必备条件Linux服务器已安装并运行SSH服务(默认大多数发行版已安装),服务器拥有公网IP地址(如云服务器的弹性公网IP,或路由器端口映射后的内网IP……

    2025年10月9日
    12600
  • Linux没有IP文件夹?正确操作指南

    访问本地网络配置文件目录Linux的网络配置通常存储在以下目录中,需使用终端命令操作:打开终端Ctrl+Alt+T(Ubuntu)或右键选择“打开终端”,进入网络配置目录通用路径(大部分系统): cd /etc/network/关键文件:interfaces(Debian/Ubuntu旧版)Red Hat/Ce……

    2025年6月26日
    11700
  • Linux下如何执行指定路径的C可执行文件?

    在Linux系统中执行C语言程序需先通过编译器将源代码转换为可执行文件,再通过指定路径运行,这一过程涉及路径的正确引用,包括当前路径、绝对路径、相对路径及环境变量配置等,以下是具体操作方法和注意事项,编译C文件生成可执行文件执行C程序的前提是编译源代码(如hello.c),使用gcc编译器时,通过-o参数指定生……

    2025年10月3日
    8500
  • 如何制作Linux系统镜像?

    准备工作硬件要求存储空间:目标磁盘容量 ≥ 源系统占用空间(通过 df -h 查看),外部介质:U 盘或移动硬盘(存放镜像文件),软件工具必备工具:dd(原始磁盘克隆)、rsync(增量备份)、tar(文件归档),可选工具:Clonezilla(图形化克隆)、GParted(分区调整),启动环境 使用 Live……

    2025年7月13日
    12300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信