如何在 Linux 命令行中查找 IP 地址

系统 Linux
现如今 ifconfig 命令已经被启用了。那么,除此以外还有什么别的方式来查询 IP 地址呢?今天我们就来了解一下这个问题。

几年前,ifconfig 是 Linux 中最受欢迎的查询本机 IP 地址的方法。但是现如今 ifconfig 命令已经被启用了。在某些 Linux 发行版上已经不用了:

command

那么,除此以外还有什么别的方式来查询 IP 地址呢?今天我们就来了解一下这个问题。

在 Linux 命令行中查找 IP 地址

现在,可以使用 ip 命令来查询 IP 地址。ip 命令是通用的,可以用于网络相关的其他一些事情。

不过,要显示 IP 地址,可以使用 ip addrip a 或者 ip address,如下所示命令:

ip

输出如下:​

1: lo: 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: wlp58s0: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 9c:b6:d0:d0:fc:b5 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.20/24 brd 192.168.1.255 scope global dynamic noprefixroute wlp58s0
valid_lft 5962sec preferred_lft 5962sec
inet6 fe80::bf14:21e3:4223:e5e4/64 scope link noprefixroute
valid_lft forever preferred_lft forever

在上面的输出中,你可以忽略第一个名为lo(loopback)的输出,除此以外,可以看到 IP 地址显示为192.168.1.20。它后面的24是子网掩码。

图片

如上所示,可以使用 ip 命令获取主机的 IP 地址。除此以外,还可以通过 bash 脚本获取 IP 地址。

获取 IP 地址的其他方法

除了使用 ip 命令以外,还有其他的几个方法来获取 IP 地址。

使用 hostname 命令查看IP地址

hostname 命令通常用于显示系统的主机名,也可以用于显示主机的IP地址:

hostname

上述命令会显示主机的 IP 地址:​

$ hostname -I192.168.0.106

使用 nmcli 工具显示 IP 地址

大多数 Linux 发行版都有一个 Network Manager 的工具,该工具有一个名为 nmcli 的命令行界面,可以使用此 nmcli 工具来查看网络配置。比如可以使用如下命令查看 IP 地址:

nmcli

那么,ifconfig 呢?

实际上,我们仍然可以使用 ifconfig 命令。如果系统中不存在这个命令,我们可以手动安装,它存在于网络工具包中。

在基于 Ubuntu 的 Linux 中,可以使用如下命令安装网络工具:

sudo

安装完成后,就可以使用 ifconfig 命令来查询 IP 地址了:

ifconfig

输出如下:​

lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 14855 bytes 3027297 (3.0 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 14855 bytes 3027297 (3.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp58s0: flags=4163 mtu 1500
inet 192.168.0.106 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::bf14:21e3:4223:e5e4 prefixlen 64 scopeid 0x20
ether 9c:b6:d0:d0:fc:b5 txqueuelen 1000 (Ethernet)
RX packets 88413 bytes 61851930 (61.8 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 56505 bytes 11409219 (11.4 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

不过,因为 ifconfig 命令已经被弃用,所以我们还是不鼓励使用网络工具,建议使用 ip 命令。

查询公网IP地址

上面我们介绍的都是查询本地内网IP地址的方法,也就是局域网的 IP 地址。

内网 IP 地址是局限在局域网中的地址,用于与局域网中的其他设备进行通信。局域网之外的其他设备无法通过这个 IP 地址找到你。我们所说的公网地址一般是指路由器的IP地址,路由器通过内网 IP 与你的设备通信。

那么,如何获取公网IP地址呢?这就需要借助于第三方工具了。

比如,可以使用 OpenDNS 的 host 命令来获取公网 IP 地址。

host myip.opendns.com resolver1.opendns.com

其输出如下:​

Using domain server:
Name: resolver1.opendns.com
Address: 208.67.222.222#53
Aliases:
myip.opendns.com has address 202.91.87.117
Host myip.opendns.com not found: 3(NXDOMAIN)
Host myip.opendns.com not found: 3(NXDOMAIN)

以上就是本次分享全部内容。

责任编辑:庞桂玉 来源: TIAP
相关推荐

2022-10-20 16:51:44

Linux命令行IP 地址

2022-03-04 14:32:01

命令行IP 地址Linux

2023-02-07 09:49:26

Linux命令行合并文件

2022-10-13 19:23:21

Linux命令行IP 地址

2019-08-15 15:00:31

Linux命令行PDF

2023-03-21 09:31:30

Linux命令行文件夹

2019-07-15 05:50:19

Linux命令行VirtualBox版

2018-04-25 10:46:05

Linux命令行日历

2014-05-04 10:58:18

Linux命令行Linux发行版

2015-02-10 10:05:11

LinuxLinux命令

2017-08-29 15:15:40

Linux命令公网IP

2022-10-25 13:01:36

Linux命令行空目录

2022-11-18 12:47:51

LinuxAWS命令行工具

2022-10-18 14:52:36

2009-08-06 20:14:16

linux命令行模式linux命令行修改系统时间

2009-08-11 10:16:08

linux命令行修改Ired hat linlinux命令行参数

2014-09-16 10:09:40

Linux

2015-10-19 17:16:10

天气预报命令行Linux

2021-08-30 07:50:42

脚本语言命令行

2019-04-12 15:25:15

Fedora 30内核命令行
点赞
收藏

51CTO技术栈公众号