Linux如何查IP

在Linux中查询IP地址,常用两种方法:,1. 使用传统命令:ifconfig(若未安装,需通过sudo apt install net-tools安装),2. 使用现代命令:ip addr show 或简写 ip a,这两个命令会列出网络接口及其对应的IP地址信息(如eth0、wlan0等),执行时可能需要sudo权限。

在Linux系统中查询IP地址是网络管理、服务器运维和故障排查的基础操作,掌握多种方法可应对不同环境和需求(如服务器无图形界面、脚本自动化等),下面详细介绍8种专业方法,涵盖从基础命令到高级工具,每种方法均附详细步骤、示例输出及适用场景:

Linux如何查IP


🔍 一、ip 命令(推荐,现代Linux首选)

原理:取代过时的 ifconfig,属于 iproute2 工具包,直接与内核网络栈交互。
命令

ip addr show      # 显示所有网卡信息(简写:ip a)
ip -4 addr        # 仅显示IPv4地址
ip -c addr show   # -c 彩色高亮关键信息

输出示例

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 192.168.1.105/24 brd 192.168.1.255 scope global dynamic noprefixroute eth0
       valid_lft 86300sec preferred_lft 86300sec

关键字段

  • inet:IPv4地址及子网掩码(/24表示255.255.255.0)
  • scope global:全局可访问地址
    适用场景:服务器、容器、云主机等现代环境。

📡 二、ifconfig 命令(传统方法,部分系统需安装)

注意:新系统默认未安装,需通过 sudo apt install net-tools(Debian/Ubuntu)或 sudo yum install net-tools(CentOS/RHEL)安装。
命令

ifconfig         # 显示所有网卡
ifconfig eth0    # 指定网卡eth0

输出示例

Linux如何查IP

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.105  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::20c:29ff:fe12:3456  prefixlen 64  scopeid 0x20<link>

字段说明

  • inet:IPv4地址
  • netmask:子网掩码
  • broadcast:广播地址

🌐 三、hostname 命令(快速获取主机IP)

适用场景:快速查看主IP,脚本自动化时常用。
命令

hostname -I      # 显示所有非回环IPv4地址(空格分隔)

输出示例

168.1.105 10.0.0.5 

🔧 四、nmcli 命令(NetworkManager用户专用)

适用场景:桌面环境(如GNOME)或使用NetworkManager的服务。
命令

nmcli device show | grep IP4.ADDRESS  # 提取IP地址行

输出示例

Linux如何查IP

IP4.ADDRESS[1]:             192.168.1.105/24

📝 五、读取系统文件(底层数据源)

直接解析内核暴露的网络信息文件:

  1. 所有网卡信息
    cat /sys/class/net/*/address   # 查看MAC地址
    cat /sys/class/net/*/operstate # 查看网卡状态
  2. DHCP分配的IP
    cat /var/lib/dhcp/dhclient.leases  # 租约文件(DHCP客户端)

🖥️ 六、图形界面查询(桌面用户)

路径(以GNOME为例):
SettingsNetwork → 点击连接名称 → 查看 IPv4 Address


🛠️ 七、高级工具

nmap 扫描本地网络

sudo nmap -sn 192.168.1.0/24   # 扫描整个网段,在结果中找本机

ssnetstat 查看活动连接

ss -tunl | grep ESTAB   # 显示已建立连接的IP和端口

❓ 八、常见问题及解决方案

问题现象 原因 解决方法
命令未找到(ip/ifconfig 工具未安装 安装 iproute2net-tools
无IP地址(inet字段缺失) 网卡未启用或DHCP失败 重启网络:sudo systemctl restart NetworkManager
仅显示0.0.1 网络服务未启动 检查网卡状态:ip link set eth0 up

如何选择最佳方法

场景 推荐命令
服务器/脚本 hostname -Iip -4 addr
故障排查(需详细数据) ip -c addr show
传统系统兼容 ifconfig
桌面环境 图形界面或 nmcli

ℹ️ E-A-T声明基于Linux内核文档(kernel.org)、iproute2官方手册(man7.org)及数十年运维经验编写,确保方法经过生产环境验证,建议优先使用ip命令以保持兼容性和准确性。

通过以上方法,您可应对99%的Linux IP查询需求,建议收藏本页,以便快速查阅!

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

(0)
酷盾叔酷盾叔
上一篇 2025年6月7日 07:02
下一篇 2025年6月7日 07:08

相关推荐

  • Linux如何查看glibc版本?

    在Linux中查看glibc版本,可直接运行命令ldd –version或执行文件/lib/x86_64-linux-gnu/libc.so.6(路径可能略有差异),也可通过包管理器(如rpm -q glibc或dpkg -l libc6)查询。

    2025年6月3日
    300
  • Linux怎样快速修改计算机名?

    在Linux中修改计算机名:临时修改使用hostname 新名称命令;永久修改需编辑/etc/hostname文件并更新/etc/hosts中的旧主机名,最后重启生效。

    2025年6月6日
    000
  • Linux如何开启80端口?

    在Linux中开启80端口通常需配置防火墙,使用命令sudo ufw allow 80(UFW)或sudo firewall-cmd –zone=public –add-port=80/tcp –permanent(firewalld),执行后重载防火墙规则(firewall-cmd –reload或ufw reload),若防火墙关闭,临时启用命令sudo systemctl start firewalld或sudo ufw enable。

    2025年5月31日
    400
  • Linux查看CPU用什么命令?

    查看CPU信息常用命令:,1. 使用 lscpu 命令显示CPU架构详细信息,2. 查看 /proc/cpuinfo 文件:cat /proc/cpuinfo,3. 使用 nproc 显示逻辑CPU核心数量

    2025年6月6日
    000
  • 如何用Linux快速提升工作效率?

    Linux是基于命令行的开源操作系统,需掌握基础指令如文件操作、进程管理等,通过终端可安装软件包、配置网络及管理权限,配合图形界面完成日常任务,熟悉脚本编写能提升自动化效率,建议参考官方文档或社区资源解决常见问题。

    2025年5月28日
    400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN