🧭 说明
get_module命令用于显示Linux内核模块的详细内部信息,例如其状态、引用计数、参数以及内存中的节区(Sections)地址等。下面是一个快速用法指南。
🔍 命令语法与示例
命令的基本语法非常简单:
get_module 模块名例如,要查看名为ipv6的模块信息,可以运行:
get_module ipv6典型输出如下:
initstate : live refcnt : 15 srcversion : 8CC9C024755B4483E56C0EF Parameters: autoconf : 1 disable : 0 disable_ipv6 : 0 Sections: .gnu.linkonce.this_module : 0xffffffffc03d0e00 .text : 0xffffffffc03ac000 ... (其他节区地址信息)输出中的initstate表示模块当前状态(如live表示已加载),refcnt显示模块被引用次数,Parameters部分列出了模块的可调整参数 。
📥 安装命令
需要注意的是,get_module命令并非默认预装。在基于RPM的系统(如CentOS、Fedora)上,可以通过安装sysfsutils软件包来获取它 :
sudoyuminstallsysfsutils# 适用于CentOS/RHEL# 或者sudodnfinstallsysfsutils# 适用于Fedora⚠️ 重要注意事项
- 信息用途:此命令显示的是内核模块的底层详细信息,主要适用于内核开发和驱动调试等高级场景。
- 模块名:使用该命令时,需要提供的是内核模块的名称(如
ipv6),而不是文件名(如ipv6.ko)。可以先使用lsmod命令查看所有已加载模块的准确名称 。
🔄 相关命令对比
为了更好地进行内核模块管理,了解其他相关命令会更有帮助。下面的表格对比了常用模块管理工具:
| 命令 | 主要用途 | 与get_module的区别 |
|---|---|---|
lsmod | 快速列出所有已加载的模块(名称、大小、被谁使用)。 | 提供模块列表和基础状态,信息概览性更强 。 |
modinfo | 显示模块文件的详细信息,如文件名、描述、许可证、依赖项和参数。 | 更常用。查询的是模块文件本身的元数据,而get_module查询的是模块在内核运行时的动态信息 。 |
modprobe/insmod | 智能加载/加载模块。 | 用于操作模块,而非查看信息 。 |
rmmod | 卸载模块。 | 用于操作模块,而非查看信息 。 |
💎 总结
总而言之,get_module是用于获取已加载内核模块详细运行时信息的高级工具。对于大多数日常查看模块信息的需求,lsmod和modinfo是更直接和常用的选择。