modinfo - 显示关于已装入的内核模块的信息
/usr/sbin/modinfo [-aw] [-c | [-i module] [-pP] [-o field[,...]]]
modinfo 实用程序显示关于已装入的模块的信息。信息格式如下所示:
ID LOADADDR SIZE INFO REV NAMEDESC
其中,ID 是十进制模块 ID,LOADADDR 对于特权用户来说是十六进制的起始文本地址,但对于非特权用户来说是 '--'。SIZE 是以十六进制字节为单位的文本、数据和 bss 的大小,INFO 是特定于模块的信息,REV 是可装入的模块系统的修订版,NAMEDESC 是模块的文件名和说明。
特定于模块的信息包括块和字符主设备号(对于驱动器)、系统调用编号(对于系统调用);对于其他模块类型,没有特定的信息。
支持以下选项:
显示已装入模块的次数以及模块的当前状态。此选项包含 –a,不能与 –i、–o、–p 或 –P 一起使用。
仅显示关于特定模块的信息。如果“模块”以数字开头,则将其解释为十进制模块 ID,否则将其解释为模块名称。十进制模块 ID 在重新引导后可能会更改。
要显示的输出字段的列表,这些字段不区分大小写,并且由逗号分隔。字段名称必须是下面列出的某个字段,或者是可以显示所有字段的特殊值 all。支持以下字段:id、loadaddr、size、info、rev、path、name、desc、namedesc、loadcnt、state 和 all。对于已装入的模块,'path' 将显示内核在装入模块时使用的实际路径。对于未装入的模块,将派生内核要用来装入模块的路径。输出可能与绑定内容不匹配,在系统上添加或删除了软件时会发生这种情况。此类更改可能会导致在下次装入模块时使用不同的路径。如果 modinfo(8) 无法确定从哪里加载模块,它会在路径前输出一个问号。此选项隐式包含 –w。
使用计算机可解析的稳定格式显示。–o 选项需要与此选项一起使用。请参见下文的“可解析的输出格式”。
仅显示路径和标头信息。它是 '-p -o path' 的别名。
显示所有模块(包括当前未装入的模块)的信息。
不在 80 个字符处截断模块信息。
如果输入了多个字段,则输出格式是一行或多行以冒号 (:) 分隔的字段。输出仅包括通过 –o 选项请求的字段,这些字段按请求的顺序排列。当请求多个字段时,将在输出之前使用反斜杠 (\) 对任何文本冒号字符进行转义。类似地,也会对文本反斜杠字符进行转义 (\\)。通过使用 shell read(1) 函数并将环境变量设置为 IFS=:,可以解析这种转义格式。
请注意,当仅请求一个字段时,不会进行转义。
以下示例显示了模块 3 的状态:
example% modinfo -i 3 ID LOADADDR SIZE INFO REV NAMEDESC 3 fffffffffbdcf000 7410 1 1 specfs (filesystem for specfs)
example% modinfo -i specfs ID LOADADDR SIZE INFO REV NAMEDESC 3 fffffffffbdcf000 7410 1 1 specfs (filesystem for specfs)示例 2 显示内核模块的状态
以下示例显示了一些内核模块的状态:
example% modinfo ID LOADADDR SIZE INFO REV NAMEDESC 0 fffffffffb800000 3b3cb4 -- 0 unix () 1 fffffffffb9f8208 43e068 -- 0 genunix () 3 fffffffffbdcf000 7410 1 1 specfs (filesystem for specfs) 4 fffffffffbdd6370 5d80 3 1 fifofs (filesystem for fifo) 5 fffffffff80b4000 267c8 53 1 dtrace (Dynamic Tracing) 6 fffffffffbddc038 9608 16 1 devfs (devices filesystem) 7 fffffffffbde53f0 21830 17 1 dev (/dev filesystem) 8 fffffffffbe064e8 8078 -- 1 dls (Data-Link Services) 9 fffffffffbe0e248 4c908 -- 1 mac (MAC Services) 10 fffffffffbe59968 25c20 5 1 procfs (filesystem for proc)示例 3 使用 –c 选项
将 modinfo 命令与 –c 选项一起使用将显示已装入的模块的实例数和模块的当前状态。
example% modinfo -c ID LOADCNT NAME STATE 0 1 unix LOADED/INSTALLED 1 1 genunix LOADED/INSTALLED 2 0 cl_bootstrap UNLOADED/UNINSTALLED 3 1 specfs LOADED/INSTALLED 4 1 fifofs LOADED/INSTALLED 5 1 dtrace LOADED/INSTALLED 6 1 devfs LOADED/INSTALLED 7 1 dev LOADED/INSTALLED 8 1 dls LOADED/INSTALLED 9 1 mac LOADED/INSTALLED 10 1 procfs LOADED/INSTALLED 11 0 lbl_edition UNLOADED/UNINSTALLED示例 4 使用 –o 和 –p 选项
使用带有 –o 和 –p 选项的 modinfo 命令能以计算机可解析的格式显示用户指定的字段。
example% modinfo -o id,desc,path -i specfs ID DESC PATH 3 filesystem for specfs /kernel/fs/amd64/specfs
example% modinfo -o id,desc,path -i specfs -p 3:filesystem for specfs:/kernel/fs/amd64/specfs
有关下列属性的说明,请参见 attributes(7):
|