linux怎么看ip地址,主流可用命令为ipaddr、ifconfig、hostname-I,ipaddr是现代发行版默认自带工具,不需要额外安装软件,ifconfig依赖net-tools包,在Ubuntu20.04、CentOS8及更新版本里默认没有预装,hostname-I只直接输出IPv4地址,不附带网卡状态、MAC地址等冗余信息,适合脚本读取;你在服务器ssh远程、本地虚拟机、嵌入式linux设备上都可以使用,仅最小化裁剪系统会缺少部分工具。
linux怎么看ip地址:ipaddr命令实操
你直接在终端输入ipaddr回车,输出内容里每一块对应一块网卡,以eth0、ens33、enp0s3这类名称标记网卡,找到标有inet的字段,inet后面紧跟的数字就是IPv4地址,斜杠后面是子网掩码,inet6对应IPv6地址;LOOPBACK网卡lo的地址127.0.0.1是本地回环地址,不能用于外网或者跨主机通信,不要把这个地址当成对外访问IP。
只过滤IPv4地址可以搭配grep,完整写法ipaddr|grepinet,这条指令会过滤掉IPv6内容,减少屏幕上的信息干扰,方便快速定位网卡IP。
linux怎么看ip地址:ifconfig命令使用
ifconfig属于老牌查询工具,早期CentOS7、Ubuntu18.04默认自带,新系统执行会提示commandnotfound,需要先执行安装命令,Debian和Ubuntu系列用aptinstallnet-tools,RHEL、CentOS系列用dnfinstallnet-tools;执行后inet字段为IPv4,netmask是子网掩码,RX、TX两行展示网卡收发流量。
linux怎么看ip地址:hostname-I专用简洁查询
hostname-I执行后直接打印本机所有非回环IPv4,多个网卡会空格隔开,没有多余描述文字,适合写shell脚本自动获取IP,不需要人工解析文本。
| 命令 | 是否预装 | 输出特点 | 适合场景 |
|---|---|---|---|
| ipaddr | 绝大多数新版linux预装 | 完整网卡信息、MAC、IPv4、IPv6 | 人工排查网络、查看网卡状态 |
| ifconfig | 新版系统默认不预装 | 传统格式,流量统计清晰 | 习惯旧命令、老运维人员 |
| hostname-I | 大多预装 | 纯IP文本,无附加信息 | 脚本自动读取IP |
公网IP无法通过上面三条命令直接读出,这类命令查到的是内网网卡IP。
你查询公网IP,可以用curl调用外部查询接口,curlifconfig.me,依赖服务器外网连通性,内网隔离环境执行会超时失败。
网卡处于down状态时,命令不会分配IP,需要先执行iplinkset网卡名up启用网卡。
网卡名称存在自定义修改的可能,不要固定只寻找ens33。