在使用 Ubuntu 或其他 Linux 发行版时,你可能会遇到需要了解当前系统中加载了哪些内核模块的情况。这时候,lsmod 命令就派上用场了。本文将手把手教你如何使用 lsmod 命令,即使是 Linux 新手也能轻松掌握!
什么是内核模块?
Linux 内核是操作系统的核心部分,负责管理硬件、内存、进程等关键资源。为了提高灵活性和效率,Linux 支持“可加载内核模块”(Loadable Kernel Modules, LKMs)。这些模块可以在系统运行时动态加载或卸载,无需重启系统。例如,当你插入一个 USB 设备时,系统可能自动加载对应的驱动模块。
lsmod 命令的作用
lsmod 是 “list modules” 的缩写,用于列出当前 Linux 内核中已加载的所有模块。它读取 /proc/modules
文件并以人类可读的方式展示结果。
如何使用 lsmod 命令?
在 Ubuntu 终端中,只需输入以下命令即可:
执行后,你会看到类似如下的输出: 输出包含三列信息: 由于系统通常加载了上百个模块,直接查看全部内容可能不太方便。你可以使用 或者查找 NVIDIA 显卡驱动模块: 除了 注意: Q:lsmod 显示的模块能删除吗? A:只有未被使用的模块(Used by 列为 0)才能安全卸载。强行卸载正在使用的模块可能导致系统崩溃。 Q:为什么有些驱动看不到? A:某些驱动可能已编译进内核(而非作为模块加载),因此不会出现在 lsmod Module Size Used bynvidia_uvm 1234567 0snd_hda_codec_realtek 123456 1i915 2345678 4...(省略更多模块) 结合 grep 过滤特定模块
grep
命令来搜索特定模块。例如,查找与无线网卡相关的模块:lsmod | grep wifi lsmod | grep nvidia 与其他模块管理命令配合使用
lsmod
,还有几个常用命令可以配合使用:modinfo 模块名:查看模块的详细信息(如作者、版本、参数等) insmod 模块名.ko:手动加载模块(需 root 权限) rmmod 模块名:卸载模块(需 root 权限) insmod
和 rmmod
通常不推荐直接使用,建议使用更智能的 modprobe
命令,它能自动处理依赖关系。常见问题解答
lsmod
输出中。
总结
lsmod是一个简单但强大的工具,帮助你了解 Ubuntu 系统当前加载了哪些 Linux内核模块。通过它,你可以诊断硬件驱动问题、排查系统性能瓶颈,甚至学习内核工作机制。掌握这个命令,是迈向 Linux 系统管理的重要一步。
希望这篇教程让你对 Ubuntu lsmod命令 有了清晰的认识。如果你正在学习 系统管理命令,不妨多尝试结合
grep、
modinfo等工具,提升你的 查看已加载模块 效率!
