Linux內核模塊管理命令


1、insmod命令

在Linux系統下,insmod命令用於將給定的模塊加載到內核中去,Linux系統有許多功能是通過模塊的方式,在需要時才載入kernel,這樣做可以使kernel較為精簡,進而提高效率,這類可載入的模塊,通常是設備驅動程序。

(1)命令語法

insmod(選項)(參數)

(2)常用選項說明

-f:不檢查目前kernel版本與模塊編譯時的kernel版本是否一致,強制將模塊載入。

-k:將模塊設置為自動卸載。

-m:輸出模塊的載入信息。

-o<模塊名稱>:指定模塊的名稱,可使用模塊文件的文件名。

-p:測試模塊是否能正確載入到kernel。

-s:將所有信息記錄在系統記錄文件中。

-v:執行時顯示詳細的信息。

-x:不要匯出模塊的外部符號。

-X:匯出模塊所有的外部符號

(3)參數

內核模塊:指定要加載的內核模塊文件

(4)實例

加載一個簡單的hello.ko內核模塊,並查看加載結果:

# insmod hello.ko
# lsmod | grep “hello”

運行結果如下所示:

2、rmmod命令

在Linux系統下,rmmod命令用於從當前運行的內核中移除指定的內核模塊,執行rmmod命令,可刪除不需要的模塊。

(1)命令語法

rmmod(選項)(參數)

(2)常用選項說明

-v:顯示指令執行的詳細信息。

-f:強制移除模塊,該選項比較危險。

-w:等待着,直到模塊能夠被移除時再移除模塊。

-s:向系統日志(syslog)發送錯誤信息。

(3)參數

模塊名稱:要移除的模塊的名稱

(4)實例

將hello內核模塊進行移除:

# lsmod | grep “hello”
# rmmod hello
# lsmod | grep “hello”

運行結果如下所示:

3、lsmod命令

在Linux系統下,lsmod命令用於顯示已經加載到內核中的模塊的狀態信息,運行lsmod命令后會列出所有已經載入系統的模塊。

(1)語法

lsmod

(2)實例

查看當前系統已經載入的模塊:

# lsmod

運行結果如下:

在上面顯示的結果中:

第一列:表示模塊的名稱;

第二列:表示模塊的大小;

第三列:表示依賴模塊的個數;

第四列:表示依賴模塊的內容。

4、modinfo命令

在Linux系統下,可以使用modinfo命令顯示給定模塊的詳細信息。

(1)語法

modinfo(選項)(參數)

(2)常用選項說明

-a:顯示模塊的作者。

-d:顯示模塊的描述信息。

-l:顯示模塊的許可證信息。

-p:顯示模塊的參數信息。

-n:顯示模塊對應的文字信息。

(3)參數

模塊名:要顯示詳細信息的模塊名稱。

(4)實例

顯示hello.ko模塊的信息:

# modinfo hello.ko

運行結果如下所示:

4、modprobe命令

Linux系統下,modprobe命令用於智能地向內核中加載模塊或者從內核中移除模塊。

(1)語法

modprobe(選項)(參數)

(2)常用選項說明

-a或--all:載入全部的模塊。

-c或--show-conf:顯示所有模塊的設置信息。

-d或--debug:使用排錯模式。

-r或--remove:當模塊閑置不用時,即自動卸載模塊。

-v或--verbose:執行時顯示詳細信息。

-V或--version:顯示版本信息。

-help:顯示命令幫助信息。

(3)參數

模塊名:要加載或移除的模塊名稱。

(4)實例

加載hello.ko模塊:

先將要加載的模塊拷貝到/lib/modules/“uname -r”目錄下,uname –r表示內核版本號

# cp hello.ko /lib/modules/“uname -r”
# depmod
# modprobe hello.ko
# lsmod | grep “hello”
# modprobe -r hello
# lsmod | grep hello

運行結果如下所示:

 

參考:

https://man.linuxde.net/insmod

https://man.linuxde.net/rmmod

https://man.linuxde.net/lsmod

https://man.linuxde.net/modprobe


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM