Linux内核模块基础命令

一、内核与内核模块的文件目录

内核文件: /boot/vmlinuz 或 /boot/vmlinuz-version

内核解压缩需要的RAM或Disk: /boot/initramfs 或 /boot/initramfs-version

内核模块: /lib/modules/version/kernel 或 /lib/modules/$(uname -r)/kernel

内核源代码: /usr/src/linux 或 /usr/src/kernel (需要安装)

内核版本: /proc/version

系统内核功能: /proc/sys/kernel

二、内核模块放置目录

放置在 /lib/modules/xxx-version/kernel

arch: 与硬件平台有关的选项,例如CPU的等级等

crypto: 内核所支持的加密技术,例如md5或des等

drivers: 一些硬件的驱动程序,例如显卡、网卡、PCI相关硬件等

fs: 内核所支持的文件系统,例如vfat、reiserfs、nfs等

lib: 一些函数库

net: 与网络相关的各项协议数据,还有防火墙模块(net/ipv4/netfilter/*等)

sound: 与音效有关的各项模块

三、depmod命令与modules.dep文件

modules.dep文件记录了所有内核模块的各项依赖性,存放在 /lib/modules/xxx-version/modules.dep 文件中

其命令

# 命令格式 
depmod [-Ane]

# 相关参数
不加任何选项时: depmod命令会分析目前内核模块,并且重新写入modules.dep 文件中
-A: 加入-A参数,depmode会查找比modules.dep内还要新的模块,只将新的模块写入到modules.dep文件中
-n: 不将内核模块写入modules.dep文件中,而是将结果输出到屏幕上查看
-e: 显示出目前以加载的不可执行的模块名称 

四、lsmod命令

查看目前内核加载了多少模块,包含名称、大小、是否被其他模块所用

五、modinfo命令

modinfo用于查看单一内核模块的相关信息

六、内核模块的加载和删除

insmod命令

格式: insmod 模块完整路径名
示例: insmod /phantom/phantom_module.ko

rmmod命令

格式: rmmod [-fw] 模块名
-f: 强制将该模块删除,不论是否正在被使用
示例: rmmod phantom_module.ko

modprobe命令

格式: modprobe [-cfr] 模块名
-c: 列出目前系统所有的模块
-f: 强制加载该模块
-r: 删除该模块
示例: modprobe phantom_module
注意事项:
modprobe是依据modules.depmodules.dep文件的内容自动加载/删除模块,可以解决依赖性问题
后面的模块名不需要绝对路径

七、dmesg命令

用于查看内核打印的数据

八、strace命令

strace用于跟踪程序执行时进程系统调用(system call)和所接收的信号。strace可跟踪进程产生的系统调用,包括参数、返回值和执行所消耗的时间。

常用命令

# strace command
执行名称为command的命令或程序并跟踪系统调用

# strace -p procid
跟踪ID为procid的进程系统调用情况

# strace -c -p procid
统计ID为procid的进程系统调用次数与用时 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值