lsmod、insmod、modinfo指向相同的文件,功能却不同

如下所示:这三个程序指向了同一个文件,但是功能却不一样

[root@node09 linux-5.16.14]# ll /usr/sbin/modinfo
lrwxrwxrwx. 1 root root 11 Nov  7  2018 /usr/sbin/modinfo -> ../bin/kmod
[root@node09 linux-5.16.14]# ll /usr/sbin/lsmod
lrwxrwxrwx. 1 root root 11 Nov  7  2018 /usr/sbin/lsmod -> ../bin/kmod
[root@node09 linux-5.16.14]# ll /usr/sbin/insmod
lrwxrwxrwx. 1 root root 11 Nov  7  2018 /usr/sbin/insmod -> ../bin/kmod

在 Linux 系统中,lsmodinsmodmodinfo 等工具虽然都指向相同的可执行文件 kmod,但它们的功能不同,这是因为 kmod 是一个多功能的工具包,能够根据调用的命令不同来执行相应的子命令。

这种机制叫做多态二进制程序 (multi-call binary),即通过符号链接(symlink)调用时,kmod 会根据它是被哪个名称调用(如 lsmodinsmodmodinfo)来决定运行哪一个具体的子命令。

具体流程如下:

  1. 你执行 lsmod 时,实际上是执行 kmod lsmod 命令,它会列出当前加载的内核模块。
  2. 当你运行 insmod 时,系统会调用 kmod insmod 命令,负责将模块加载到内核中。
  3. 运行 modinfo 时,kmod modinfo 会展示有关内核模块的详细信息。

因此,尽管它们指向相同的二进制文件 kmod,通过符号链接的不同名字调用,kmod 会执行不同的子命令,提供不同的功能。

相关推荐
轩辰~19 分钟前
网络协议入门
linux·服务器·开发语言·网络·arm开发·c++·网络协议
wanhengidc1 小时前
短视频运营行业该如何选择服务器?
运维·服务器
雨中rain1 小时前
Linux -- 从抢票逻辑理解线程互斥
linux·运维·c++
Bessssss2 小时前
centos日志管理,xiao整理
linux·运维·centos
s_yellowfish2 小时前
Linux服务器pm2 运行chatgpt-on-wechat,搭建微信群ai机器人
linux·服务器·chatgpt
豆是浪个2 小时前
Linux(Centos 7.6)yum源配置
linux·运维·centos
vvw&2 小时前
如何在 Ubuntu 22.04 上安装 Ansible 教程
linux·运维·服务器·ubuntu·开源·ansible·devops
我一定会有钱2 小时前
【linux】NFS实验
linux·服务器
王铁柱子哟-2 小时前
解决 正在下载VS Code 服务器... 问题
运维·服务器
Ven%2 小时前
如何在防火墙上指定ip访问服务器上任何端口呢
linux·服务器·网络·深度学习·tcp/ip