內核模塊是 linux 系統中一種特殊的可執行文件,它可以在運行時動態地加載到內核中或卸載出內核,從而實現內核的擴展和優化。內核模塊操作相關的命令主要有以下幾種:
1.lsmod命令
列出當前已加載的內核模塊及其依賴關系和使用情況。
[root@localhost ~]# lsmod | grep tap
tap 24576 0
2.insmod命令
將指定的內核模塊加載到內核中,需要提供完整的模塊文件路徑。例如將一個名為 hello.ko 的內核模塊加載到內核中,可以使用以下命令:
[root@localhost ~]# insmod /path/to/hello.ko
其中/path/to 是模塊文件所在的目錄。如果加載成功,沒有輸出信息;如果加載失敗,會輸出錯誤信息。
「注意」 insmod主要用內核版本在2.4之前的Linux系統加載內核模塊。對于通過此命令加載的Linux內核模塊,系統不會自動解決內核模塊之間的依賴關系,而且還要求填寫詳細的模塊路徑。所以在Linux 2.6內核出現時,此命令已漸漸被遺棄。
3.rmmod命令
將指定的內核模塊卸載出內核,需要提供模塊名稱。例如想將一個名為 hello 的內核模塊卸載出內核,可以使用以下命令:
[root@localhost ~]# rmmod hello
如果卸載成功,沒有輸出信息;如果卸載失敗,會輸出錯誤信息。
4.modprobe命令
根據模塊名稱自動加載或卸載內核模塊及其依賴的其他模塊:
[root@localhost ~]# modprobe tap
- -f選項強制加載或卸載。
- -r選項卸載模塊,等同于rmmod tap
5.depmod命令
生成模塊依賴關系文件,這個命令通常不需要手動運行,而是安裝新的內核或模塊時自動運行。
[root@localhost ~]# depmod -a
6.modinfo命令
顯示指定的內核模塊的信息,包括版本、作者、描述、參數、別名等。
[root@localhost ~]# modinfo tap
filename: /lib/modules/5.11.0-27-generic/kernel/drivers.NET/tap.ko
license: GPL
author: SAInath Grandhi <sainath.grandhi@intel.com>
author: Arnd Bergmann <arnd@arndb.de>
srcversion: 0F700DF21F8BDF5D1FACAA6
......