Answers:
您可以使用lshw查看计算机上的所有设备。要仅查看网络设备,请输入:
lshw -class network
对于以太网:
ls -d /sys/class/net/eth* | wc -l
$ ls -l /sys/class/net/ | grep -v virtual
。它将所有虚拟网络接口过滤掉。在虚拟盒子中运行的ubuntu上工作。
find /sys/class/net -type l -not -lname '*virtual*' -printf '%f\n'
仅显示与物理NIC相关的接口。
试图找到一个type
选项ip link show
将显示非逻辑,但可惜:
ip link help 2>&1 | grep -A10 'TYPE :='
TYPE := { vlan | veth | vcan | dummy | ifb | macvlan | macvtap |
bridge | bond | ipoib | ip6tnl | ipip | sit | vxlan |
gre | gretap | ip6gre | ip6gretap | vti | nlmon |
bond_slave | ipvlan | geneve | bridge_slave | vrf }
这似乎是一件事,ip link show
不能做。至少并非没有求助于脚本的脚本,该脚本首先列出了以上每个脚本,然后grep -v
对未type
指定的最终运行进行了处理。
ip link
应该可以处理。如果使用大量虚拟接口(例如桥接或VLAN),尤其是这些虚拟接口已重命名。
/proc/net/dev
该文件包含所有接口的详细信息。例如
$ cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 3562 60 0 0 0 0 0 0 3562 60 0 0 0 0 0 0
wlan0: 2491781197 2034240 0 0 0 0 0 0 261797069 1502752 0 0 0 0 0 0
eth0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
如您所见,当您cat
使用文件时,许多列和详细信息都不太容易阅读,因此我建议使用ifconfig
命令读取该文件并很好地格式化输出。
要列出所有接口,请使用
/sbin/ifconfig -a
从中读取的内容将显示未配置/关闭的网络接口以及已配置和活动的网络接口/proc/net/dev