如何查看linux所有模块

Linux所有模块可用lsmod命令列出已加载模块,或通过cat /proc/modules查看详细信息

Linux系统中,查看所有模块(尤其是内核模块)可以通过多种命令实现,以下是详细的操作方法和工具说明:

如何查看linux所有模块

基础命令

  1. lsmod

    • 功能:列出当前已加载的内核模块,包括模块名称、大小、使用次数及依赖关系,这是最常用的快速查看方式。
    • 用法示例:直接输入 lsmod 即可显示全表;若需过滤特定关键词(如搜索含“usb”的模块),可结合管道符与 greplsmod | grep usb
    • 扩展选项:支持排序或格式化输出,lsmod -e 以字节为单位显示大小,lsmod -r 按模块名反向排序。
  2. modinfo <模块名>

    • 功能:获取单个模块的详细信息,如作者、描述、版本、许可证等元数据,适用于深入分析特定模块的属性。
    • 用法示例modinfo e1000 会返回该网卡驱动的完整信息,包括路径(通常位于 /lib/modules/$(uname -r)/kernel/...)。
  3. 读取 /proc/modules 文件

    • 原理:此虚拟文件由系统动态生成,实时反映已加载模块的状态,内容与 lsmod 类似,但可通过文本编辑器进一步处理。
    • 用法示例cat /proc/modules 或重定向到其他工具进行分析,如 grep 过滤。

高级搜索技巧

  1. 基于路径的查找

    如何查看linux所有模块

    • 目标目录结构:所有编译好的模块以 .ko 后缀存储在 /lib/modules/$(uname -r)/ 下,$(uname -r) 代表当前运行的内核版本。
    • 命令实践:使用 find 递归遍历子目录查找符合条件的文件:find /lib/modules/$(uname -r) -name ".ko";或者用 locate 加速全系统检索(需先执行 updatedb 更新数据库):locate my_driver.ko
  2. 正则匹配与模糊查询

    • 场景适配:当不确定完整模块名时,可通过通配符或正则表达式缩小范围,查找所有无线相关驱动:lsmod | grep -E 'wlan|wifi'
  3. 内置模块特殊处理

    • 区别说明:部分模块直接编译进内核而非独立加载,modinfo 会失效,需通过 /sys/module 体系访问参数:ls /sys/module/tcp_cubic/parameters 列出可调优参数,再用 cat 读取具体值如 tcp_friendliness
  4. 设备关联性分析

    • 交叉验证方法:结合 lspci -k 命令查看 PCI 设备的绑定情况,输出中会标注对应的内核模块名称,帮助定位硬件驱动依赖关系。

以下为常用命令对比表格:
| 命令 | 主要用途 | 特点 | 适用场景 |
|——————–|——————————|——————————|————————–|
| lsmod | 列出已加载模块概览 | 简洁高效,支持过滤 | 快速浏览整体状态 |
| modinfo | 单模块详细情报 | 提供开发者级元数据 | 调试特定驱动问题 |
| /proc/modules | 系统级快照 | 程序化读取方便 | 脚本监控或日志记录 |
| find/locate | 磁盘物理位置搜索 | 精准定位 .ko 文件路径 | 手动修改或备份恢复 |
| lspci -k | 设备与驱动映射关系 | 直观展示硬件拓扑 | 排除外设兼容性故障 |

如何查看linux所有模块

FAQs

  1. :为什么某些模块无法通过 modinfo 查询?
    :可能是因为该模块属于内置类型(直接编译进内核),而非动态加载的外部模块,此时应访问 /sys/module/<模块名>/parameters 获取配置参数。

  2. :如何确认某个模块是否正在被使用?
    :观察 lsmod 输出中的 “Used by” 列数值大于零即表示有进程依赖该模块;也可使用 rmmod --dry-run <模块名> 测试能否安全卸载而不中断服务。

通过上述方法组合使用,可以全面掌握Linux系统中内核模块的加载状态、功能特性及关联关系,满足从日常管理到故障

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

(0)
酷盾叔的头像酷盾叔
上一篇 2025年7月26日 19:09
下一篇 2025年7月26日 19:15

相关推荐

  • 如何在Linux离线安装GCC?

    下载GCC源码或对应发行版的离线包(如RPM、DEB)及所有依赖库,上传至目标机器,按顺序手动安装依赖包,最后安装GCC主包,需确保依赖关系完整解决。

    2025年6月14日
    100
  • 如何用光盘换linux系统

    Linux系统安装光盘,将其插入光驱,重启电脑并设置从光盘启动,按照屏幕提示完成分区、设置等操作,即可用光盘更换Linux系统

    2025年7月9日
    000
  • linux如何搭建服务器

    Linux搭建服务器需选云服务器(如华为云)或自建硬件,装系统→配网络→部署服务(如Nginx),设防火墙

    2025年7月19日
    000
  • Linux如何定时自动发送数据

    在Linux中定时发送数据可使用crontab调度任务,结合shell脚本或Python脚本实现,通过管道或程序(如curl/mail)在指定时间自动执行数据发送操作,适用于日志上报、监控报警等场景。

    2025年6月27日
    000
  • Linux Apache如何快速重启?

    在Linux系统中重启Apache服务,主要有两种方式:,1. 使用systemctl命令(适用于systemd系统):sudo systemctl restart apache2 或 sudo systemctl restart httpd,2. 使用service命令(传统方式):sudo service apache2 restart 或 sudo service httpd restart,也可使用apachectl -k restart。

    2025年6月2日
    300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN