核心命令行工具
lsmod
:查看已加载的驱动模块
命令:
lsmod
输出示例:
Module Size Used by
nvidia 35323904 203
iwlmvm 495616 0
...
解读:
Module
:驱动名称(如nvidia
为显卡驱动)。Used by
:依赖该模块的进程或模块数量。
lspci
:查看PCI设备驱动
命令:
lspci -k # -k 显示内核驱动信息
输出示例:
00:14.0 USB controller: Intel Corporation Comet Lake PCH-LP USB 3.1 xHCI Host Controller
Subsystem: Dell Device 1234
Kernel driver in use: xhci_hcd # 当前使用的驱动
适用场景:网卡、显卡、USB控制器等PCI设备驱动排查。
lsusb
:查看USB设备驱动
命令:
lsusb -v | grep -i "driver" # 筛选驱动信息
输出示例:
Driver=usb-storage # U盘、移动硬盘的驱动
modinfo
:获取驱动模块详细信息
命令:
modinfo <驱动名> # 如 modinfo nvidia
关键信息:
filename
:驱动文件路径(如/lib/modules/.../nvidia.ko
)。description
:驱动功能描述。depends
:依赖的其他模块。
dmesg
:查看内核日志中的驱动事件
命令:
dmesg | grep -i "driver\|firmware" # 过滤驱动和固件信息
典型输出:
[ 5.123] iwlwifi 0000:00:14.3: loaded firmware version 46.6bf1df06.0
通过系统文件查看驱动
/proc/modules
:实时模块列表
命令:
cat /proc/modules # 等效于 lsmod,但提供原始数据
/sys
文件系统:设备与驱动的关联
查看设备绑定驱动:
输出示例:
lrwxrwxrwx ... driver -> ../../../../bus/pci/drivers/e1000e
路径解析:
/sys/class/net/
:网卡设备目录。/sys/bus/usb/devices/
:USB设备目录。
图形化工具(可选)
hardinfo
:硬件信息报告工具。sudo apt install hardinfo # Debian/Ubuntu hardinfo # 启动后查看"Modules"栏目
- GNOME 系统监视器:
路径:Applications → System Tools → System Monitor → Resources
方法选择指南
场景 | 推荐工具 |
---|---|
快速查看已加载驱动 | lsmod |
诊断PCI/USB设备问题 | lspci -k / lsusb |
获取驱动详细元数据 | modinfo |
追踪驱动加载错误 | dmesg |
查询设备与驱动的绑定 | /sys 文件系统 |
注意事项
- 权限要求:
lspci
、lsusb
等命令普通用户可执行。- 查看
/sys
或/proc
中的敏感信息需sudo
。
- 驱动未加载?
- 使用
modprobe <驱动名>
手动加载(需root权限)。
- 使用
- 驱动冲突:
- 通过
dmesg
检查内核报错,或用rmmod
卸载冲突模块。
- 通过
掌握Linux驱动查看方法,是系统管理和故障排查的基础技能,对于复杂问题(如自定义驱动编译),建议参考Linux内核官方文档或发行版手册,定期更新系统(sudo apt update && sudo apt upgrade
)可确保驱动兼容性与安全性。
引用说明:
- 命令手册:
man lsmod
,man lspci
,man modinfo
- Linux内核文档:/sys文件系统说明
- 权威指南:《Linux Device Drivers, 3rd Edition》(O’Reilly)
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9527.html