程序员 apache 微软 java Firefox linux Windows google Ubuntu centos Android php linux命令 nginx HTML5 开源 Python wordpress mysql shell

Linux系统查看网卡所使用的驱动程序

有些时候你可能想知道某个Linux系统的网卡正在使用什么驱动程序,下面简单介绍下如何解决这个问题。

1. 无论是集成网卡还是独立的网卡,都必须通过某种方式连接到PCI总线上,这样的话,必定有有一个代号,这个代号可以通过下面的命令获得:

lspci | grep Ethernet
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)

最前面的 “02:00.0” 就是设备在PCI总线上的代号,该代号在整个系统中是唯一的。

2. 得到网卡的PCI代号之后,我们就可以在sysfs中查找它的驱动了,命令如下:

# cd /sys/bus/pci/drivers
# find | grep '02:00.0'
./r8169/0000:02:00.0

3. 通过上面的命令,我们可以发现,设备在“r8169”文件夹下,也就是说,网卡的驱动就是r8169

总结一下以上整个过程可以用一个命令实现:

# find /sys/bus/pci/drivers/ | grep $(lspci | grep Ethernet | head -1 | awk '{print $1}') | awk -F/ '{print $6}' 

延伸阅读

  • 抱歉,暂无相关内容!

评论

2条评论

写评论
  • william 回复

    为什么不使用这条命令呢!简单明了
    sudo lspci -vvv | grep -A 30 Ethernet
    Kernel driver in use: XXX 这一项就是当前系统使用的驱动了。

    • Linuxde 回复

      :smile: 当然你这也是一种好的方法。值得推荐!