怎么查看linux网卡位置
怎么查看linux网卡位置详细介绍
在 Linux 系统中,查看网卡的硬件位置(如 PCI/PCI-E 插槽位置或 USB 总线位置)可以通过以下步骤实现:
一、确定网卡名称
首先需要知道目标网卡的名称(如 eth0、enp3s0、wlan0 等),可通过以下命令列出所有网络接口:
bash
addr show
找到需要查询的网卡名称(例如 enp3s0)。
二、查看网卡硬件位置(PCI/PCI-E 设备)
如果网卡是 PCI/PCI-E 接口(常见于台式机、服务器),使用以下方法:
1.
通过 ethtool 命令(推荐)
ethtool 可直接显示网卡的总线信息(如 PCI 设备位置):
bash
网卡名称enp3s0
输出中 bus-info 字段即为硬件位置,格式为 pci-domain:bus:device.function,例如:
plaintext
driver: e1000eversion: 3.2.6-k
firmware-version: 0.7-3
bus-info: 0000:03:00.0 # 重点关注这一行
其中 0000:03:00.0 表示:
0000:PCI 域(Domain,通常为 0)03:总线号(Bus)00:设备号(Device)0:功能号(Function)
2.
通过 lspci 命令
lspci 可列出所有 PCI 设备,并匹配网卡对应的条目:
bash
lspci
或直接通过网卡的总线信息定位(结合 ethtool 输出的 bus-info):
bash
lspci 0000:03:00.0
输出示例:
plaintext
03:00.0 Ethernet controller [0200]: Intel Corporation I210 Gigabit Network Connection [8086:1539] (rev 03)
其中开头的 03:00.0 即硬件位置。
3.
通过 sysfs 文件系统
Linux 将硬件信息映射到 /sys 目录,可通过以下路径查看:
bash
/sys/class/net/网卡名称/device/sys/class/net/enp3s0/device
lrwxrwxrwx root root May :00 /sys/class/net/enp3s0/device - ////0000:03:00.0
这里的 0000:03:00.0 即为 PCI 设备位置。
三、查看 USB 网卡位置(USB 设备)
如果是 USB 接口的网卡,使用 lsusb 命令:
bash
lsusb
输出示例:
plaintext
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000MPort 1: Dev 2, If 0, Class=Network, Driver=r8152, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
Port 2: Dev 2, If 0, Class=Network, Driver=asix, 480M # USB 网卡位置
其中 Bus 01.Port 2 表示 USB 总线号和端口号,即网卡的物理连接位置。
四、总结
- PCI/PCI-E 网卡:
- 首选
ethtool -i <网卡名>获取bus-info。 - 或通过
lspci搜索网卡设备,查看开头的XX:XX.X格式位置。
- 首选
- USB 网卡:
使用lsusb -t查看总线和端口号(如Bus 01.Port 2)。
通过以上方法,可快速定位网卡的硬件连接位置(PCI 总线位置或 USB 端口位置)。