Linux內(nèi)核顯示、加載、卸載等超實用命令
內(nèi)核模塊是 Linux 系統(tǒng)中一種特殊的可執(zhí)行文件,它可以在運行時動態(tài)地加載到內(nèi)核中或卸載出內(nèi)核,從而實現(xiàn)內(nèi)核的擴展和優(yōu)化。內(nèi)核模塊操作相關(guān)的命令主要有以下幾種:
1.lsmod命令
列出當(dāng)前已加載的內(nèi)核模塊及其依賴關(guān)系和使用情況。
[root@localhost ~]# lsmod | grep tap
tap 24576 0
2.insmod命令
將指定的內(nèi)核模塊加載到內(nèi)核中,需要提供完整的模塊文件路徑。例如將一個名為 hello.ko 的內(nèi)核模塊加載到內(nèi)核中,可以使用以下命令:
[root@localhost ~]# insmod /path/to/hello.ko
其中/path/to 是模塊文件所在的目錄。如果加載成功,沒有輸出信息;如果加載失敗,會輸出錯誤信息。
「注意」 insmod主要用內(nèi)核版本在2.4之前的Linux系統(tǒng)加載內(nèi)核模塊。對于通過此命令加載的Linux內(nèi)核模塊,系統(tǒng)不會自動解決內(nèi)核模塊之間的依賴關(guān)系,而且還要求填寫詳細的模塊路徑。所以在Linux 2.6內(nèi)核出現(xiàn)時,此命令已漸漸被遺棄。
3.rmmod命令
將指定的內(nèi)核模塊卸載出內(nèi)核,需要提供模塊名稱。例如想將一個名為 hello 的內(nèi)核模塊卸載出內(nèi)核,可以使用以下命令:
[root@localhost ~]# rmmod hello
如果卸載成功,沒有輸出信息;如果卸載失敗,會輸出錯誤信息。
4.modprobe命令
根據(jù)模塊名稱自動加載或卸載內(nèi)核模塊及其依賴的其他模塊:
[root@localhost ~]# modprobe tap
- -f選項強制加載或卸載。
- -r選項卸載模塊,等同于rmmod tap
5.depmod命令
生成模塊依賴關(guān)系文件,這個命令通常不需要手動運行,而是安裝新的內(nèi)核或模塊時自動運行。
[root@localhost ~]# depmod -a
6.modinfo命令
顯示指定的內(nèi)核模塊的信息,包括版本、作者、描述、參數(shù)、別名等。
[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
......