内核模块管理命令
作者:互联网
1、insmod命令
在Linux系统下,insmod命令用于将给定的模块加载到内核中去,Linux系统有许多功能是通过模块的方式,在需要时才载入kernel,这样做可以使kernel较为精简,进而提高效率,这类可载入的模块,通常是设备驱动程序。
(1)命令语法
insmod(选项)(参数)
(2)常用选项说明
-f:不检查目前kernel版本与模块编译时的kernel版本是否一致,强制将模块载入。
-k:将模块设置为自动卸载。
-m:输出模块的载入信息。
-o<模块名称>:指定模块的名称,可使用模块文件的文件名。
-p:测试模块是否能正确载入到kernel。
-s:将所有信息记录在系统记录文件中。
-v:执行时显示详细的信息。
-x:不要汇出模块的外部符号。
-X:汇出模块所有的外部符号
(3)参数
内核模块:指定要加载的内核模块文件
(4)实例
加载一个简单的hello.ko内核模块,并查看加载结果:
# insmod hello.ko # lsmod | grep “hello”
运行结果如下所示:
2、rmmod命令
在Linux系统下,rmmod命令用于从当前运行的内核中移除指定的内核模块,执行rmmod命令,可删除不需要的模块。
(1)命令语法
rmmod(选项)(参数)
(2)常用选项说明
-v:显示指令执行的详细信息。
-f:强制移除模块,该选项比较危险。
-w:等待着,直到模块能够被移除时再移除模块。
-s:向系统日志(syslog)发送错误信息。
(3)参数
模块名称:要移除的模块的名称
(4)实例
将hello内核模块进行移除:
# lsmod | grep “hello” # rmmod hello # lsmod | grep “hello”
运行结果如下所示:
3、lsmod命令
在Linux系统下,lsmod命令用于显示已经加载到内核中的模块的状态信息,运行lsmod命令后会列出所有已经载入系统的模块。
(1)语法
lsmod
(2)实例
查看当前系统已经载入的模块:
# lsmod
运行结果如下:
在上面显示的结果中:
第一列:表示模块的名称;
第二列:表示模块的大小;
第三列:表示依赖模块的个数;
第四列:表示依赖模块的内容。
4、modinfo命令
在Linux系统下,可以使用modinfo命令显示给定模块的详细信息。
(1)语法
modinfo(选项)(参数)
(2)常用选项说明
-a:显示模块的作者。
-d:显示模块的描述信息。
-l:显示模块的许可证信息。
-p:显示模块的参数信息。
-n:显示模块对应的文字信息。
(3)参数
模块名:要显示详细信息的模块名称。
(4)实例
显示hello.ko模块的信息:
# modinfo hello.ko
运行结果如下所示:
4、modprobe命令
Linux系统下,modprobe命令用于智能地向内核中加载模块或者从内核中移除模块。
(1)语法
modprobe(选项)(参数)
(2)常用选项说明
-a或--all:载入全部的模块。
-c或--show-conf:显示所有模块的设置信息。
-d或--debug:使用排错模式。
-r或--remove:当模块闲置不用时,即自动卸载模块。
-v或--verbose:执行时显示详细信息。
-V或--version:显示版本信息。
-help:显示命令帮助信息。
(3)参数
模块名:要加载或移除的模块名称。
(4)实例
加载hello.ko模块:
先将要加载的模块拷贝到/lib/modules/“uname -r”目录下,uname –r表示内核版本号
# cp hello.ko /lib/modules/“uname -r” # depmod # modprobe hello.ko # lsmod | grep “hello” # modprobe -r hello # lsmod | grep hello
运行结果如下所示:
标签:lsmod,管理,命令,模块,移除,加载,hello,内核模块 来源: https://www.cnblogs.com/Cqlismy/p/11363043.html