linux怎么查看ip:多款通用命令适配不同系统场景

linux怎么查看ip:多款通用命令适配不同系统场景

你在Linux系统中查看IP,核心可用ipaddr、ifconfig、hostname-i三类主流命令,其中ipaddr是所有新版Linux系统通用的最优方案,无需额外安装组件,能完整查看本机内网、外网、虚拟网卡所有IP地址;ifconfig仅适配旧版系统,需手动安装net-tools工具;hostname-i仅能快速获取本机主IP,无法查看多网卡详细信息,三种命令可根据你的系统版本和查询需求直接选用。

直接输入ipaddr命令是目前最推荐的查看方式,适配CentOS7+、Ubuntu16.04+、Debian等绝大多数主流Linux发行版。你打开终端后输入命令回车,页面会展示系统所有网卡信息,包括物理网卡、虚拟网卡和回环网卡。标注为inet的字段对应的就是IPv4地址,也就是日常使用的本机IP,inet6字段为IPv6地址,lo网卡对应的127.0.0.1是本地回环地址,仅本机可访问,无法用于局域网和外网通信。输出结果中UP状态代表网卡正常启用,DOWN状态代表网卡未激活,即使能查到IP,未激活的网卡也无法正常联网。

旧版Linux专属的IP查看方式

ifconfig是老牌的IP查询命令,仅CentOS6、Ubuntu14.04及更早的旧版Linux系统默认支持。新版系统输入该命令会提示commandnotfound,这是因为新版系统默认移除了net-tools工具包,并非命令失效。你如果需要使用,可先执行yuminstallnet-tools(CentOS)或aptinstallnet-tools(Ubuntu)完成安装,安装后输入ifconfig,即可直观查看网卡IP、子网掩码、网卡MAC地址等基础信息。该命令的弊端是无法识别部分新型虚拟网卡,查询兼容性远不如ipaddr命令。

想要快速极简获取本机主IP,无需筛选冗余信息,直接使用hostname-i命令即可。这条命令不会展示网卡状态、MAC地址等多余内容,终端只会直接输出本机默认的IPv4地址,适合脚本调用、快速核对IP的场景。需要注意的是,如果你的Linux设备配置了多网卡、多IP,该命令只会输出系统默认主网卡的IP,会遗漏其他网卡的地址,无法满足多IP查询需求。

外网公网IP精准查询方法

常规的本地IP查询命令只能查看局域网内网IP,无法获取设备对外访问的公网IP,想要精准查询公网IP,你可以直接在终端输入curlifconfig.me。该指令会调用外部接口,一秒输出设备的真实公网IP,适配所有联网的Linux设备。若服务器未安装curl工具,可先执行对应系统的安装命令完成部署,整个查询过程无需复杂配置,单次执行即可出结果。

使用本地IP查询命令时存在明确的适用限制,纯离线的Linux服务器无法通过curl类指令查询公网IP,同时虚拟机、云服务器的内网IP仅适用于局域网互通,外网访问必须以公网IP为准。另外,部分云服务器会绑定弹性公网IP,终端查询到的默认IP可能是内网私址,需要结合云平台后台配置核对对外访问地址,避免IP使用出错。

查询命令适用场景信息完整度是否需安装工具
ipaddr所有新版Linux系统、多网卡查询完整(全网卡IP、状态)无需安装,系统自带
ifconfig老旧Linux系统、基础信息查询一般(不兼容新型网卡)新版系统需手动安装
hostname-i快速获取单主IP、脚本使用极简(仅主IP)系统自带
curlifconfig.me查询设备公网IP单一(仅公网IP)无curl需安装

日常运维中优先固定使用ipaddr命令即可覆盖90%以上的内网IP查询场景,不用区分系统版本,不用额外配置,输入命令后筛选inet字段排除127.0.0.1地址,得到的就是可正常联网使用的本机局域网IP地址。

了解更多百科知识请访问 百科