如何在Linux上使用/ proc获得所有IP接口名称和地址?

问题描述

我知道ls /sys/class/net获取所有可用的IP接口名称,也知道cat /proc/net/fib_trie获取所有IP地址,但是如何在它们之间进行匹配?

我想要的结果是IP接口名称和分配给每个接口名称的IP地址的列表,类似于ifconfig显示的信息,但是可以在任何Linux发行版中使用。

例如:

enp4s0f1  5.6.7.1
enp6s0    2.2.2.1

解决方法

我想要的结果是IP接口名称和分配给每个接口名称的IP地址的列表,类似于ifconfig显示的信息,但是可以在任何Linux发行版中应用。

尝试一下:

ip addr | grep inet | grep -v "inet6"

使用ip系统实用程序。您没有使用/ proc /或/ sys /,但是它可以在带有ip的任何发行版上正常工作,

更新:要使它看起来更容易一点,请使用以下方法:

ip addr | grep inet | grep -v "inet6" | awk '{print $2 " " $8}'