如何列出所有物理安装的网卡(Debian)?

我的“专用服务器”应该有两个网卡安装,但我只能find一个。

我的问题:还有哪些其他命令和方法可用来testing我的服务器上安装了多less个网卡

lspci | grep Ethernet 

还有其他的命令/方法吗?

您可以使用lshw查看机器上的所有设备。 要仅查看networking设备,请input:

 lshw -class network 

对于以太网:

 ls -d /sys/class/net/eth* | wc -l 

ip link show将列出所有看起来像networking接口。

/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文件时,许多列和细节不是很容易阅读,所以我build议使用ifconfig命令来读取文件和格式输出很好。

列出所有使用的接口

/sbin/ifconfig -a

它会向您显示未configuration/断开networking接口以及configuration和活动networking接口 ,如从/proc/net/dev读取

 find /sys/class/net -type l -not -lname '*virtual*' -printf '%f\n' 

只显示与物理NIC相关的接口。

试图find一个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不能做的一件事情。 至less不是不借助脚本来首先列出每个上面的脚本,然后对没有指定type的最终运行执行grep -v

 modprobe -c |grep 'eth[0-9]' 

显示每个以太网设备使用的真实设备驱动程序