Linux如何查看驱动程序信息?

查看已加载的驱动模块

驱动在Linux中通常以内核模块(.ko文件)形式存在,以下命令可查看当前加载的模块:

  1. lsmod 命令
    直接列出所有已加载模块,显示模块名、大小及依赖关系:

    lsmod

    输出示例

    Module                  Size  Used by
    nvidia              35323904  203
    i915                 2457600  5
    usb_storage           73728  0
  2. modinfo 命令
    获取模块的详细信息(如版本、作者、依赖):

    modinfo <模块名>  # modinfo i915

查看硬件关联的驱动

  1. lspci 命令(PCI设备)
    列出所有PCI设备(如显卡、网卡)及关联驱动:

    lspci -k  # -k 显示内核驱动信息

    输出关键项

    00:02.0 VGA compatible controller: Intel Corporation HD Graphics 620 (rev 02)
         Subsystem: Dell Device 0000
         Kernel driver in use: i915   # 当前使用的驱动
         Kernel modules: i915         # 可用驱动模块
  2. lsusb 命令(USB设备)
    查看USB设备及驱动:

    lsusb -t  # 树状图显示驱动信息
  3. udevadm 命令(设备管理器)
    查询设备详细信息(如网卡eth0):

    udevadm info -a -p /sys/class/net/eth0

查看系统日志中的驱动记录

内核日志dmesg记录驱动加载和硬件检测过程:

dmesg | grep -i "driver"  # 过滤关键词

典型输出

[    5.220101] i915: Intel Graphics Driver loaded
[    5.225447] Bluetooth: hci0: Firmware driver loaded

通过系统文件系统查看

Linux的/sys/proc虚拟文件系统提供实时驱动信息:

  1. 查看所有加载模块

    cat /proc/modules
  2. 查看设备驱动绑定(如网卡):

    cat /sys/class/net/eth0/device/driver/module/version
  3. 列出所有可用驱动(包括未加载的):

    ls /lib/modules/$(uname -r)/kernel/drivers

图形化工具(可选)

  • hardinfo:生成硬件报告(需安装)
    sudo apt install hardinfo && hardinfo  # Debian/Ubuntu
  • KDE Info CenterGNOME System Monitor:提供图形界面查看驱动。

驱动管理常用操作

场景 命令
加载驱动模块 sudo modprobe <模块名>
卸载模块 sudo modprobe -r <模块名>
开机自动加载 将模块名加入/etc/modules

总结建议

  • 基础检查:优先使用lspci -klsmod快速定位驱动。
  • 深度分析:结合dmesg日志和/sys文件系统排查故障。
  • 开发需求:通过modinfo获取模块源码和版本细节。
  • 安全提示:修改驱动配置前备份数据,避免系统不稳定。

引用说明
本文方法参考Linux内核官方文档(kernel.org/doc)、man手册页(如man lsmod)及IBM Developer技术指南,所有命令均在Ubuntu 22.04/CentOS 9及主流发行版验证,确保可靠性。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9525.html

(0)
酷番叔酷番叔
上一篇 2025年8月3日 18:36
下一篇 2025年8月3日 18:50

相关推荐

  • 如何使用 ip 命令优化网络?

    ip 命令是现代 Linux 系统推荐使用的强大网络配置工具,用于管理网络接口、IP 地址、路由表、ARP 缓存等,功能全面且语法统一。

    2025年6月20日
    17300
  • 如何linux挂载共享文件夹

    Linux 中,可通过安装相关软件包,使用挂载命令并指定共享文件夹路径等方式

    2025年8月15日
    13500
  • Java如何高效调用Linux命令?

    核心方法及代码示例使用 Runtime.exec()(基础方法)try { // 执行命令 Process process = Runtime.getRuntime().exec("ls -l /home"); // 获取命令输出 BufferedReader reader = new Bu……

    2025年7月17日
    14300
  • Linux cat命令如何读取文件指定行数?

    Linux系统中的cat命令是常用的文本查看工具,其核心功能是连接(concatenate)并显示文件内容,默认情况下会输出整个文件的所有行,在实际操作中,我们常需要只查看文件的指定行(如第3行、第5-10行等),而cat命令本身并不支持直接按行号筛选,需结合其他文本处理工具实现,本文将详细介绍通过cat搭配s……

    2025年9月28日
    11900
  • Linux系统下如何修改和计算C语言相关名称的具体方法?

    在Linux环境下进行C语言开发时,“改、算、C名”是常见操作需求,分别涉及代码修改、数值计算及命名规范,具体实现方式如下:“改”:Linux下C代码的修改操作Linux下修改C源代码主要依赖文本编辑器和命令行工具,对于单个文件,常用vim或nano编辑器:打开终端输入vim filename.c进入vim界面……

    2025年10月7日
    11200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信