命令:pwd
- 查看當(dāng)前目錄
命令:cd
- 定位當(dāng)前目錄為weblogic目錄下
cd /home/weblogic
-將目錄返回至上一級(jí)
cd ..
--將目錄返回至上二級(jí)
cd ../..
用戶(hù)相關(guān)
- 用戶(hù)列表文件:/etc/passwd
- 用戶(hù)組列表文件:/etc/group
- 查看系統(tǒng)中有哪些用戶(hù):cut -d : -f 1 /etc/passwd
- 查看可以登錄系統(tǒng)的用戶(hù):cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f
- 查看用戶(hù)操作:w命令(需要root權(quán)限)
- 查看某一用戶(hù):w 用戶(hù)名
- 查看登錄用戶(hù):who
- 查看用戶(hù)登錄歷史記錄:last
命令:man
- 功能:man 對(duì)你熟悉或不熟悉的命令提供幫助解釋
- 格式:
man [命令]
# eg:
man ls
#就可以查看ls相關(guān)的用法
注:按q鍵或者ctrl+c退出,在linux下可以使用ctrl+c終止當(dāng)前程序運(yùn)行。
命令:ls
- ls 查看目錄或者文件的屬*,列舉出任一目錄下面的文件
eg: ls /usr/man
- 命令:
ls -l相當(dāng)于ll
命令:cp
- 功能:用于拷貝文件
格式:CP [選項(xiàng)] 源文件或目錄 目的文件或目錄 - 選項(xiàng)說(shuō)明:
-
-b同名,備分原來(lái)的文件 -
-f強(qiáng)制覆蓋同名文件 -
-r按遞歸方式保留原目錄結(jié)構(gòu)復(fù)制文件
#eg:
cp -r /tmp/a /root/a
# 記得有空格
cp filename1 filename2
# 把filename1拷貝成filename2
cp 1.c netseek/2.c
# 將1.c拷到netseek目錄下命名為2.c
命令:mv
- 功能:移動(dòng)文件或者文件夾
- 格式:
mv [選項(xiàng)] 源文件或目錄 目標(biāo)文件或目錄
-b :若需覆蓋文件,則覆蓋前先行備份。
-f :force 強(qiáng)制的意思,如果目標(biāo)文件已經(jīng)存在,不會(huì)詢(xún)問(wèn)而直接覆蓋;
-i :若目標(biāo)文件 (destination) 已經(jīng)存在時(shí),就會(huì)詢(xún)問(wèn)是否覆蓋!
-u :若目標(biāo)文件已經(jīng)存在,且 source 比較新,才會(huì)更新(update)
-t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目標(biāo)目錄,該選項(xiàng)適用于移動(dòng)多個(gè)源文件到一個(gè)目錄的情況,此時(shí)目標(biāo)目錄在前,源文件在后。
# eg:
mv -f 1.txt /home/path/
命令:rm
- 功能: rm 刪除文件和目錄
- 格式:
rm [選項(xiàng)] path to <文件>
-d --directory 刪除可能仍有數(shù)據(jù)的目錄 (只限超級(jí)用戶(hù))
-f --force 略過(guò)不存在的文件,不顯示任何信息
-i --interactive 進(jìn)行任何刪除操作前必須先確認(rèn)
-r/R --recursive 同時(shí)刪除該目錄下的所有目錄層
-v --verbose 詳細(xì)顯示進(jìn)行的步驟
--help 顯示此幫助信息并離開(kāi)
--version 顯示版本信息并離開(kāi)
# eg:
rm 1.c //將1.c這個(gè)文件刪除
#刪除所有rb語(yǔ)言程序檔;刪除前逐一詢(xún)問(wèn)確認(rèn) :
rm -i *.rb
#將 Finished 子目錄及子目錄中所有檔案刪除 :
rm -r Finished
#將 Finished 子目錄及子目錄中所有檔案刪除,并且不用一一確認(rèn) :
rm -rf Finished
命令:cd
- 功能:改變當(dāng)前目錄
命令:pwd
- 功能:查看當(dāng)前所在目錄完整路徑
eg: pwd //查看當(dāng)前所在目錄路徑
cd netseek //進(jìn)入netseek這個(gè)目錄
cd //退出當(dāng)前目錄
命令:cat
- 功能:將某個(gè)文件的內(nèi)容全部顯示出來(lái)。
- 格式:
cat [filename]
cat>1.c //就可以把代碼粘帖到1.c文件里。
命令:more
- 功能:將文件一部分打印出來(lái),知道填滿(mǎn)當(dāng)前屏幕,按
j繼續(xù)顯示,q退出
命令:chmod
- 功能:修改文件夾、文件權(quán)限
- 格式:點(diǎn)擊查看
命令:touch
- 功能:一般用作新建文件
- 格式:
touch [文件名]
touch test.txt
命令:clear
- 功能:清空當(dāng)前屏幕
命令:date
- 功能:顯示系統(tǒng)時(shí)間
命令:su
- 功能: 在不退出登陸的情況下,切換到另外一個(gè)人的身份,需要輸入身份密碼
- 格式:
su [用戶(hù)名]其中su - [用戶(hù)名]是完全切換為用戶(hù)環(huán)境
su root
用法: su -l 用戶(hù)名(如果用戶(hù)名缺省,則切換到root狀態(tài))
eg:su -l netseek (切換到netseek這個(gè)用戶(hù),將提示輸入密碼)
命令:whoami,whereis,which,id
- 功能:
//whoami:確認(rèn)自己身份
//whereis:查詢(xún)命令所在目錄以及幫助文檔所在目錄
//which:查詢(xún)?cè)撁钏谀夸?類(lèi)似whereis)
//id:打印出自己的UID以及GID。(UID:用戶(hù)身份唯一標(biāo)識(shí)。GID:用戶(hù)組身份唯一標(biāo)識(shí)。每一個(gè)用戶(hù)只能有一個(gè)唯一的UID和 GID)
eg: whoami //顯示你自已登陸的用戶(hù)名
whereis bin 顯示bin所在的目錄,將顯示為:/usr/local/bin
which bin
命令:grep,find
- grep:文本內(nèi)容搜索;find:文件或者目錄名以及權(quán)限屬主等匹配搜索
eg: grep success * /*查找當(dāng)前目錄下面所有文件里面含有success字符的文件
命令:kill
- 可以殺死某個(gè)正在進(jìn)行或者已經(jīng)是dest狀態(tài)的進(jìn)程
eg; ps ax
命令:history
- 用戶(hù)用過(guò)的命令
eg: history //可以顯示用戶(hù)過(guò)去使用的命令
命令: !!
- 執(zhí)行最近一次的命令
命令:mkdir
eg: mkdir netseek //創(chuàng)建netseek這個(gè)目錄
命令:tar
- 解壓命令
eg: tar -zxvf nmap-3.45.tgz //將這個(gè)解壓到nmap-3.45這個(gè)目錄里
命令:vi 或者 vim
- 編輯文件
- 教程
vi filename.txt(文件)
esc :wq --保存退出
esc :q! --不保存退出
命令:df
查看服務(wù)器磁盤(pán)空間使用情況
df -hl估算目錄dir已經(jīng)使用的磁盤(pán)空間
du -sh dir查看當(dāng)前正在運(yùn)行的程序進(jìn)程
ps -ef|grep java/weblogic/tomcat(程序名稱(chēng))查看該進(jìn)程號(hào)所屬目錄
pwdx 1158(進(jìn)程號(hào))強(qiáng)制殺死該進(jìn)程
kill -9 1158(進(jìn)程號(hào))將文件夾打成壓縮包
tar -zcvf /root/filename_$(date +%Y-%m-%d).tar.gz /home/weblogic/files解壓壓縮包到當(dāng)前目錄
tar -zxvf filename.tar.gz查看當(dāng)前目錄下的nohup.out動(dòng)態(tài)輸出(如查看weblogic后臺(tái)日志)
tail -f nohup.out將系統(tǒng)日期修改為:2011年5月27日(需要用root用戶(hù)修改,其它用戶(hù)默認(rèn)只能查看日期,沒(méi)修改權(quán)限)
date -s 05/27/2011將系統(tǒng)時(shí)間修改為:10點(diǎn)24(需要用root用戶(hù)修改,其它用戶(hù)默認(rèn)只能查看日期,沒(méi)修改權(quán)限)
date -s 10:24:00將系統(tǒng)時(shí)間修改為:2月5日9點(diǎn)30(年份保持修改前的年份)
date 02050930查看系統(tǒng)CPU運(yùn)行情況
top查看服務(wù)器內(nèi)存使用情況
free -g查看端口占用情況
netstat -anp給文件所有(a)用戶(hù)分配所有權(quán)限
chmod a+x filename(文件或者文件夾)把home目錄下的weblogic目錄的擁有者改為weblogic用戶(hù)
chown weblogic /home/weblogic把home目錄下的weblogic目錄的所屬組改為weblogic組
chgrp weblogic /home/weblogic兩個(gè)linux互傳輸文件
scp /root/test/filename.zip[weblogic@221.123.191.158:/home/weblogic/test/](mailto:weblogic@221.123.191.158:/home/weblogic/test/)
- 重啟服務(wù)器(用root用戶(hù)登錄)
reboot - 檢測(cè)端口是否開(kāi)放(在windows cmd中執(zhí)行)
telnet 192.168.1.128 1521 - 添加定時(shí)任務(wù)命令(-l是查看)
crontab -e - 添加定時(shí)任務(wù)(每天晚上11執(zhí)行)
00 23 * * * /root/backup_nohup.sh - pkill:踢出已經(jīng)登錄的用戶(hù)
- Usage:pkill -kill -t [ttyname]
notes:一般地,先使用“who”查看在線(xiàn)用戶(hù)有哪些,緊接著使用“who am i”確認(rèn)自己的身份,最后使用“pkill”踢出用戶(hù);
關(guān)于日志分析:
dmesg:輸出內(nèi)核環(huán)緩沖區(qū)內(nèi)容;其中的內(nèi)容存放在日志文件“/var/log/dmesg”中;保存了內(nèi)核初始化硬件、模塊的信息;內(nèi)核將各種消息存放在此;
-c:顯示完Ring Buffer中的內(nèi)容后,清空Ring Buffer;
-r:顯示原生的消息,不要去掉日志級(jí)別;
-s:指定Ring Buffer的大小,默認(rèn)值根據(jù)內(nèi)核版本而不同;
-n:指定顯示到Console的日志的級(jí)別,共有8種,在“kernel.h”中做了宏對(duì)應(yīng);
Usage:dmesg [-c] [-r] [-n level] [-s bufsize]
notes:一般地,我們是直接使用“dmesg”命令,不加參數(shù),之后使用“grep”進(jìn)行篩選;常用來(lái)診斷某個(gè)服務(wù)配置錯(cuò)誤,某個(gè)硬件工作不正常等問(wèn)題;當(dāng)然,開(kāi)機(jī)過(guò)程中的信息也在里面包含著;
/var/log/secure:只要牽涉到“需要輸入賬號(hào)口令”的軟件,登錄時(shí)(不管登錄成功與否)的信息都會(huì)記錄在此;包括系統(tǒng)的login、gdm、su、sudo、ssh、telnet等;
/var/log/mesages:幾乎系統(tǒng)發(fā)生的錯(cuò)誤信息(或者是重要的資訊)都會(huì)記錄在此;如果系統(tǒng)發(fā)生莫名其妙的錯(cuò)誤時(shí),這個(gè)文件時(shí)一定要查閱的日志文件之一;
Troubleshooting流程:
根據(jù)經(jīng)驗(yàn)處理:一些常見(jiàn)問(wèn)題的處理,要么在頭腦里知道處理方法;要么有個(gè)印象,去查詢(xún)以往的筆記;
閱讀提示信息:發(fā)現(xiàn)一個(gè)問(wèn)題時(shí),最有效的分析入手點(diǎn)是閱讀屏幕上的提示信息,根據(jù)提示信息分析問(wèn)題產(chǎn)生的可能原因;
查閱日志:當(dāng)屏幕上的信息不夠充足的時(shí)候,可以關(guān)注日志信息,使用“tail”確定出發(fā)生問(wèn)題時(shí)以及之后的日志;日志的格式一般是一條條記錄,里面包含了“發(fā)生時(shí)間、日志級(jí)別、產(chǎn)生程序、簡(jiǎn)要說(shuō)明”,據(jù)此,可以使用grep結(jié)合時(shí)間、產(chǎn)生程序的名字進(jìn)行篩選;
上網(wǎng)搜尋:以日志中的“簡(jiǎn)要說(shuō)明”為關(guān)鍵字進(jìn)行搜索,找到相應(yīng)處理方法后,記錄到筆記中;
尋求身邊的人:網(wǎng)上也找不到時(shí),可以詢(xún)問(wèn)這一方面的專(zhuān)家,并做好記錄;
尋求開(kāi)發(fā)團(tuán)隊(duì):一些時(shí)候,當(dāng)對(duì)系統(tǒng)一點(diǎn)都不熟悉時(shí),產(chǎn)生了問(wèn)題可以直接聯(lián)系開(kāi)發(fā)團(tuán)隊(duì);在郵件中描述清楚“需求,操作過(guò)程,產(chǎn)生的問(wèn)題”;
官方手冊(cè):最權(quán)威的系統(tǒng)說(shuō)明書(shū);對(duì)于一些軟件來(lái)說(shuō),是個(gè)最好的選擇;
README和DOC:安裝前、安裝后都可以查詢(xún)軟件自帶的README和DOC套件;尤其是README中經(jīng)常包含一些URL,可以訪(fǎng)問(wèn)這些URL以獲取更多的信息;
關(guān)于/proc目錄分析:
/proc目錄:內(nèi)核提供的一個(gè)虛擬文件系統(tǒng),位于內(nèi)存中,保存著系統(tǒng)運(yùn)行時(shí)的很多參數(shù);用來(lái)進(jìn)行內(nèi)核(內(nèi)核模塊)和進(jìn)程的溝通;在系統(tǒng)運(yùn)行時(shí),可以通過(guò)這個(gè)接入點(diǎn)向內(nèi)核傳遞參數(shù),改變內(nèi)核的一些設(shè)置,人為干涉內(nèi)核的運(yùn)作;
加載proc文件系統(tǒng):mount -t proc proc /proc;
編輯器處理:雖然是虛擬文件系統(tǒng),但是,可以使用編輯器例如”cat、nl、vi“等對(duì)其中的文件進(jìn)行編輯,進(jìn)行編輯時(shí),這些文件才會(huì)被”憑空“地創(chuàng)建出來(lái);這也是為什么使用”ls -l“看到此目錄下存在許多文件大小為0的文件的原因;
目錄結(jié)構(gòu):包含有文件和目錄
/proc/cpuinfo:包含有CPU的信息
/proc/meminfo:系統(tǒng)運(yùn)行時(shí)內(nèi)存信息
/proc/mounts:顯示已經(jīng)掛載的文件系統(tǒng)的信息
/proc/devices:顯示系統(tǒng)中可以使用的設(shè)備
/proc/filesystems:顯示系統(tǒng)所支持的文件系統(tǒng)類(lèi)型
/proc/diskstats:系統(tǒng)磁盤(pán)的相關(guān)信息
/proc/modules:顯示出系統(tǒng)已經(jīng)加載的內(nèi)核模塊
/proc/version:顯示系統(tǒng)版本信息
/proc/cmdline:顯示系統(tǒng)啟動(dòng)時(shí)追加給系統(tǒng)的命令行參數(shù)
/proc/sys/:與內(nèi)核交流的接入點(diǎn)
/proc/net/:網(wǎng)卡設(shè)備信息
/proc/fs/:文件系統(tǒng)信息
/proc/driver/:設(shè)備驅(qū)動(dòng)信息
/proc/bus/:系統(tǒng)總線(xiàn)信息
/proc/irq/:系統(tǒng)中斷資源信息
/proc/ipmi/:ipmi設(shè)備信息
/proc/scsi/:SCSI設(shè)備信息
數(shù)字目錄:系統(tǒng)運(yùn)行中的每一個(gè)進(jìn)程的pid編號(hào),目錄內(nèi)包含了關(guān)于對(duì)應(yīng)進(jìn)程的一些非常有用的信息,如進(jìn)程使用的工作目錄等;
查看系統(tǒng)資源占用:
lsof:列出系統(tǒng)當(dāng)前打開(kāi)的資源;Linux系統(tǒng)中一切均為文件,故而全是文件之間的交互,使用lsof可以觀察某個(gè)進(jìn)程使用的文件有哪些;
-c:列出具有指定名稱(chēng)的進(jìn)程所打開(kāi)的系統(tǒng)資源,如,“-c init”;
-p:列出具有指定進(jìn)程號(hào)的進(jìn)程鎖打開(kāi)的系統(tǒng)資源,如,“-p 1”;
+d:顯示某個(gè)目錄下被進(jìn)程打開(kāi)的文件,如,“+d /usr/bin/”;
+D:級(jí)聯(lián)顯示某個(gè)目錄下被進(jìn)程打開(kāi)的文件,如,“+D /usr/bin/”;
-d:顯示使用著指定fd的進(jìn)程,如,“-d 4”;
-i:用以顯示符合條件的的進(jìn)程的情況,如,“-i :80”;
notes:一般地,當(dāng)我們?cè)谑褂谩皍mount”卸載文件系統(tǒng)時(shí),系統(tǒng)提示busy,那么,極有可能是文件系統(tǒng)被某些進(jìn)程在使用著,這時(shí),可以使用“l(fā)sof +D /media/”等命令查看占用進(jìn)程,待關(guān)閉那些進(jìn)程后,然后繼續(xù)卸載工作;另外,對(duì)于一些日志文件,一不小心刪除了的話(huà),可以及時(shí)通過(guò)lsof查閱后進(jìn)行恢復(fù),這個(gè)原理是利用內(nèi)存中的fd信息進(jìn)行重定向;
COMMAND:表示進(jìn)程的名字;
PID:對(duì)應(yīng)進(jìn)程的進(jìn)程號(hào);
USER:進(jìn)程的所有者;
FD:文件描述符,APP通過(guò)FD來(lái)識(shí)別文件,和文件打交道;cwdAPP啟動(dòng)的目錄,當(dāng)前工作的目錄,除非APP對(duì)其進(jìn)行更改,txt程序代碼,數(shù)值后的W~寫(xiě)鎖;
TYPE:REG文件,DIR目錄;CHR字符設(shè)備,BLK塊設(shè)備;UNIX套接字,F(xiàn)IFO先進(jìn)先出隊(duì)列,IPv4~網(wǎng)際協(xié)議;
DEVICE:指定磁盤(pán)的名稱(chēng);
SIZE:文件大??;
NODE:索引節(jié)點(diǎn),也就是文件在磁盤(pán)上的標(biāo)識(shí);
NAME:文件的具體名稱(chēng);
strace:用戶(hù)態(tài)的進(jìn)程不能直接訪(fǎng)問(wèn)系統(tǒng)硬件,必須先由用戶(hù)態(tài)轉(zhuǎn)為內(nèi)核態(tài),然后進(jìn)行系統(tǒng)調(diào)用,最后才能訪(fǎng)問(wèn)系統(tǒng)硬件資源;而這個(gè)strace則可以追蹤這種來(lái)自于用戶(hù)態(tài)進(jìn)程在使用系統(tǒng)硬件時(shí)的系統(tǒng)調(diào)用,并且包含有參數(shù),返回值,執(zhí)行消耗的時(shí)間等;
Usage:strace [-dDffhiqrtttTvVxx] [-a column] [-e expr] ... [-o file] [-p pid] ... [-s strsize] [-u username] [-E var=val] [command [arg ...]]-
notes:一般地,可以使用它來(lái)觀察程序工作時(shí)都處理了哪些文件,這個(gè)功能最為常用;
p:后接進(jìn)程號(hào),跟蹤具有指定進(jìn)程號(hào)的進(jìn)程的系統(tǒng)調(diào)用;
-c:統(tǒng)計(jì)出每一系統(tǒng)調(diào)用的執(zhí)行時(shí)間、次數(shù)、出錯(cuò)的次數(shù)等;
-d:輸出strace關(guān)于標(biāo)準(zhǔn)錯(cuò)誤的調(diào)試信息;
-f:跟蹤由fork調(diào)用所產(chǎn)生的子進(jìn)程;
-ff:如果提供”-o filename“,則所有進(jìn)程的跟蹤結(jié)果輸出到相應(yīng)的filename.pid中,pid是各進(jìn)程的進(jìn)程號(hào);
-F:嘗試跟蹤vfork調(diào)用,在-f時(shí),vfork調(diào)用不被跟蹤;
-i:輸出系統(tǒng)調(diào)用的入口指針;
-q:禁止輸出關(guān)于脫離的消息;
-r:打印出關(guān)于每一個(gè)系統(tǒng)調(diào)用的相對(duì)時(shí)間;
-t:在輸出中的每一行前加上時(shí)間信息;
-tt:同上,只不過(guò)是微秒級(jí)時(shí)間;
-T:顯示每一調(diào)用所耗的時(shí)間;
-v:輸出所有的系統(tǒng)調(diào)用,像一些關(guān)于環(huán)境變量、狀態(tài)等調(diào)用由于使用頻繁,默認(rèn)不輸出;
-X:以十六進(jìn)制形式輸出非標(biāo)準(zhǔn)字符串;
-XX:所有字符串以十六進(jìn)制形式輸出;
-a:設(shè)置返回值的輸出位置,默認(rèn)為40,如,”-a 50“;
-e:指定一個(gè)表達(dá)式,用來(lái)控制如何跟蹤,如,”-e trace=open,close“;
-e trace=$set,只跟蹤指定的系統(tǒng)調(diào)用,默認(rèn)為all;
-e trace=file,只跟蹤有關(guān)文件操作的系統(tǒng)調(diào)用;
-e trace=process,只跟蹤有關(guān)進(jìn)程控制的系統(tǒng)調(diào)用;
-e trace=network,只跟蹤與網(wǎng)絡(luò)有關(guān)的所有系統(tǒng)調(diào)用;
-e trace=signal,只跟蹤所有與系統(tǒng)信號(hào)有關(guān)的系統(tǒng)調(diào)用;
-e trace=ipc,只跟蹤所有與進(jìn)程通訊有關(guān)的系統(tǒng)調(diào)用;
-e raw=set,將指定的系統(tǒng)調(diào)用參數(shù)以十六進(jìn)制顯示;
關(guān)于內(nèi)核:
內(nèi)核模塊:Linux系統(tǒng)的內(nèi)核鏡像是盡可能小的,但是為了擴(kuò)展功能,內(nèi)核允許在運(yùn)行時(shí)直接向內(nèi)核地址空間內(nèi)插入代碼運(yùn)行,這些代碼(數(shù)據(jù)、函數(shù)入口、函數(shù)出口等)被組合成一個(gè)二進(jìn)制的鏡像,即所謂的的Linux系統(tǒng)模塊;這些模塊一般被插入,是會(huì)實(shí)時(shí)生效的;內(nèi)核模塊的位置一般均位于”/lib/modules/uname -r/kernel“目錄下,且以*.ko的方式存在;
modinfo:顯示指定模塊的具體信息
-a:顯示模塊的開(kāi)發(fā)作者;
-d:顯示模塊的描述信息;
-l:顯示模塊的傳播授權(quán)信息;
-p:顯示模塊所支持的所有的類(lèi)型的參數(shù);
-f:后接一個(gè)用戶(hù)自己定義的字符串,可以通過(guò)此字符串獲取內(nèi)核中指定模塊ELF段中的值,其中,包含模塊的信息;
Usage:modinfo [-0][-F field][-k kernelversion][-b basedir] module...
notes:一般地,我們直接使用”modinfo module_name“的格式,并且不加任何關(guān)于modinfo的參數(shù),以獲取關(guān)于模塊的所有信息;
lsmod:友好化地顯示內(nèi)核中已經(jīng)加載的內(nèi)核模塊,讀取了”/proc/modules“文件中的信息;
Usage:lsmod
notes:一般地,內(nèi)核中加載的模塊并不是很多, 所以我們直接使用”lsmod“列出所有在內(nèi)核中已經(jīng)加載的模塊;當(dāng)然,在寫(xiě)腳本時(shí),一般地,我們是結(jié)合grep進(jìn)行篩選的;
insmod:最簡(jiǎn)單的一個(gè)裝載內(nèi)核模塊的工具;
-f:不檢查目前kernel版本與編譯模塊時(shí)的kernel版本是否一致,進(jìn)行強(qiáng)制插入;
-k:將模塊設(shè)置為自動(dòng)卸載;
-m:輸出模塊的裝載信息;
-o:指定模塊的名稱(chēng),也可以使用模塊文件的文件名,如,”insmod -o ext4.ko“;
-p:測(cè)試模塊是否能夠正確地載入到kernel中;
-s:將所有信息記錄在系統(tǒng)記錄文件中;
-v:執(zhí)行時(shí)顯示詳細(xì)的信息;
-x:不要匯出模塊的外部符號(hào);
-X:匯出模塊的所有外部符號(hào),此為預(yù)設(shè)值;
Usage:insmod [ options ] [ filename ] [ module options... ]
notes:一般地,我們直接使用”insmod ext4.ko“的形式裝載模塊;但是,insmod不能解決依賴(lài)性問(wèn)題;
rmmod:移除內(nèi)核中的指定模塊;
-f:強(qiáng)制卸載內(nèi)核模塊,這樣做可能引起系統(tǒng)崩潰,一般地,不建議使用這個(gè)選項(xiàng);另外,這個(gè)選項(xiàng)的支持需要在編譯內(nèi)核時(shí)開(kāi)啟”Forced Module Removal“選項(xiàng);
-v:卸載內(nèi)核模塊時(shí)打印出詳細(xì)信息;
-s:將錯(cuò)誤信息輸入到syslog服務(wù),而非打印到stderr;
-w:通常,系統(tǒng)不允許移除正在使用的模塊,使用參數(shù)將會(huì)將該模塊迅速孤立起來(lái),直到其不再被訪(fǎng)問(wèn)和使用;
Usage: rmmod [-fhswvV] modulename ...
notes:一般地,我們先使用lsmod和grep檢索出待卸載的模塊,然后直接使用”rmmod modulename“移除模塊即可,如果提示正在被使用,則加上f參數(shù) 處理即可;
depmod:分析可加載模塊的依賴(lài)性,生成依賴(lài)關(guān)系文件”modules.dep“和映射文件;此命令會(huì)讀取”/lib/modules/”version“/“目錄下的所有模塊信息,并檢查每個(gè)模塊導(dǎo)出的symbol和需要的symbol,然后據(jù)此生成一個(gè)依賴(lài)關(guān)系列表,默認(rèn)地,該列表寫(xiě)入到”/lib/modules/”version“/modules.dep“中;如果,命令中的filename有指定的話(huà),則會(huì)僅檢查這些指定的模塊(并不常用);如果命令中提供了version參數(shù),則會(huì)使用version所指定的目錄生成依賴(lài),而不是當(dāng)前內(nèi)核的版本(uname -r);
-b:如果你的模塊不在”/lib/modules/version“目錄下,可以指定目錄,然后生成依賴(lài);
-e:和-F選項(xiàng)一起使用,當(dāng)一個(gè)模塊需要的symbol在其他模塊里面沒(méi)有提供時(shí),做出報(bào)告,正常情況下,模塊沒(méi)有提供的symbol都在內(nèi)核中有提供;
-F:提供一個(gè)System.map文件(在編譯內(nèi)核時(shí)生成),允許-e選項(xiàng)報(bào)告出”unresolved symbol“;
-n:將結(jié)果”modules.dep“和各種映射文件輸出到stdout,而不是寫(xiě)到模塊目錄下;
-a:探測(cè)所有模塊,這個(gè)選項(xiàng)是默認(rèn)的,如果直接使用”depmod“這種形式;
-A:檢查是否有模塊比modules.dep中的模塊新,若沒(méi)有,則退出不重新生成文件;
Usage:depmod [-n -e -v -q -r -u -w] [-F kernelsyms] module1.ko module2.ko ...
notes:一般地,我們直接使用”depmod“這種形式即可,先進(jìn)行依賴(lài)關(guān)系的處理,然后使用”modprobe“進(jìn)行加載;
modprobe:加載或者移除內(nèi)核模塊;可以智能地處理依賴(lài)性問(wèn)題;使用”modprobe“時(shí),需要一個(gè)最新的”modules.dep“文件,可以用”depmod“生成;模塊自動(dòng)加載啊打發(fā)愛(ài)的色放啊
-v:輸出詳細(xì)信息;
-C:重載默認(rèn)配置文件(/etc/modprobe.conf~RHEL6.x之前,或者/etc/modprobe.d/*);
-c:輸出配置文件并退出;
-n:可以和-v一起使用,調(diào)試時(shí)非常有用;
-q:靜默模式,一般modprobe裝載或者移除一個(gè)模塊時(shí),若沒(méi)有找到則會(huì)提示錯(cuò)誤,使用了該選項(xiàng)后,會(huì)忽略指定的模塊,并不提示任何錯(cuò)誤信息;
-f:強(qiáng)制操作,常和”--force-vermagic、--force-modversion“一起使用;
-l:列出所有模塊;
-a:插入命令行中的所有模塊;
-r:移除模塊;有時(shí)需要強(qiáng)制性操作,這時(shí),多加上”--force“參數(shù);
-s:將錯(cuò)誤信息寫(xiě)入syslog中;
Usage:modprobe [ -v ] [ -V ] [ -C config-file ] [ -n ] [ -i ] [ -q ] [ -b ] [ -o modulename ] [ modulename ] [ module parameters... ]
notes:一般地,我們先使用”depmod“生成最新的依賴(lài)關(guān)系,然后使用”modprobe ext4(.ko)“的形式插入模塊,有時(shí)由于版本問(wèn)題,還會(huì)使用”--force-modversion“參數(shù);