—insmod:用于动态加载模块的驱动ko文件,建议使用modprobe;

参数:

-f:强制将模块加载到内核中。

-s:安静模式,降低输出的信息。

-v:详尽模式,列举加载过程中的详尽信息。

-s:把信息输出至syslog常驻服务,而非终端机界面。

参数:须要driver代码中定义相关的变量

事例:

sudoinsmod-fvhello.ko##强制加载驱动,不管内核版本号是否匹配;

sudoinsmod-shello.ko##降低输出的信息

##param1和param2须要在driver中定义同样的变量;

sudoinsmodhello.koparam1=“hello”param2=123

linux系统关机命令大全_关机命令linux_linux系统关机命令

—lsmod:查看内核已加载的模块。

其实现原理是通过查看和剖析/proc/modules文件内容来显示模块信息的。

事例:

lsmod##查看所有加载的驱动模块情况

lsmod|grephello##查看系统是否加载hello.ko文件;

—rmmod:将已加载模块从内核中移除linux系统关机命令,建议使用modprobe-r命令

参数:

-a:删掉所有目前不须要的模块。

-v:显示指令执行的详尽信息;

-f:强制移除模块,使用此选项比较危险;

-w:等待着,直至模块才能被除时在移除模块;

-s:向系统日志(syslog)发送错误信息。

事例:

rmmod-vpppoe//卸载模块pppoe

—modprobe:加载内核模块,须要依照modules.dep.bin文件进行加载操作,可以手动解决模块间的依赖关系表

参数:

-a:载入全部的模块。

-c:显示所有模块的设置信息。

-d:使用调试模式。

-l:显示可用的模块。

-r:模块闲置不用时linux压缩命令,即手动卸载模块。

-t:指定模块类型。

-v:执行时显示详尽的信息。

事例:

###加载hci_uart.ko蓝牙并口驱动,复印出依赖模块加载驱动的过程和次序;

x@l-ubuntu:~$sudomodprobehci_uart-v

insmod/lib/modules/5.15.0-86-generic/kernel/drivers/bluetooth/btqca.ko

insmod/lib/modules/5.15.0-86-generic/kernel/drivers/bluetooth/hci_uart.ko

###卸载hci_uart驱动,复印出卸载过程

x@l-ubuntu:~$sudomodprobehci_uart-rv

rmmodhci_uart

rmmodbtqca

说明:insmod和modprobe的区别

insmod与modprobe都是载入kernelmodule,差异在于:

1)insmod加载时要指定显著的路径;modprobe不须要指定路径,它会到系统默认路径下寻觅;

2)modprobe才能处理模块相关的依赖问题。诸如:wifi驱动依赖cfg80211.ko模块,

使用insmod须要分别加载这两个ko,但使用modprobe会手动加载cfg80211.ko,

其原理是依照文件/lib/module/version/modules.dep得悉模块的依赖关系。

—depmod:剖析和检测系统中模块之间的依赖关系

把依赖关系信息存于/lib/modules/version/modules.dep中

参数:

-a:剖析所有可用的模块。

-d:执行排错模式。

-e:输出未能参照的符号。

-i:不检测符号表的版本。

-m或system-map:使用指定的符号表文件。

-s:在系统记录中记录错误。

-v:执行时显示详尽的信息。

事例:

###形成模块依赖性数据,保存在/lib/modules/uname-r/modules.dep文件中

sudodepmod-a

sudodepmod-av|grephci_uart##剖析hci_uart模块的依赖关系;

sudodempod-n|grephci_uart##显示与hci_uart依赖的文件;

linux系统关机命令_关机命令linux_linux系统关机命令大全

—modinfo:查看模块的基本信息

参数:

-a:显示所有版本的模块信息。

-d,--dependencies:显示模块所依赖的其他模块。

关机命令linux_linux系统关机命令大全_linux系统关机命令

-F:field-name按指定数组名输出模块信息。数组名包括:filename、alias、name、vermagic、author等。

-k:version指定要查询的内核版本。

-l:显示模块所使用的许可证信息。

-p:parameter-name显示模块支持的参数信息。

-S:显示模块的软件依赖信息。

-v:显示更详尽的信息

用法:

modinfohelloworld.ko##显示模块的全部详尽信息,包括名称路径、版权、版本与和作者等;

modinfohelloworld.ko-p##显示模块参数列表和类型;

modinfohelloworld.ko-l##显示说明内核认识的特定许可,如:GPL,DualBSD/GPL等;

modinfohelloworld.ko-Fauthor##显示模块开发所有者

modinfohelloworld.ko-Fversion##显示模块驱动的版本

modinfohelloworld.ko-d##显示模块的说明

linux系统关机命令大全_关机命令linux_linux系统关机命令

linux系统关机命令大全_linux系统关机命令_关机命令linux

—sync:用于将显存中的数据立刻写入c盘,以防止数据未及时保存而遗失。

它会将未写入c盘的缓存数据强制写入c盘,并清空c盘缓存,以数据的延后写入

说明:

1)缓存原理:

Linux/Unix系统中,在文件或数据处理过程中通常先放在显存缓冲区中中国linux操作系统,等到适当的时侯再写入c盘,以提升系统的运行效率。sync命令则可拿来强制将显存缓冲区中的数据立刻写入c盘中.

2)buffer与cache:

buffer:解决写c盘的效率问题

cache:解决读c盘的效率问题

3)sync作用:

即强制把buffer数据写入c盘中;

假如不用下sync命令来真正的去写c盘,linux系统也会周期性的去sync数据。

参数:

-n:模拟同步操作,不会真正执行同步任务

-f:强制执行同步任务,虽然文件系统早已被标记为“不同步”

-d:同步目录linux系统关机命令,不包括其它类型的文件

-q:降低输出信息,只显示错误信息

-u:只同步新更改的文件,跳过未更改的文件

-l:将数据块锁定在显存中,以防止硬碟I/O,可提升同步速率

--file-system#同步指定文件系统的内容

-a:同步整个文件系统,等同于同时使用-r和-d选项

linux系统关机命令大全_linux系统关机命令_关机命令linux

-r:递归同步目录和其子目录

--delete#同步时删掉目标文件系统上多余的文件

-P:显示同步进度

反例:

sync#将显存中的数据同步到c盘中

sync-ffilename#将指定文件的内容同步到c盘中

sync-d#只同步c盘缓存中的数据,不同步文件元数据

sync-s#禁用异步写入功能,强制同步写入c盘

sync-umountpoint#同步指定挂载点下的所有c盘

sync-m#将显存中的脏数据保存到c盘交换分区中

sync-r#重置文件系统缓存,将缓存数据同步到c盘中

sync-s10#每隔10秒执行一次同步操作

sync-y##选项用于在同步时手动回答“yes”

(注意:版本不同支持的参数会有所区别)

—dmesg:将Linux系统启动时的内核环境下的信息复印到终端,主要用于问题确诊和系统调试

参数:

-c:消除内核环缓冲区中的所有消息

-H:以人类可读的格式显示时间戳

-k:只显示内核相关的消息

-r:以原始格式显示消息,包括内核级别的优先级

-s:设置显示消息的最大大小

-f:日志消息的分类,如下类别:

.kern内核消息;

.user用户级消息;

.mail电邮系统;

.daemon系统守护程序;

.auth安全/授权消息;

.syslog内部syslogd消息;

.lpr行式复印机子系统

.news网路新闻子系统

-1:日志消息的级别,如下级别:

.emerg系统未能使用;

.alert必须立刻采取举措

.crit紧急情况;

.err错误消息;

.warn警告条件;

.notice正常但重要的条件;

.info信息性;

.debug调试级消息。

反例:

dmesg>message.log##将内核复印信息导出到文件中;

sudodmesg-c(或-C);##内核复印缓冲区清空;

dmesg|grepusb##查看usb设备驱动信息

dmesg|grepmmc##查看sdio相关的设备信息;

dmesg|grepMemory##查看系统显存的信息;

dmesg-H-T##比较人性化的显示相关信息

dmesg-r##显示内核级别的优先级

dmesg-s32000##设置输出信息缓冲区的大小,越大显示信息越多,默认为16KB;

dmesg-fkern,daemon##仅复印内核和系统守护程序消息

dmesg-lerr,crit##仅复印显示内核错误和严重消息;

—ldconfig:是一个动态链接库管理和更新命令,为了让系统在指定目录下去搜索和更新动态链接库,并为系统所共享.

以下路径:/lib、/usr/lib、/usr/local/lib以及用户配置动态库文件/etc/ld.so.conf内所列目录,

搜索出可共享的动态链接库,从而创建出动态放入程序(ld.so)所需的联接和缓存文件。

说明共享库的使用有以下三种方式:

1)在/lib和/usr/lib上面添加内容,不需更改/etc/ld.so.conf,须要执行ldconfig来更新动态库;

2)在里面两个目录以外添加内容,须要更改/etc/ld.so.conf,须要执行ldconfig来更新动态库;

3)在以上这两个系统目录以外放lib,且没有在/etc/ld.so.conf中添加路径,可以通过重新export全局变量LD_LIBRARY_PATH来告诉系统动态库须要搜救的位置。

--exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/mycustom_dir/lib/

其实,在安装工具或新生成的动态库文件后,建议执行下ldconfig

参数:

-v:显示正在扫描的目录及搜索到的动态链接库以及所创建的联接的名子

-n:仅扫描命令行指定的目录,不扫描默认目录,也不扫描配置文件所列的目录

-N:不重建缓存文件

-X:不更新文件的联接

-fCONF:指定动态链接库的配置文件为CONF,系统默认为/etc/ld.so.conf

-CCACHE:指定生成的缓存文件为CACHE,系统默认的是/etc/ld.so.cache

-rROOT:改变应用程序的根目录为ROOT

-l:步入专家模式手工设置联接

-p:复印出当前缓存文件所保存的所有共享库的名子

-cFORMAT:指定缓存文件所使用的格式

-V:复印出ldconfig的版本信息,而后退出

反例:

sudoldconfig-v##搜索并更新动态库,并复印出进度信息;

—runlevel/init:系统运行级别查看和切换功能

说明:

Linux系统一般会有以下的运行级别:

0--死机

1--单用户模式

2--多用户模式,不包含NFS服务

3--多用户模式,包含NFS服务

4--现今暂时无用

5--图形界面化

6--开机

init参数:

-b:不执行相关脚本而直接步入单用户模式;

-s:切换到单用户模式。

反例:

runlevel##查看当前系统运行的级别;

initN##切换系统运行等级;

int0##系统死机;

int6##系统重启

—shutdown:常用于死机重启操作,shutdown命令可以安全地将系统死机,并向登陆用户发送死机通知。

参数:

-h:死机。参数是now表示立刻死机,参数是时间表示在规定时间点死机,参数是数字表示多少分钟后死机

-r:重启。参数是now表示立刻重启,参数是时间表示在规定的时间点进行重启操作,参数是数字表示多少分钟后重启

-t:延后死机时间,单位为秒;

-k:发送警告信息给所有已登入的用户,只拿来提示

-c:取消早已在进行的shutdown指令。对早已执行的延后死机或重启操作,可以使用此选项进行取消;

-n:不采用正常程序来死机,用逼迫的形式杀掉所有执行中的程序后自行死机

-f:死机时,不做fsck动作。

-F:死机时,逼迫进行fsck动作

反例:

shutdown-hnow##立刻死机;

shutdown-rnow##立刻重启;

shutdown-h5##5分钟后死机;

shutdown-t5##5秒钟后死机;

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复