头图

在以前的Linux系统版本中,我们一直使用' ifconfig '命令查看ip地址等信息。但是“ifconfig”已经不再被维护,并在近几年的Linux版本中已经被弃用。
ifconfig命令已被ip命令替换。ip命令有点类似于ifconfig命令,但它更强大,附加了更多的功能。ip命令可以执行一些网络相关的任务,是ifconfig不能操作的。

查看网络接口信息
要查看网络接口信息,例如IP地址,子网等,请使用“ ip addr show”命令:

bob@ubuntu-20-04:~$ ip addr show
Linux中ip命令的使用实例Linux中ip命令的使用实例
这会显示系统上所有网络接口的信息,但是如果我们要查看单个网卡信息,以下我们要查看ens33接口的ip信息,可以使用以下命令:

bob@ubuntu-20-04:~$ ip addr show ens33
Linux中ip命令的使用实例Linux中ip命令的使用实例

启用或者禁用网络接口
我们可以使用ip命令启用或禁用网络接口,示例如下所示:

bob@ubuntu-20-04:~$ sudo ip link set ens33 down
Linux中ip命令的使用实例Linux中ip命令的使用实例
可以看到ens33接口的状态变成DOWN了。

我们再启用该网络接口:

bob@ubuntu-20-04:~$ sudo ip link set ens33 up
Linux中ip命令的使用实例Linux中ip命令的使用实例

为接口设置临时的IP地址
要分配IP地址以使用ip命令进行接口,我们将使用以下方法:

bob@ubuntu-20-04:~$ sudo ip addr add 192.168.43.175/255.255.255.0 dev ens33
Linux中ip命令的使用实例Linux中ip命令的使用实例
可以看到ens33接口添加了一个新的ip地址。

从网络接口中删除ip地址
如果要从接口中删除分配的IP,可以使用下面方法:

bob@ubuntu-20-04:~$ sudo ip addr del 192.168.43.175/24 dev ens33
Linux中ip命令的使用实例Linux中ip命令的使用实例

查看路由和默认网关信息
查看路由信息会向我们显示数据包到达目的地所要经过的路由。要检查网络路由信息,请执行以下ip命令:

bob@ubuntu-20-04:~$ ip route show
default via 192.168.43.2 dev ens33 proto dhcp metric 100
169.254.0.0/16 dev ens33 scope link metric 1000
192.168.43.0/24 dev ens33 proto kernel scope link src 192.168.43.174 metric 100
Linux中ip命令的使用实例Linux中ip命令的使用实例
在上面的输出中,我们将看到所有网络接口的路由信息。我们还可以使用以下方式获取到特定ip的路由信息:

bob@ubuntu-20-04:~$ ip route get to 192.168.43.2
Linux中ip命令的使用实例Linux中ip命令的使用实例

查看arp条目
ARP是“地址解析协议”的缩写,用于将IP地址转换为MAC地址,并且所有IP及其对应的MAC详细信息都存储在称为ARP缓存的表中。要查看ARP缓存中的条目可以使用以下命令:

bob@ubuntu-20-04:~$ ip neigh
Linux中ip命令的使用实例Linux中ip命令的使用实例

查看网络统计
使用ip命令,我们还可以查看所有网络接口的网络统计信息,例如传输的字节和数据包,错误或丢失的数据包等。要查看网络统计信息,可以使用ip -s link命令:

bob@ubuntu-20-04:~$ ip -s link
Linux中ip命令的使用实例Linux中ip命令的使用实例

总结
如果要查找上述示例中未列出的选项,可以使用man ip查看详细的帮助。


刘遄
25 声望17 粉丝

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。