Linux内核显示、加载、卸载等超实用命令

内核模块是 Linux 系统中一种特殊的可执行文件,它可以在运行时动态地加载到内核中或卸载出内核,从而实现内核的扩展和优化。内核模块操作相关的命令主要有以下几种:

1.lsmod命令

列出当前已加载的内核模块及其依赖关系和使用情况。

复制代码
[root@localhost ~]# lsmod | grep tap
tap                    24576  0

2.insmod命令

将指定的内核模块加载到内核中,需要提供完整的模块文件路径。例如将一个名为 hello.ko 的内核模块加载到内核中,可以使用以下命令:

复制代码
[root@localhost ~]# insmod /path/to/hello.ko

其中/path/to 是模块文件所在的目录。如果加载成功,没有输出信息;如果加载失败,会输出错误信息。

「注意」 insmod主要用内核版本在2.4之前的Linux系统加载内核模块。对于通过此命令加载的Linux内核模块,系统不会自动解决内核模块之间的依赖关系,而且还要求填写详细的模块路径。所以在Linux 2.6内核出现时,此命令已渐渐被遗弃。

3.rmmod命令

将指定的内核模块卸载出内核,需要提供模块名称。例如想将一个名为 hello 的内核模块卸载出内核,可以使用以下命令:

复制代码
[root@localhost ~]# rmmod hello

如果卸载成功,没有输出信息;如果卸载失败,会输出错误信息。

4.modprobe命令

根据模块名称自动加载或卸载内核模块及其依赖的其他模块:

复制代码
[root@localhost ~]# modprobe tap
  • -f选项强制加载或卸载。
  • -r选项卸载模块,等同于rmmod tap

5.depmod命令

生成模块依赖关系文件,这个命令通常不需要手动运行,而是安装新的内核或模块时自动运行。

复制代码
[root@localhost ~]# depmod -a

6.modinfo命令

显示指定的内核模块的信息,包括版本、作者、描述、参数、别名等。

复制代码
[root@localhost ~]# modinfo tap
filename:       /lib/modules/5.11.0-27-generic/kernel/drivers/net/tap.ko
license:        GPL
author:         Sainath Grandhi <sainath.grandhi@intel.com>
author:         Arnd Bergmann <arnd@arndb.de>
srcversion:     0F700DF21F8BDF5D1FACAA6
......
相关推荐
70asunflower5 分钟前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
聆风吟º30 分钟前
CANN开源项目实战指南:使用oam-tools构建自动化故障诊断与运维可观测性体系
运维·开源·自动化·cann
神梦流34 分钟前
ops-math 算子库的扩展能力:高精度与复数运算的硬件映射策略
服务器·数据库
NPE~39 分钟前
自动化工具Drissonpage 保姆级教程(含xpath语法)
运维·后端·爬虫·自动化·网络爬虫·xpath·浏览器自动化
神梦流1 小时前
GE 引擎的内存优化终局:静态生命周期分析指导下的内存分配与复用策略
linux·运维·服务器
凡人叶枫1 小时前
C++中输入、输出和文件操作详解(Linux实战版)| 从基础到项目落地,避坑指南
linux·服务器·c语言·开发语言·c++
wdfk_prog1 小时前
[Linux]学习笔记系列 -- [drivers][input]serio
linux·笔记·学习
xuhe21 小时前
[全流程详细教程]Docker部署ClawBot, 使用GLM4.7, 接入TG Bot实现私人助理. 解决Docker Openclaw Permission Denied问题
linux·docker·ai·github·tldr
Lsir10110_1 小时前
【Linux】进程信号(下半)
linux·运维·服务器
skywalk81632 小时前
unbound dns解析出现问题,寻求解决之道
运维·服务器·dns·unbound