怎么查看linux下的模块,很多命令的介绍

作者&投稿:束忽 (若有异议请与网页底部的电邮联系)
linux 什么命令显示所有装载的模块~

运行下面的命令:
$ cat /lib/modules/$(uname -r)/modules.builtin

如果你想要查看内置模块的参数,以及它们的值,你可以在 /sys/module 下检查它们的内容。
在 /sys/module目录下,你可以找到内核模块(包含内置和可加载的)命名的子目录。进入每个模块目录,这里有个“parameters”目录,列出了这个模块所有的参数。
比如你要找出tcp_cubic(内核默认的TCP实现)模块的参数。你可以这么做:
$ ls /sys/module/tcp_cubic/parameters
接着阅读这个文件查看每个参数的值。
$ cat /sys/module/tcp_cubic/parameters/tcp_friendliness

一、找出内置模块列表
  要得到内置模块列表,运行下面的命令。
  $ cat /lib/modules/$(uname -r)/modules.builtin

  你也可以用下面的命令来查看有哪些内置模块:

  二、找出内置模块参数
  每个内核模块无论是内置的还是可加载的都有一系列的参数。对于可加载模块,modinfo命令可以显示它们的参数信息。然而这个命令对内置模块没有用。你会得到下面的错误。
  modinfo: ERROR: Module XXXXXX not found.
  如果你想要查看内置模块的参数,以及它们的值,你可以在 /sys/module 下检查它们的内容。
  在 /sys/module目录下,你可以找到内核模块(包含内置和可加载的)命名的子目录。进入每个模块目录,这里有个“parameters”目录,列出了这个模块所有的参数。
  比如你要找出tcp_cubic(内核默认的TCP实现)模块的参数。你可以这么做:
  $ ls /sys/module/tcp_cubic/parameters
  接着阅读这个文件查看每个参数的值。
  $ cat /sys/module/tcp_cubic/parameters/tcp_friendliness

  以上就是Linux查看内置模块的信息的方法了,这样我们就可以知道Linux安装了哪些内置模块,还可以把没用的模块删除掉,减轻系统的负担。

1、lsmod 列加以挂载的内核模块;
lsmod 是列出目前系统中已加载的模块的名称及大小等;另外我们还可以查看 /proc/modules ,我们一样可以知道系统已经加载的模块;
代码:

[root@localhost beinan]# lsmod
2、modinfo 查看模块信息;
modinfo 可以查看模块的信息,通过查看模块信息来判定这个模块的用途;
代码:

[root@localhost beinan]# moinfo 模块名
举例:
代码:

[root@localhost beinan]# modinfo ne2k-pcifilename: /lib/modules/2.6.11-1.1369_FC4/kernel/drivers/net/ne2k-pci.koauthor: Donald Becker / Paul Gortmakerdescription: PCI NE2000 clone driverlicense: GPLparmtype: debug:intparmtype: options:array of intparmtype: full_duplex:array of intparm: debug:debug level (1-2)parm: options:Bit 5: full duplexparm: full_duplex:full duplex setting(s) (1)vermagic: 2.6.11-1.1369_FC4 686 REGPARM 4KSTACKS gcc-4.0depends: 8390alias: pci:v000010ECd00008029sv*sd*bc*sc*i*alias: pci:v00001050d00000940sv*sd*bc*sc*i*alias: pci:v000011F6d00001401sv*sd*bc*sc*i*alias: pci:v00008E2Ed00003000sv*sd*bc*sc*i*alias: pci:v00004A14d00005000sv*sd*bc*sc*i*alias: pci:v00001106d00000926sv*sd*bc*sc*i*alias: pci:v000010BDd00000E34sv*sd*bc*sc*i*alias: pci:v00001050d00005A5Asv*sd*bc*sc*i*alias: pci:v000012C3d00000058sv*sd*bc*sc*i*alias: pci:v000012C3d00005598sv*sd*bc*sc*i*alias: pci:v00008C4Ad00001980sv*sd*bc*sc*i*srcversion: 6ACE95F441CD26DF9DC31C2
上 面的例子是我们查看 ne2k-pci 这个模块的信息,通过查看,我们知道ne2k-pci 模块是8029网卡(PCI NE2000 clone driver)的驱动;模块是位于 /lib/modules/2.6.11-1.1369_FC4/kernel/drivers/net/ 中ne2k-pci.ko
我们现在常用的网卡也有8139的,8139网卡所用的驱动是 8139too ;查查看?
代码:

[root@localhost beinan]# modinfo 8139too

我们再查查vfat 和ntfs 的模块信息;
代码:

[root@localhost beinan]# modinfo vfat[root@localhost beinan]# modinfo ntfs

自己尝试一下;
注意: 模块名是不能带有后缀的,我们通过modprobe -l 所看到的模块,都是带有.ko 或.o后缀;
3、modprobe 挂载新模块以及新模块相依赖的模块
modprobe 我们常用的功能就是挂载模块,在挂载某个内核模块的同时,这个模块所依赖的模块也被同时挂载;当然modprobe 也有列出内核所有模块,还有移除模块的功能;下在我们举个例子说一说咱们常用的功能和参数;
代码:
modprobe [-v] [-V] [-C config-file] [-n] [-i] [-q] [-o ] [parameters...]
modprobe -r [-n] [-i] [-v] ...
modprobe -l -t [ -a ...]
上面是modprobe 的用法,具体更为详细的帮助,我们可以查看 man modprobe ;
代码:
[root@localhost beinan]# modprobe -c
modprobe -c 可以查看modules 的配置文件,比如模块的别名是什么等;
代码:

[root@localhost beinan]# modprobe -l
modprobe -l 是列出内核中所有的模块,包括已挂载和未挂载的;通过modprobe -l ,我们能查看到我们所需要的模块,然后根据我们的需要来挂载;其实modprobe -l 读取的模块列表就位于 /lib/modules/'uname -r' 目录中;其中uname -r 是内核的版本;
代码:

[root@localhost beinan]# uname -r2.6.11-1.1369_FC4[root@localhost beinan]# ls /lib/modules/2.6.11-1.1369_FC4/
通过上面的命令,自己试试看?
代码:

[root@localhost beinan]# modprobe 模块名 注:挂载一个模块;
举例:
代码:

[root@localhost beinan]# modprobe ne2k-pci 注:挂载 ne2k-pci 模块;[root@localhost beinan]# modprobe vfat 注:挂载vfat 模块[root@localhost beinan]# modprobe ntfs 注:挂载ntfs 模块[root@localhost beinan]# lsmod 注:列出已挂载模块, 我们会看到ne2k-pci ,vfat ,ntfs的模块 ;
注意: 模块名是不能带有后缀的,我们通过modprobe -l 所看到的模块,都是带有.ko 或.o后缀;
代码:

[root@localhost beinan]# modprobe -r 模块名 注:移除已加载的模块,和rmmod 功能相同;
注意:模块名是不能带有后缀的,我们通过modprobe -l 所看到的模块,都是带有.ko 或.o后缀;
代码:

[root@localhost beinan]# modprobe -r 模块名
举例:
代码:

[root@localhost beinan]# modprobe -r ne2k-pci
就说这么多吧,更为详细的还是用 man modprobe 来查看和尝试;

4、rmmod 移除已挂载模块;
命令格式:
代码:
rmmod 模块名
注意: 模块名是不能带有后缀的,我们通过modprobe -l 所看到的模块,都是带有.ko 或.o后缀;
举例:
代码:
[root@localhost beinan]# rmmod vfat 注:移除已挂载的模块vfat
5、depmod 创建模块依赖关系的列表
这 个模块管理工具是创建模块依赖关系的列表,有几个参数我们注意一下就行了,目前的的Linux 发行版所用的内核是2.6x版本,是自动解决依赖关系,所以这个命令知道就行了;模块之前也有依赖关系,比如我们想驱动USB 移动硬盘,目前有两种驱动,一种是udev ,在内核中有,但目前不太稳定;另一种办法是用usb-storage驱动,而usb-storage 依赖的模块是scsi 模块,所以我们要用usb-storage 的模块,也得把scsi 编译安装;
再 举个例子:sata的硬盘,在Linux中的设备表示的是/dev/sd* ,比如 /dev/sda,/dev/sdb 等... 系统要驱动 sata硬盘,则需要把sata在内核中选中,或编译成模块,或内置于内核之中,在此同时,还需要在内核中选中ide ,scsi 的支持等;
depmod 工具的洋文原意:depmod — program to generate modules.dep and map files.(我译的:为modules.dep 文件或映射文件创建依赖关系)
代码:

[root@localhost beinan]# depmod -a 注:为所有列在/etc/modprobe.conf 或/etc/modules.conf 中的所有模块创建依赖关系,并且写入到modules.dep文件;[root@localhost beinan]# depmod -e 注:列出已挂载但不可用的模块;[root@localhost beinan]# depmod -n 注:列出所有模块的依赖关系,但仅仅是输出出来 (Write the dependency file on stdout only)
注:modules.dep 位于 /lib/modules/内核版本 目录
比如 Fedora Core 4.0 中,系统默认的内核:
代码:

[root@localhost beinan]# ls /lib/modules/2.6.11-1.1369_FC4/modules.dep/lib/modules/2.6.11-1.1369_FC4/modules.dep

6、insmod 挂载模块;
insmod 这个工具,和modprobe 有点类似,但功能上没有modprobe 强,modprobe 在挂载模块是不用指定模块文件的路径,也不用带文件的后缀.o 或.ko ;而insmod 需要的是模块的所在目录的绝对路径,并且一定要带有模块文件名后缀的(modulefile.o 或modulesfile.ko );
对于这个工具,我们只是介绍一下, 并不推荐使用。因为模块有依赖关系,对于新手来说,可能不知道这个模块依赖和哪个模块依赖;
举例:
代码:
[root@localhost beinan]# insmod /lib/modules/2.6.11-1.1369_FC4/kernel/drivers/net/tg3.ko
我们要到 /lib/modules/内核版本 uname -r 的命令输出/kernel/drivers 中找相对应的模块才行,要有绝对路径,而且必须要用到文件名的全称,不能把文件名的后缀省略;
四、与内核模块加载相关的配置文件;
1、模块的配置文件 modules.conf 或 modprobe.conf
内 核模块的开机自动挂载模块一般是位于一个配置文件,一般的Linux发行版本都有 /etc/modules.conf 或 /etc/modprobe.conf 。比如Fedora Core 4.0 内核模块开机自动加载文件是 /etc/modprobe.conf ;在这个文件中,一般是写入模块的加载命令或模块的别名的定义等;比如我们在modules.conf 中可能会发行类似的一行 ;
代码:

alias eth0 8139too
而8029的网卡应该是
代码:

alias eth0 ne2k-pci
这样系统启动的时候,首先会modprobe 8139too ,然后再为8139too 指定别名为 eth0,然后我们在登录的时候,用 ifconfig 就会查看到网卡的IP 等情况,当然您得为网卡设置IP 才行;
一 般的情况下,modproe.conf 或modules.conf的内容 是我们用相应的硬件配置工具而生成的;如果您的硬件驱动是没有被内核支持,您自己到硬件的厂商下载而来的驱动。一般的情况下都有安装和帮助文件。他们的驱 动在配置时,他会写入硬件的支持到modules.conf 或modprobe.conf 文件中。
再比如我们的声卡在modules.conf 或modprobe.conf 中也有相应的内容,这是由alsaconf 配置工具生成的,明白了吧;同理网卡在modprobe.conf 或modules.conf中的内容也是由网卡的配置工具而来的。
有些硬件是以内核模块的方式驱动的,模块一旦加载上就能用,也没有什么配置工具,比如vfat 和ntfs 的支持;如果是硬件驱动不以模块的方式支持,而是直接编入内核,也不会用在modprobe.conf 或 modules.conf 中加入什么内容;
如果您有些模块不能开机加载,您想让一些模块加机自动加载,就可以把modprobe 模块 直接写入配置文件;
2、内核模块其它配置文件
内核模块的其它配置文件还是需要了解的,比如 /lib/modules/内核版本目录下的几个文件;了解一下就行;比如:
代码:

[root@localhost beinan]# uname -r2.6.11-1.1369_FC4[root@localhost beinan]# ls /lib/modules/2.6.11-1.1369_FC4/build misc modules.ccwmap modules.ieee1394map modules.isapnpmap modules.symbols sourcekernel modules.alias modules.dep modules.inputmap modules.pcimap modules.usbmap
五、硬件驱动在系统中的目录;
硬件驱动在内核中以模块支持的目录;
硬 件驱动是必须由内核支持的,无论是我们自己安装驱动,还是内核自带的驱动都是如此。硬件驱动如果是以内核模块支持的,驱动目录位于: /lib/modules/内核版本/kernel/目录 或 /lib/modules/内核版本/kernel/drivers 目录中;
代码:

[root@localhost beinan]# uname -r2.6.11-1.1369_FC4[root@localhost beinan]# ls /lib/modules/2.6.11-1.1369_FC4/kernelarch crypto drivers fs lib net sound
注:只有驱动在内核中以模块的方法支持,驱动才位于 /lib/modules/相应的目录;如果是直接置入内核的,不会出现在/lib/modules驱动相关的目录;
六、自己编译驱动的办法;
通 过源码编译驱动一般是./configure ;make;make install ,有时程序不提供./configure ,我们可以make或make install ,或者执行make;make install ;如果不能make install ,则需要我们自己复制.o或者.ko文件到 /lib/modules/内核版本/kernel/目录 或 /lib/modules/内核版本/kernel/drivers 目录中相应的驱动目录;
这个还是自己尝试吧,说也说不清楚,遇到问题后就知道怎么弄了;具体的还是驱动的REAME和INSTALL为准;
现在大多驱动都是在编译安装时,都自动复制.o或.ko 文件到内核模块目录,大多不用我们自己动手复制过去。如果您尝试编译安装声卡驱动 alsa-drivers 就会明白我所说的意思。


Linux系统怎么查看
要查看Linux系统的防火墙端口,首先打开Linux操作系统,不是在桌面的空白处左键点击,而是右键点击,然后在弹出的菜单中选择"打开终端"。这个操作是为了进入Linux的命令行界面,那里是执行系统命令的地方。接下来,你需要输入一个命令来查看端口状态,这个命令是"netstat -anp",输入后按回车键运行。这个命令...

如何查看linux x86和x64
4、file \/sbin\/init或file \/bin\/ls 通过命令file \/sbin\/init或file \/bin\/ls获取系统位数,有32-bit的是32为的,有64-bit的是64位的,如下图。

怎么查看linux系统
很多朋友都在想怎么查看linux系统?下面就来给大家介绍一下吧!怎么查看linux系统1、输入"uname-a",可显示电脑以及操作系统的相关信息。2、输入"cat\/proc\/version",说明正在运行的内核版本。3、输入"cat\/etc\/issue", 显示的是发行版本信息 4、lsb_release-a适用于所有的linux,会显示电脑版本、系统版本...

查看Linux 服务器上有哪些用户
1、首先查看本地的服务器用户,这里Linux系统的用户都是保存在etc\/passwd和etc\/shadow这两个文件,所以直接在终端输入命令“cat \/etc\/passwd|grep -v”,后面的参数是调整输出格式和输出未登录用户的。2、然后在etc\/passwd下也会保存当前的用户信息,可以使用vi命令打开该文件,即可看到所有的用户信息。3...

如何查看linux用户主目录下的文件?
这里分享下查找方法。1、首先在电脑中打开Putty软件,连接上Linux,如下图所示。2、然后在Linux中查看文件内容的方式有两种,一种是使用cat命令,如下图所示。3、在cat命令后面紧跟着文件,看图中示例。4、还有一种是使用vi命令也是可以看到文件内容的,看图中示例,查询成功了。

linux查看用户进程命令linux查看用户进程
1、打开VMware虚拟机,打开终端命令行,通过”su“命令切换到root用户下。;2、输入“psaux“按下回车键,即可显示linux下所有的进程。;3、输入ps-le也可以显示所有的进程,这个是按照优先级来显示。如何查看linux进程?linux下查看进程可以使用的命令:1、ps命令查找与进程相关的PID号:2、psa显示现行...

Linux的系统文件怎么查看?
Linux如何打开文件夹?1、进入到系统之后,双击箭头所指的符号,就可以进入系统根目录了,相当于Windows里面的“我的电脑”。2、点击“Computer”,就可以看见根目录下的文件和文件夹了。3、窗口上方显示的是当前所在的目录位置,可以随时查看自己处于哪个目录中。4、如果使用的是Linux系统的命令行,则方法...

linux怎么查看操作系统版本
2,输入"cat \/proc\/version",说明正在运行的内核版本。3,输入"cat \/etc\/issue", 显示的是发行版本信息 4,lsb_release -a (适用于所有的linux,包括Redhat、SuSE、Debian等发行版,但是在debian下要安装lsb)注意事项 如果不知道命令的意思.可以通过 "man 命令"可以查看它的使用方式.及详细信息....

linux查看有哪些用户命令linux查看有哪些用户
具体操作步骤如下:1、首先查看本地的服务器用户,这里Linux系统的用户都是保存在etc\/passwd和etc\/shadow这两个文件,所以直接在终端输入命令“cat\/etc\/passwd|grep-v”,后面的参数是调整输出格式和输出未登录用户的。2、然后在etc\/passwd下也会保存当前的用户信息,可以使用vi命令打开该文件,即可看到...

linux查看进程的状态linux进程查看状态
1、打开VMware虚拟机,打开终端命令行,通过”su“命令切换到root用户下。;2、输入“psaux“按下回车键,即可显示linux下所有的进程。;3、输入ps-le也可以显示所有的进程,这个是按照优先级来显示。linux怎么查看某个进程执行的文件路径?linux下进程运行后,进程信息存储在\/proc\/进程id目录下面,进程id...

山阳县13415312430: 如何查看linux系统中的所有的命令 -
刀茗元坦: 可以使用whoami. 具体参考如下:命 令:whoami 或者 who am i 功能说明:显示用户名称. 语法:whoami [--help][--version]补充说明:显示自身的用户名称,本指令相当于执行"id -un"指令. whoami 命令显示登录名.与使用命令 who 并...

山阳县13415312430: 怎么查看linux安装的驱动模块 -
刀茗元坦: 在linux可以查看当前已经安装的驱动的命令 lsmod 使用lsmod命令就可以查看当前已经安装的驱动. 如果模块安装的太多,可以在输出的驱动列表中使用grep命令查找是否有需要查询的命令 如 lsmod|grep "helllo" 查询hello驱动是否安装,若安装过了就...

山阳县13415312430: 如何找出Linux系统中内置模块的信息 -
刀茗元坦: 1: 查看已加载模块使用lsmod命令可以进行查看. 2: modinfo功能说明:显示kernel模块的信息. 语法:modinfo [-0] [-F field] [modulename|filename ...] modinfo -Vmodinfo -h补充说明:modinfo会显示kernel模块的对象文件,以显示该模块的相关信息. 参数:-F field 只打印指定的区域的信息. -a 显示模块作者名称. -d 显示模块的说明. -l 显示模块的授权. -n 显示模块的详细路径及名称. -p 显示模块所支持的参数. -h 显示帮助信息. -V或--version 显示版本信息. 详细参考帮助信息.

山阳县13415312430: linux 怎么查看内核里加载的模块 -
刀茗元坦: 一、找出内置模块列表要得到内置模块列表,运行下面的命令.$ cat /lib/modules/$(uname -r)/modules.builtin你也可以用下面的命令来查看有哪些内置模块:

山阳县13415312430: 请问有没有什么方法可以查看linux的/bin目录下一些命令的代码啊,例如rm,cd的? -
刀茗元坦: 你可以看下binutils,http://www.gnu.org/software/binutils/ 很多安装在/bin下的工具程序都是属于这个包的,如/bin/ls 当然,也有些工具程序是内嵌在你的shell里的,比如cd工具,你可以看下你对应shell的source

山阳县13415312430: 如何查看linux安装了哪些模块 -
刀茗元坦: 执行 /PHP安装路径/php -m 可以看到 php 已安装并且成功加载的扩展模块. 另外一种方式就是 通过 phpinfo(); 看.

山阳县13415312430: 如何查看linux命令源代码 -
刀茗元坦: 用linux一段时间了,有时候想看看ls、cat、more等命令的源代码,在下载的内核源码中用cscope没能找到,在网上搜索了一下,将方 法总结如下:以搜索ls命令源码为例,先搜索命令所在包,命令如下:lpj@lpj-linux:~$ which ls /bin/ls用命令搜...

山阳县13415312430: 请写出在linux系统中查看CPU的信息,PCI的信息和内核模块信息的命令? -
刀茗元坦: 1)、查看CPU的信息: more /proc/cpuinfo 查看PCI设备的信息: lspci 查看内核模块的信息:more /proc/modules 2)、内核定制有四种方式: 文本交互方式: make config 文本窗口交互方式:make menuconfig 图形窗口交互方式: ...

山阳县13415312430: 查看Linux下的系统负载命令? -
刀茗元坦: CPU:uptime 内存:vmstat free 硬盘:iostat sar命令可以看好多东西...从网上自己搜下用法

山阳县13415312430: 如何用命令查看linux命令的使用方法 -
刀茗元坦: 可以使用man命令查看Linux其他命令的使用帮助,其实man命令列出的帮助应该叫做使用手册,因为man是manual单词的简写,意为手册页.man命令的用法是:输入man 其他命令名字,显示手册页内容后,有几个按键可用,键盘上的空格键和PageDown键可以向下翻一页,PageUp键可以向上翻一页,Home键可以回到最上面一页,End键可以到最下面一页,英文斜杠加字符串可以进行字符串查找(比如/hello,查找hello),按小写的n向上查找,按大写的N键(shift+n)向下查找,按下键盘上的Q键退出man界面.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网