linux查看ip地址命令ipconfig不行

文字出处:港云网络  |  责任编辑:港云网络  |  发布时间:2019-11-14 14:55:03

linux查看ip地址命令ipconfig不行

1. 前言

本文主要讲解Linux系统中应该如何使用查看ip地址命令,很多Linux使用者应该发现,在新版的Linux发行版中,ipconfig已经不行了,不能使用了。那么,Linux查看ip地址应该使用什么命令呢?

如何在Linux命令行中查找系统的IP地址?对于许多Linux用户来说,这是一个常见的问题。

本教程适用于Ubuntu系统、Linux Mint系统、Deepin深度Linux系统、Fedora系统、Debian系统、Elementary OS系统、OpenSUSE系统、CentOS系统、RHEL系统,Arch Linux等等GNU Linux发行版。

2. 常用的查看IP地址的命令ipconfig没有找到?

几年前,ifconfig是了解Linux中IP地址的首选方法。不幸的是,ifconfig命令已被弃用。如果你今天尝试使用这个命令,你很可能会看到以下错误:

command not found: ifconfig
Bash

提示ifconfig命令没有找到。

那么,如何在Linux系统中查看IP地址呢?我来教你怎么做。

3. 在Linux命令行中查看IP地址

您可以使用ip命令。ip命令是通用的,可以用于与网络相关的其他一些事情。

但只是为了显示IP地址,使用命令与IP addr, IP a或IP地址选项(都是相同的),如下所示:

ip address
Bash

你会看到这样的输出:

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 forever2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:06:9b:34 brd ff:ff:ff:ff:ff:ff
    inet 192.168.201.138/24 brd 192.168.201.255 scope global noprefixroute dynamic ens33
       valid_lft 1249sec preferred_lft 1249sec
    inet6 fe80::743d:d060:ccc9:b196/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

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

在Linux命令行中使用ip addr查看IP地址

就是这样简单。这就是在Linux命令行中显示主机系统IP地址的方式。

4. 在Linux中查看系统IP地址的其他方法

4.1 用hostname命令显示IP地址

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

hostname -I
Bash

它将简单地显示终端主机的IP地址。

192.168.201.138

用hostname命令显示IP地址

4.2 使用nmcli工具显示IP地址

大多数Linux发行版都带有网络管理器工具。这个工具有一个名为nmcli的命令行工具。您可以使用这个nmcli工具查看许多网络配置。

IP地址可以显示为:

nmcli -p device show
Bash

您应该在输出中看到IP地址。

使用nmcli工具显示IP地址

5. ifconfig命令为什么不行了?

实际上,您仍然可以使用ifconfig命令。它出现在net-tools包中。您可以使用系统的包管理器安装它。但是,不鼓励使用网络工具,所以我建议坚持使用ip命令。

在基于ubuntu的发行版中,您可以使用以下命令安装net-tools:

sudo apt install net-tools
Bash

CentOS/RHEL/Fedora系统

yum -y install net-tools
Bash

现在可以使用ifconfig命令查看Linux系统的IP地址。

[root@zcwyou ~]# ifconfig -a
Bash
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.201.138  netmask 255.255.255.0  broadcast 192.168.201.255
        inet6 fe80::743d:d060:ccc9:b196  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:06:9b:34  txqueuelen 1000  (Ethernet)
        RX packets 283  bytes 30572 (29.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 220  bytes 30007 (29.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

以使用ifconfig命令显示系统的IP地址
再一次提醒,ifconfig命令已经被弃用,不应该使用。

6. 额外提示:如何查找服务器的公网IP地址

到目前为止,您看到的是显示系统的私有IP地址。我的意思是如果你使用网络路由器,你很可能在NAT的后面。

系统的IP地址是私有的,仅用于与子网络上的设备通信。您的家庭/工作网络之外的任何设备都无法使用此IP地址找到您。他们现在需要你的路由器的IP地址。您的路由器识别您的设备,并通过私有IP地址通信。

如何获得您的公共IP地址(路由器的IP地址)?您必须使用第三方工具。


这条帮助是否解决了您的问题? 已解决 未解决