Linux核心模組相關命令彙總及使用說明
lsmod
功能:列出核心已載入模組的狀態
用法:lsmod
描述:
lsmod 以美觀的方式列出/proc/modules的內容。
輸出為:
Module(模組名) Size(模組大小) Used by(被...使用)
eg. ne2k_pci 8928 0
8390 9472 1 ne2k_pci
在/proc/modules中相應的是:
(模組名,模組大小,被...使用,模組地址(猜的,以後確認))
ne2k_pci 8928 0 - Live 0x3086400
8390 9472 1 ne2k_pci , Live 0xe086000
depmod
功能:分析可載入模組的依賴性,生成modules.dep檔案和對映檔案。
用法:depmod [-b basedir] [-e] [-F System.map] [-n] [-v] [version] [-A]
depmod [-e] [-F System.map] [-n] [-v] [version] [filename...]
描述:
Linux核心模組可以為其它模組提供提供服務(在程式碼中使用EXPORT_SYMBOL),這種服務被稱作"symbols"。若第二個模組使用了這個symbol,則該模組很明顯依賴於第一個模組。這些依賴關係是非常繁雜的。
depmod讀取在/lib/modules/version 目錄下的所有模組,並檢查每個模組匯出的symbol和需要的symbol,然後建立一個依賴關係列表。預設地,該列表寫入到/lib/moudules /version目錄下的modules.dep檔案中。若命令中的filename有指定的話,則僅檢查這些指定的模組(不是很有用)。
若命令中提供了version引數,則會使用version所指定的目錄生成依賴,而不是當前核心的版本(uname -r 返回的)。
選項:
-b basedir --basedir basedir 若你的模組並沒有正確的在/lib/mdules/version下,可以指定目錄生成依賴。
-e --errsyms 和-F選項一起使用,當一個模組需要的symbol在其它模組裡面沒有提供時,做出報告。正常情況下,模組沒有提供的symbol都在核心中有提供。
-F --filesyms System.map 提供一個System.map檔案(在核心編譯時生成的)許-e選項報告出unresolved symbol。
-n --dry_run 將結果modules.dep和各種對映檔案輸出到標準輸出(stdout),而不是寫到模組目錄下。
-A --quick 檢查是否有模組比modues.dep中的模組新,若沒有,則退出不重新生成檔案。
modprobe
功能:Linux核心新增刪除模組
用法:
modprobe [ -v ] [ -V ] [-C config-file] [ -n ] [ -i ] [ -q ] [ -o modulename] [ modulename ] [ module parameters ... ]
modprobe [ -r ] [ -v ] [ -n ] [ -i ] [ modulename ... ]
modprobe [ -l ] [ -t dirname ] [ wildcard ]
modprobe [ -c ]
描述:
modprobe可智慧地新增和刪除Linux核心模組(為簡便起見,模組名中'_'和'-'是一樣的)。modprobe會檢視模組 目錄/lib/modules/'uname -r'裡面的所有模組和檔案,除了可選的/etc/modprobe.conf配置檔案和/etc/modprobe.d目錄外。
modprobe需要一個最新的modules.dep檔案,可以用depmod來生成。該檔案列出了每一個模組需要的其他模組,modprobe使用這個去自動新增或刪除模組的依賴。
選項:
-v --verbose 顯示程式在幹什麼,通常在出問題的情況下,modprobe才顯示資訊。
-C --config 過載(^_^,意思取C++的過載)預設配置檔案(/etc/modprobe.conf或/etc/modprobe.d)。
-c --showconfig 輸出配置檔案並退出
-n --dry-run 可以和-v選項一起使用,除錯非常有用
-i --ignore-install --ignore-remove 該選項會使得modprobe忽略配置檔案中的,在命令列上輸入的install和remove命令。
-q --quiet 一般modprobe刪除或插入一個模組時,若沒有找到會提示錯誤。使用該選項,會忽略指定的模組,並不提示任何錯誤資訊。
-r --remove 該選項會導致modprobe去刪除,而不是插入一個模組。通常沒有沒有理由去刪除核心模組,除非是一些有bug的模組。你的核心也不一定支援模組的解除安裝。
-V --verssion 版本資訊
-f --force 和同時使用--force-vermagic ,--force-modversion一樣。使用該選項是比較危險的。
-l --list 列出所有模組
-a --all 插入所有命令列中的模組
-t --type 強制 -l 顯示dirname中的模組
-s --syslog 錯誤資訊寫入syslog
modinfo
功能:顯示核心模組的資訊
用法:
modinfo [ -0 ] [ -F field] [modulename | filename ... ]
modinfo -V
modinfo -h
描述:
modinfo列出Linux核心中命令列指定的模組的資訊。若模組名不是一個檔名,則會在/lib/modules/version 目錄中搜尋,就像modprobe一樣。
modinfo預設情況下,為了便於閱讀,以下面的格式列出模組的每個屬性:fieldname : value。
選項:
-V --version 版本
-F --field 僅在一行上顯示field值,這對於指令碼較為有用。常用的field有:author, description, licence, param, depends, alias, filename。
-0 --NULL 使用'\0'字元分隔field值,而不是一個新行。對指令碼比較有用。
-a -d -l -p -n 這些分別是author, description, license, param ,filename的簡短形式。
insmod
功能:向Linux核心中插入一個模組
用法:insmod [filename] [modue options ...]
描述:
insmod是一個向核心插入模組的小程式:若檔名是一個連字元'-',模組從標準輸入輸入。大多數使用者使用modprobe,因為它比較智慧化。
rmmod
功能:刪除核心中的一模組
用法:rmmod [ -f ] [ -w ] [ -s ] [ -v ] [ modulename ]
描述:
rmmod是一個可以從核心中刪除模組的小程式,大多數使用者使用modprobe -r去刪除模組。
選項:
-v --verbose 顯示程式正在做些什麼,一般只顯示執行時的錯誤資訊。
-f --force 該選項是非常危險:除非編譯核心時,CONFIG_MODULE_FORCE_UNLOAD被設定該命令才有效果,否則沒效果。用該選項可以刪除正在被使用的模組,設計為不能刪除的模組,或者標記為unsafe的模組。
-w --wait 通常,rmmod拒絕刪除正在被使用的模組。使用該選項後,指定的模組會被孤立起來,直到不被使用。
-s --syslog 將錯誤資訊寫入syslog,而不是標準錯誤(stderr)。
-V --version 版本資訊
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9034054/viewspace-1976587/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux 核心相關命令Linux
- mvn 相關命令彙總
- 快速上手Linux核心命令(十一):Linux使用者相關命令Linux
- linux每日命令(30):Linux 使用者及使用者組相關檔案、命令詳解Linux
- linux 常見命令及說明雜記Linux
- 快速上手Linux核心命令(八):網路相關命令Linux
- Oracle 統計資訊相關命令彙總Oracle
- Linux入門_基礎命令_使用者和組相關命令Linux
- Linux: yum 命令說明Linux
- 快速上手Linux核心命令(七):Linux系統資訊相關命令Linux
- Linux使用者/使用者組/許可權相關命令Linux
- Linux核心模組Linux
- linux使用者及組相關檔案介紹Linux
- 快速上手Linux核心命令(四):檔案內容相關命令Linux
- linux常見命令說明Linux
- linux常用核心引數說明Linux
- Elasticsearch 學習總結 - 相關配置補充說明Elasticsearch
- Linux下" >/dev/null 2>&1 "相關知識說明LinuxdevNull
- MySql Binlog 說明 & Canal 整合MySql的更新異常說明 & MySql Binlog 常用命令彙總MySql
- 【彙總】EMQX 函式API、安裝與使用說明MQ函式API
- wc 命令使用說明
- linux 使用者/組相關操作Linux
- keycloak~token配置相關說明
- 前端模組化彙總前端
- pearadmin前端框架中 http模組如何使用說明前端框架HTTP
- Linux sed命令詳細說明Linux
- Redis服務之Redis5叢集相關命令說明Redis
- JavaScript 模組相關JavaScript
- Docker 關鍵字說明及一鍵構建相關服務Docker
- 16道Linux基礎命令題目及答案彙總!Linux
- 如何使用cgdb + qemu除錯linux核心模組除錯Linux
- kratos相關錯誤彙總
- Linux核心模組編譯Linux編譯
- Linux核心模組學習Linux
- 關於88e1111 phy模組的配置說明
- linux 常用命令彙總Linux
- Linux彙總基本命令【1】Linux
- Apache Kafka各Api模組說明ApacheKafkaAPI
- Linux下處理時間同步相關問題彙總Linux