insmod rmmod modprobe用法和区别

模块加载(insmod/modprobe)

insmodmodprobe都是用于加载Linux内核模块的工具,但它们在使用方式和功能上有一些区别。

  1. insmod命令:

    • 功能:insmod命令用于手动加载指定的内核模块到运行中的内核中。
    • 用法:insmod <module_name>
    • 示例:insmod my_module.ko
  2. modprobe命令:

    • 功能:modprobe命令用于自动加载指定的内核模块及其相关的依赖模块。
    • 用法:modprobe <module_name>
    • 示例:modprobe my_module

主要区别:

  • insmod只负责加载指定的内核模块,不会自动解决依赖关系。
  • modprobe会自动加载指定的内核模块,并递归解析和加载其所依赖的其他模块。
  • modprobe还提供了更多的选项和功能,如自动处理模块参数、自动加载符号表等。

一般情况下,建议使用modprobe命令来加载内核模块,因为它可以自动解决模块之间的依赖关系,提供更方便的功能。但在某些特定情况下,如果需要手动加载特定的模块而不关心依赖关系,则可以使用insmod命令。

模块卸载(rmmod)

rmmod命令:

含义:rmmod命令用于从正在运行的内核中卸载指定的内核模块。
用法:rmmod <module_name>
示例:rmmod my_module
说明:rmmod命令用于卸载不再需要的内核模块,它会从内核中移除相应的模块并释放相关资源。

区别

insmod和rmmod是较底层的命令,需要手动指定要加载或卸载的模块文件名。
modprobe是一个更高级的命令,它能自动处理模块的依赖关系,可以根据模块名称自动加载相关的模块。
modprobe还提供了更多的选项和功能,使模块管理更加便捷和灵活。
一般情况下,建议使用modprobe命令来加载和卸载内核模块,因为它可以自动解决模块之间的依赖关系,提供更方便的功能。而insmod和rmmod命令更适合在特定情况下手动加载和卸载模块。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目前,Linux软件工程师大致可分为两个层次:   (1)Linux应用软件工程师(Application Software Engineer):主要利用C库函数和Linux API进行应用软件的编写;   (2)Linux固件工程师(Firmware Engineer):主要进行Bootloader、Linux的移植及Linux设备驱动程序的设计。   一般而言,固件工程师的要求要高于应用软件工程师的层次,而其中的Linux设备驱动编程又是Linux程序设计中比较复杂的部分,究其原因,主要包括如下几个方面:   (1)设备驱动属于Linux内核的部分,编写Linux设备驱动需要有一定的Linux操作系统内核基础;   (2)编写Linux设备驱动需要对硬件的原理有相当的了解,大多数情况下我们是针对一个特定的嵌入式硬件平台编写驱动的;   (3)Linux设备驱动中广泛涉及到多进程并发的同步、互斥等控制,容易出现bug;   (4)由于属于内核的一部分,Linux设备驱动的调试也相当复杂。 深入浅出Linux设备驱动编程之内核模块  Linux设备驱动属于内核的一部分,Linux内核的一个模块可以以两种方式被编译和加载:   (1)直接编译进Linux内核,随同Linux启动时加载;   (2)编译成一个可加载和删除的模块,使用insmod加载(modprobe和insmod命令类似,但依赖于相关的配置文件),rmmod删除。这种方式控制了内核的大小,而模块一旦被插入内核,它就和内核其他部分一样。
linux命令大全,中文版本 Linux命令大全(修改版) 进行重新编译的说明 文件传输 bye ftp ftpcount ftpshut ftpwho ncftp tftp uucico uucp uupick uuto 备份压缩 ar bunzip2 bzip2 bzip2recover compress cpio dump gunzip gzexe gzip lha restore tar unarj unzip zip zipinfo 文件管理 diff diffstat file find git gitview ln locate lsattr mattrib mc mcopy mdel mdir mktemp mmove mread mren mshowfat mtools mtoolstest mv od paste patch rcp rhmask rm slocate split tee tmpwatch touch umask whereis which cat chattr chgrp chmod chown cksum cmp cp cut indent 磁盘管理 cd df dirs du edquota eject lndir ls mcd mdeltree mdu mkdir mlabel mmd mmount mrd mzip pwd quota quotacheck quotaoff quotaon repquota rmdir rmt stat tree umount 磁盘维护 badblocks cfdisk dd e2fsck ext2ed fdisk fsck.ext2 fsck fsck.minix fsconf hdparm losetup mbadblocks mformat mkbootdisk mkdosfs mke2fs mkfs.ext2 mkfs mkfs.minix mkfs.msdos mkinitrd mkisofs mkswap mpartition sfdisk swapoff swapon symlinks sync 系统设置 alias apmd aumix bind chkconfig chroot clock crontab declare depmod dircolors dmesg enable eval export fbset grpconv grpunconv hwclock insmod kbdconfig lilo liloconfig lsmod minfo mkkickstart modinfo modprobe mouseconfig ntsysv passwd pwconv pwunconv rdate resize rmmod rpm set setconsole setenv setup sndconfig SVGAText Mode timeconfig ulimit unalias unset 系统管理 adduser chfn chsh date exit finger free fwhois gitps groupdel groupmod halt id kill last lastb login logname logout logrotate newgrp nice procinfo ps pstree reboot renice rlogin rsh rwho screen shutdown sliplogin su sudo suspend swatch tload top uname useradd userconf userdel usermod vlock w who whoami whois 文档编辑 col colrm comm csplit ed egrep ex fgrep fmt fold grep ispell jed joe join look mtype pico rgrep sed sort spell tr uniq wc 网络通讯 dip getty mingetty ppp-off smbd(samba daemon) telnet uulog uustat uux cu dnsconf efax httpd ifconfig mesg minicom nc netconf netconfig netstat ping pppstats samba setserial shapecfg(shaper configuration) smbd(samba daemon) statserial(status ofserial port) talk tcpdump testparm(te

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值