1. 程式人生 > >軟體測試常用Linux命令

軟體測試常用Linux命令

有些技能可以事半功倍,有些命運掌握在我們手中。熟練的掌握和使用這些命令可以提高工作效率,並且結合這些命令對測試過程中遇到的問題進行一些初步的定位。

1 目錄與檔案操作

1.1 ls(初級)

使用許可權:所有人
功能 : 顯示指定工作目錄下之內容(列出目前工作目錄所含之檔案及子目錄)。 
引數 : 
-a 顯示所有檔案及目錄 (ls內定將檔案名或目錄名稱開頭為"."的視為隱藏檔,不會列出) 
-l 除檔案名稱外,亦將檔案型態、許可權、擁有者、檔案大小等資訊詳細列出 
-r 將檔案以相反次序顯示(原定依英文字母次序)
-t 將檔案依建立時間之先後次序列出
-A 同 -a ,但不列出 "." (目前目錄) 及 ".." (父目錄)
-F 在列出的檔案名稱後加一符號;例如可執行檔則加 "*", 目錄則加 "/"
-R 若目錄下有檔案,則以下之檔案亦皆依序列出

範例:
列出目前工作目錄下所有名稱是 s 開頭的檔案,愈新的排愈後面 : 
   ls -ltr s* 
  將 /bin 目錄以下所有目錄及檔案詳細資料列出 : 
   ls -lR /bin 
  列出目前工作目錄下所有檔案及目錄;目錄於名稱後加 "/", 可執行檔於名稱後加 "*" 
   ls –AF
常用方式及使用技巧:
  ls –l 以列表形式輸出當前目錄中存在的檔案
  ls –lt 按照修改時間倒序排序,即最新的在最上面展示

1.2 ll(初級)

ls –l的縮寫形式
cd(初級)
使用許可權 : 所有使用者 
使用方式 : cd [dirName] 
說明 : 變換工作目錄至 dirName。 其中 dirName 表示法可為絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的 home directory (也就是剛 login 時所在的目錄)。 
另外,"~" 也表示為 home directory 的意思,"." 則是表示目前所在的目錄,".." 則表示目前目錄位置的上一層目錄。

範例 : 跳到 /usr/bin/ : cd /usr/bin 
跳到自己的 home directory : cd ~ 
跳到目前目錄的上上兩層 : cd ../.. 
返回進入當前目錄前所在目錄:cd -
常用方式及使用技巧:~表示當前使用者的家目錄,另外需要大家關注相對路徑以及絕對路徑的概念

1.3 pwd(初級)

功能:顯示當前工作目錄

範例:$pwd
常用方式及使用技巧:手動打補丁上傳補丁檔案時通常先在服務端找到該檔案,然後使用pwd將路徑輸出並且拷貝,然後將路徑貼上到ftp工具的路徑欄中

1.4 mkdir(初級)

名稱: mkdir 
使用許可權:於目前目錄有適當許可權的所有使用者 
使用方式:mkdir [-p] dirName 
說明:建立名稱為 dirName 之子目錄。 
引數:-p 確保目錄名稱存在,不存在的就建一個。

範例: 
在工作目錄下,建立一個名為 AAA 的子目錄 : 
mkdir AAA 
在工作目錄下的 BBB 目錄中,建立一個名為 Test 的子目錄。若 BBB 目錄原本不存在,則建立一個。(注:本例若不加 -p,且原本 BBB目錄不存在,則產生錯誤。) 
mkdir -p BBB/Test

 

1.5 rmdir(初級)

功能說明:刪除目錄。
語  法:rmdir [-p][--help][--ignore-fail-on-non-empty][--verbose][--version][目錄...]
補充說明:當有空目錄要刪除時,可使用rmdir指令。
參  數:
-p或--parents 刪除指定目錄後,若該目錄的上層目錄已變成空目錄,則將其一併刪除。

 

1.6 rm(初級)

功能說明:刪除檔案或目錄。
語  法:rm [-dfirv][--help][--version][檔案或目錄...]
補充說明:執行rm指令可刪除檔案或目錄,如欲刪除目錄必須加上引數"-r",否則預設僅會刪除檔案。 
參  數:
 -d或--directory  直接把欲刪除的目錄的硬連線資料刪成0,刪除該目錄。 
 -f或--force  強制刪除檔案或目錄。 
 -i或--interactive  刪除既有檔案或目錄之前先詢問使用者。 
 -r或-R或--recursive  遞迴處理,將指定目錄下的所有檔案及子目錄一併處理。

注意:在使用rm –rf * 命令前請使用pwd確定當前目錄,以免發生誤刪除


1.7 head(初級)

功能說明:看一個檔案的頭幾行
語法:head –n filename
引數:-n :後面接數字,代表顯示幾行的意思

常用方式及使用技巧:$head -10 error.log


1.8 more(初級)

功能說明:一頁一頁的顯示檔案的內容
語法:more filename
使用方式:
空格鍵 (space):代表向下翻一頁;
Enter :代表向下翻『一行』;
/字串 :代表在這個顯示的內容當中,向下搜尋『字串』;
:f :立刻顯示出檔名以及目前顯示的行數;
q :代表立刻離開 more ,不再顯示該檔案內容。

常用方式及使用技巧:#ifconfig –a | more


1.9 less(初級)

功能說明:less 與 more 類似,但是比 more 更好的是,他可以往前翻頁!
語法:less filename
使用方式:
空格鍵 :向下翻動一頁; 
[pagedown]:向下翻動一頁; 
[pageup] :向上翻動一頁; 
/字串 :向下搜尋『字串』的功能; 
?字串 :向上搜尋『字串』的功能; 
n :重複前一個搜尋 (與 / 或 ? 有關!) 
N :反向的重複前一個搜尋 (與 / 或 ? 有關!) 
q :離開 less 這個程式;

常用方式及使用技巧:less error.log


1.10 tail(初級)

功能說明:看一個檔案末尾n行
語法:tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]
使用說明:tail 命令從指定點開始將 File 引數指定的檔案寫到標準輸出。如果沒有指定檔案,則會使用標準輸入。 Number 變數指定將多少單元寫入標準輸出。 Number 變數的值可以是正的或負的整數。如果值的前面有 +(加號),從檔案開頭指定的單元數開始將檔案寫到標準輸出。如果值的前面有 -(減號),則從檔案末尾指定的單元數開始將檔案寫到標準輸出。如果值前面沒有 +(加號)或 -(減號),那麼從檔案末尾指定的單元號開始讀取檔案。
主要引數:
-f 如果輸入檔案是常規檔案或如果 File 引數指定 FIFO(先進先出),那麼 tail 命令不會在複製了輸入檔案的最後的指定單元后終止,而是繼續從輸入檔案讀取和複製額外的單元(當這些單元可用時)。如果沒有指定 File 引數,並且標準輸入是管道,則會忽略 -f 標誌。tail -f 命令可用於監視另一個程序正在寫入的檔案的增長。 
-n Number 從首行或末行位置來讀取指定檔案,位置由 Number 變數的符號(+ 或 - 或無)表示,並通過行號 Number 進行位移。

常用方式及使用技巧:tail –f error.log


1.11 cp(初級)

功能說明:複製檔案或目錄。 
語  法:cp [-abdfilpPrRsuvx][-S <備份字尾字串>][-V <備份方式>][--help][--spares=<使用時機>][--version][原始檔或目錄][目標檔案或目錄] [目的目錄] 
補充說明:cp指令用在複製檔案或目錄,如同時指定兩個以上的檔案或目錄,且最後的目的地是一個已經存在的目錄,則它會把前面指定的所有檔案或目錄複製到該目錄中。若同時指定多個檔案或目錄,而最後的目的地並非是一個已存在的目錄,則會出現錯誤資訊。
參  數:
 -r  遞迴處理,將指定目錄下的檔案與子目錄一併處理。 
 -R或--recursive  遞迴處理,將指定目錄下的所有檔案與子目錄一併處理。 。

常用方式及使用技巧:cp server.xml ../bak


1.12 mv(初級)

功能說明:移動或更名現有的檔案或目錄。
語  法:mv [-bfiuv][--help][--version][-S <附加字尾>][-V <方法>][原始檔或目錄][目標檔案或目錄]
補充說明:mv可移動檔案或目錄,或是更改檔案或目錄的名稱。
參  數:
 -b或--backup  若需覆蓋檔案,則覆蓋前先行備份。 
 -f或--force  若目標檔案或目錄與現有的檔案或目錄重複,則直接覆蓋現有的文 件或目錄。 
 -i或--interactive  覆蓋前先行詢問使用者。

常用方式及使用技巧:mv server.xml server.xml_bak


1.13 chmod(初級)

功能說明:變更檔案或目錄的許可權。
語  法:chmod [-cfRv][--help][--version][<許可權範圍>+/-/=<許可權設定...>][檔案或目錄...] 或 chmod [-cfRv][--help][--version][數字代號][檔案或目錄...] 或 chmod [-cfRv][--help][--reference=<參考檔案或目錄>][--version][檔案或目錄...] 
補充說明:在UNIX系統家族裡,檔案或目錄許可權的控制分別以讀取,寫入,執行3種一般許可權來區分,另有3種特殊許可權可供運用,再搭配擁有者與所屬群組管理許可權範圍。您可以使用chmod指令去變更檔案與目錄的許可權,設定方式採用文字或數字代號皆可。符號連線的許可權無法變更,如果您對符號連線修改許可權,其改變會作用在被連線的原始檔案。許可權範圍的表示法如下: 
 u:User,即檔案或目錄的擁有者。 
 g:Group,即檔案或目錄的所屬群組。 
 o:Other,除了檔案或目錄擁有者或所屬群組之外,其他使用者皆屬於這個範圍。 
 a:All,即全部的使用者,包含擁有者,所屬群組以及其他使用者。 
 有關許可權代號的部分,列表於下: 
 r:讀取許可權,數字代號為"4"。 
 w:寫入許可權,數字代號為"2"。 
 x:執行或切換許可權,數字代號為"1"。 
 -:不具任何許可權,數字代號為"0"。 
 s:特殊?b>功能說明:變更檔案或目錄的許可權。
參  數:
 -c或--changes  效果類似"-v"引數,但僅回報更改的部分。 
 -f或--quiet或--silent  不顯示錯誤資訊。 
 -R或--recursive  遞迴處理,將指定目錄下的所有檔案及子目錄一併處理。 
 <許可權範圍>+<許可權設定>  開啟許可權範圍的檔案或目錄的該項許可權設定。 
 <許可權範圍>-<許可權設定>  關閉許可權範圍的檔案或目錄的該項許可權設定。 
 <許可權範圍>=<許可權設定>  指定許可權範圍的檔案或目錄的該項許可權設定。

常用方式及使用技巧:chmod +x *


1.14 chown(初級)

功能說明:變更檔案或目錄的擁有者或所屬群組。
語  法:chown [-cfhRv][--dereference][--help][--version][擁有者.<所屬群組>][檔案或目錄..] 或chown [-chfRv][--dereference][--help][--version][.所屬群組][檔案或目錄... ...] 或chown [-cfhRv][--dereference][--help][--reference=<參考檔案或目錄>][--version][檔案或目錄...] 
補充說明:在UNIX系統家族裡,檔案或目錄許可權的掌控以擁有者及所屬群組來管理。您可以使用chown指令去變更檔案與目錄的擁有者或所屬群組,設定方式採用使用者名稱稱或使用者識別碼皆可,設定群組則用群組名稱或群組識別碼。 
參  數:
 -c或--changes  效果類似"-v"引數,但僅回報更改的部分。 
 -f或--quite或--silent  不顯示錯誤資訊。 
 -R或--recursive  遞迴處理,將指定目錄下的所有檔案及子目錄一併處理。

常用方式及使用技巧:chown –R portal:JavaMegroup JavaMe


1.15 wc(初級)

功能說明:計算字數。
語  法:wc [-clw][--help][--version][檔案...]
補充說明:利用wc指令我們可以計算檔案的Byte數、字數、或是列數,若不指定檔名稱、或是所給予的檔名為“-”,則wc指令會從標準輸入裝置讀取資料。
參  數:
-c或--bytes或--chars 只顯示Bytes數。
-l或--lines 只顯示列數。
-w或--words 只顯示字數。

常用方式及使用技巧:netstat –an | grep 1521 | wc -l


1.16 file(中級)


功能說明:辨識檔案型別。 
語  法:file [-beLvz][-f <名稱檔案>][-m <魔法數字檔案>...][檔案或目錄...] 
補充說明:通過file指令,我們得以辨識該檔案的型別。 
參  數:
 -b  列出辨識結果時,不顯示檔名稱。 
 -c  詳細顯示指令執行過程,便於排錯或分析程式執行的情形。 
 -f<名稱檔案>  指定名稱檔案,其內容有一個或多個檔名稱呢感,讓file依序辨識這些檔案,格式為每列一個檔名稱。 
 -L  直接顯示符號連線所指向的檔案的類別。 
 -m<魔法數字檔案>  指定魔法數字檔案。 
 -v  顯示版本資訊。 
 -z  嘗試去解讀壓縮檔案的內容。

常用方式及使用技巧:file common.xml


1.17 find(中級)


功能說明:查詢檔案或目錄。
語  法:find [目錄...][-amin <分鐘>][-anewer <參考檔案或目錄>][-atime <24小時數>][-cmin <分鐘>][-cnewer <參考檔案或目錄>][-ctime <24小時數>][-daystart][-depyh][-empty][-exec <執行指令>][-false][-fls <列表檔案>][-follow][-fprint <列表檔案>][-fprint0 <列表檔案>][-fprintf <列表檔案><輸出格式>][-fstype <檔案系統型別>][-gid <群組識別碼>][-group <群組名稱>][-help][-ilname <範本樣式>][-iname <範本樣式>][-inum <inode編號>][-ipath <範本樣式>][-iregex <範本樣式>][-links <連線數目>][-lname <範本樣式>][-ls][-maxdepth <目錄層級>][-mindepth <目錄層級>][-mmin <分鐘>][-mount] 
[-mtime <24小時數>][-name <範本樣式>][-newer <參考檔案或目錄>][-nogroup][noleaf] [-nouser][-ok <執行指令>][-path <範本樣式>][-perm <許可權數值>][-print][-print0][-printf <輸出格式>][-prune][-regex <範本樣式>][-size <檔案大小>][-true][-type <檔案型別>][-uid <使用者識別碼>][-used <日數>][-user <擁有者名稱>][-version][-xdev][-xtype <檔案型別>]
補充說明:find指令用於查詢符合條件的檔案。任何位於引數之前的字串都將被視為欲查詢的目錄。
參  數:
 -amin<分鐘>  查詢在指定時間曾被存取過的檔案或目錄,單位以分鐘計算。 
 -anewer<參考檔案或目錄>  查詢其存取時間較指定檔案或目錄的存取時間更接近現在的檔案或目錄。 
 -atime<24小時數>  查詢在指定時間曾被存取過的檔案或目錄,單位以24小時計算。 
 -cmin<分鐘>  查詢在指定時間之時被更改的檔案或目錄。 
 -cnewer<參考檔案或目錄>  查詢其更改時間較指定檔案或目錄的更改時間更接近現在的檔案或目錄。 
 -ctime<24小時數>  查詢在指定時間之時被更改的檔案或目錄,單位以24小時計算。 
 -daystart  從本日開始計算時間。 
 -depth  從指定目錄下最深層的子目錄開始查詢。 
 -expty  尋找檔案大小為0 Byte的檔案,或目錄下沒有任何子目錄或檔案的空目錄。 
 -exec<執行指令>  假設find指令的回傳值為True,就執行該指令。 
 -false  將find指令的回傳值皆設為False。 
 -fls<列表檔案>  此引數的效果和指定"-ls"引數類似,但會把結果儲存為指定的列表檔案。 
 -follow  排除符號連線。 
 -fprint<列表檔案>  此引數的效果和指定"-print"引數類似,但會把結果儲存成指定的列表檔案。 
 -fprint0<列表檔案>  此引數的效果和指定"-print0"引數類似,但會把結果儲存成指定的列表檔案。 
 -fprintf<列表檔案><輸出格式>  此引數的效果和指定"-printf"引數類似,但會把結果儲存成指定的列表檔案。 
 -fstype<檔案系統型別>  只尋找該檔案系統型別下的檔案或目錄。 
 -gid<群組識別碼>  查詢符合指定之群組識別碼的檔案或目錄。 
 -group<群組名稱>  查詢符合指定之群組名稱的檔案或目錄。 
 -ilname<範本樣式>  此引數的效果和指定"-lname"引數類似,但忽略字元大小寫的差別。 
 -iname<範本樣式>  此引數的效果和指定"-name"引數類似,但忽略字元大小寫的差別。 
 -inum<inode編號>  查詢符合指定的inode編號的檔案或目錄。 
 -ipath<範本樣式>  此引數的效果和指定"-ipath"引數類似,但忽略字元大小寫的差別。 
 -iregex<範本樣式>  此引數的效果和指定"-regexe"引數類似,但忽略字元大小寫的差別。 
 -links<連線數目>  查詢符合指定的硬連線數目的檔案或目錄。 
 -iname<範本樣式>  指定字串作為尋找符號連線的範本樣式。 
 -ls  假設find指令的回傳值為True,就將檔案或目錄名稱列出到標準輸出。 
 -maxdepth<目錄層級>  設定最大目錄層級。 
 -mindepth<目錄層級>  設定最小目錄層級。 
 -mmin<分鐘>  查詢在指定時間曾被更改過的檔案或目錄,單位以分鐘計算。 
 -mount  此引數的效果和指定"-xdev"相同。 
 -mtime<24小時數>  查詢在指定時間曾被更改過的檔案或目錄,單位以24小時計算。 
 -name<範本樣式>  指定字串作為尋找檔案或目錄的範本樣式。 
 -newer<參考檔案或目錄>  查詢其更改時間較指定檔案或目錄的更改時間更接近現在的檔案或目錄。 
 -nogroup  找出不屬於本地主機群組識別碼的檔案或目錄。 
 -noleaf  不去考慮目錄至少需擁有兩個硬連線存在。 
 -nouser  找出不屬於本地主機使用者識別碼的檔案或目錄。 
 -ok<執行指令>  此引數的效果和指定"-exec"引數類似,但在執行指令之前會先詢問使用者,若回答"y"或"Y",則放棄執行指令。 
 -path<範本樣式>  指定字串作為尋找目錄的範本樣式。 
 -perm<許可權數值>  查詢符合指定的許可權數值的檔案或目錄。 
 -print  假設find指令的回傳值為True,就將檔案或目錄名稱列出到標準輸出。格式為每列一個名稱,每個名稱之前皆有"./"字串。 
 -print0  假設find指令的回傳值為True,就將檔案或目錄名稱列出到標準輸出。格式為全部的名稱皆在同一行。 
 -printf<輸出格式>  假設find指令的回傳值為True,就將檔案或目錄名稱列出到標準輸出。格式可以自行指定。 
 -prune  不尋找字串作為尋找檔案或目錄的範本樣式。 
 -regex<範本樣式>  指定字串作為尋找檔案或目錄的範本樣式。 
 -size<檔案大小>  查詢符合指定的檔案大小的檔案。 
 -true  將find指令的回傳值皆設為True。 
 -typ<檔案型別>  只尋找符合指定的檔案型別的檔案。 
 -uid<使用者識別碼>  查詢符合指定的使用者識別碼的檔案或目錄。 
 -used<日數>  查詢檔案或目錄被更改之後在指定時間曾被存取過的檔案或目錄,單位以日計算。 
 -user<擁有者名稱>  查詢符合指定的擁有者名稱的檔案或目錄。 
 -version或--version  顯示版本資訊。 
 -xdev  將範圍侷限在先行的檔案系統中。 
 -xtype<檔案型別>  此引數的效果和指定"-type"引數類似,差別在於它針對符號連線檢查。

常用方式及使用技巧:find ./ -name “*.xml” xargs –print | grep –i “time-out” 


1.18 grep(中級)


功能說明:查詢檔案裡符合條件的字串。
語  法:grep [-abcEFGhHilLnqrsvVwxy][-A<顯示列數>][-B<顯示列數>][-C<顯示列數>][-d<進行動作>][-e<範本樣式>][-f<範本檔案>][--help][範本樣式][檔案或目錄...]
補充說明:grep指令用於查詢內容包含指定的範本樣式的檔案,如果發現某檔案的內容符合所指定的範本樣式,預設grep指令會把含有範本樣式的那一列顯示出來。若不指定任何檔名稱,或是所給予的檔名為“-”,則grep指令會從標準輸入裝置讀取資料。
參  數:
-i或--ignore-case 忽略字元大小寫的差別。
-v或--revert-match 反轉查詢。

常用方式及使用技巧:find ./ -name “*.xml” xargs –print | grep –i “time-out” 


1.19 diff(中級)


功能說明:比較檔案的差異。 
語  法:diff [-abBcdefHilnNpPqrstTuvwy][-<行數>][-C <行數>][-D <巨集名稱>][-I <字元或字串>][-S <檔案>][-W <寬度>][-x <檔案或目錄>][-X <檔案>][--help][--left-column][--suppress-common-line][檔案或目錄1][檔案或目錄2] 
補充說明:diff以逐行的方式,比較文字檔案的異同處。所是指定要比較目錄,則diff會比較目錄中相同檔名的檔案,但不會比較其中子目錄。
參  數: 
 -r或--recursive  比較子目錄中的檔案。

常用方式及使用技巧:diff server.xml server.xml_bak 


1.20 cat(初級)


使用許可權:所有使用者 
使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName 
說明:把檔案串連線後傳到基本輸出(螢幕或加 > fileName 到另一個檔案)
引數:
-n 或 --number 由 1 開始對所有輸出的行數編號

範例:
cat -n textfile1 > textfile2 把 textfile1 的檔案內容加上行號後輸入 textfile2 這個檔案裡
cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的檔案內容加上行號(空白行不加)之後將內容附加到 textfile3 裡。
常用方式及使用技巧:cat common_settings.xml


1.21 tar(初級)


功能說明:備份檔案。
語  法:tar [-ABcdgGhiklmMoOpPrRsStuUvwWxzZ][-b <區塊數目>][-C <目的目錄>][-f <備份檔案>][-F <Script檔案>][-K <檔案>][-L <媒體容量>][-N <日期時間>][-T <範本檔案>][-V <卷冊名稱>][-X <範本檔案>][-<裝置編號><儲存密度>][--after-date=<日期時間>][--atime-preserve][--backuup=<備份方式>][--checkpoint][--concatenate][--confirmation][--delete][--exclude=<範本樣式>][--force-local][--group=<群組名稱>][--help][--ignore-failed-read][--new-volume-script=<Script檔案>][--newer-mtime][--no-recursion][--null][--numeric-owner][--owner=<使用者名稱稱>][--posix][--erve][--preserve-order][--preserve-permissions][--record-size=<區塊數目>][--recursive-unlink][--remove-files][--rsh-command=<執行指令>][--same-owner][--suffix=<備份字尾字串>][--totals][--use-compress-program=<執行指令>][--version][--volno-file=<編號檔案>][檔案或目錄...]
補充說明:tar是用來建立,還原備份檔案的工具程式,它可以加入,解開備份檔案內的檔案。
參  數:
-c或--create 建立新的備份檔案。
-f<備份檔案>或--file=<備份檔案> 指定備份檔案。
-v或--verbose 顯示指令執行過程。
-w或--interactive 遭遇問題時先詢問使用者。
-W或--verify 寫入備份檔案後,確認檔案正確無誤。
-x或--extract或--get 從備份檔案中還原檔案。

常用方式及使用技巧:
tar –cvf JavaMe.tar JavaMe
tar –xvf JavaMe JavaMe.tar
tar –zcvf JavaMe.tar.gz JavaMe
tar –zxvf JavaMe JavaMe.tar.gz


1.22 source(初級)


功能說明: 在當前bash環境下讀取並執行FileName中的命令
補充說明:該命令通常用命令“.”來替代。如:source .bash_rc 與 . .bash_rc 是等效的。

語法:
source FileName
常用方式及使用技巧:source .bashrc


1.23 “>” (初級)


功能說明:輸出重定向
補充說明:以重寫的方式輸出重定向

語法:
tail –f Error.log > test.log
常用方式及使用技巧: cat /dev/null > Error.log


1.24 “>>” (初級)


功能說明:輸出重定向
補充說明:以追加的方式進行輸出重定向

語法:
tail –f Error.log >> test.log
常用方式及使用技巧:cat Error.log > > test.log

 


2 裝置管理


2.1 mount(中級)


名稱 : mount 
  使用許可權 : 系統管理者或/etc/fstab中允許的使用者 
  使用方式 : 
  mount [-hV] 
  mount -a [-fFnrsvw] [-t vfstype] 
  mount [-fnrsvw] [-o options [,...]] device | dir 
  mount [-fnrsvw] [-t vfstype] [-o options] device dir 
說明 : 
  將某個檔案的內容解讀成檔案系統,然後將其掛在目錄的某個位置之上。當這個命令執行成功後,直到我們使用 umnount 將這個檔案系統移除為止,這個命令之下的所有檔案將暫時無法被呼叫。 
  這個命令可以被用來掛上任何的檔案系統,你甚至可以用 -o loop 選項將某個一般的檔案當成硬碟機分割掛上系統。這個功能對於 ramdisk,romdisk 或是 ISO 9660 的影像檔之解讀非常實用。 
引數 :
  -a  將 /etc/fstab 中定義的所有檔案系統掛上。 
  -F  這個命令通常和 -a 一起使用,它會為每一個 mount 的動作產生一個行程負責執行。在系統需要掛上大量 NFS 檔案系統時可以加快掛上的動作。 
  -f  通常用在除錯的用途。它會使 mount 並不執行實際掛上的動作,而是模擬整個掛上的過程。通常會和 -v 一起使用。
  -n  一般而言,mount 在掛上後會在 /etc/mtab 中寫入一筆資料。但在系統中沒有可寫入檔案系統存在的情況下可以用這個選項取消這個動作。 
  -s-r  等於 -o ro 
  -w  等於 -o rw 
  -L  將含有特定標籤的硬碟分割掛上。 
  -U 將檔案分割序號為 的檔案系統掛下。-L 和 -U 必須在/proc/partition 這種檔案存在時才有意義。 
  -t  指定檔案系統的型態,通常不必指定。mount 會自動選擇正確的型態。 
  -o async 開啟非同步模式,所有的檔案讀寫動作都會用非同步模式執行。 
  -o sync 在同步模式下執行。 
  -o atime 
  -o noatime 當 atime 開啟時,系統會在每次讀取檔案時更新檔案的『上一次呼叫時間』。當我們使用 flash 檔案系統時可能會選項把這個選項關閉以減少寫入的次數。 
  -o auto 
  -o noauto 開啟/關閉自動掛上模式。 
  -o defaults 使用預設的選項 rw, suid, dev, exec, auto, nouser, and async. 
  -o dev 
  -o nodev-o exec 
  -o noexec 允許執行檔被執行。 
  -o suid 
  -o nosuid  允許執行檔在 root 許可權下執行。 
  -o user 
  -o nouser  使用者可以執行 mount/umount 的動作。 
  -o remount 將一個已經掛下的檔案系統重新用不同的方式掛上。例如原先是唯讀的系統,現在用可讀寫的模式重新掛上。 
  -o ro  用唯讀模式掛上。 
  -o rw 用可讀寫模式掛上。 
  -o loop=  使用 loop 模式用來將一個檔案當成硬碟分割掛上系統。

複製程式碼
範例:
  將 /dev/hda1 掛在 /mnt 之下。 
   #mount /dev/hda1 /mnt 
  將 /dev/hda1 用唯讀模式掛在 /mnt 之下。
   #mount -o ro /dev/hda1 /mnt 
  將 /tmp/image.iso 這個光碟的 image 檔使用 loop 模式掛在 /mnt/cdrom之下。用這種方法可以將一般網路上可以找到的 Linux 光 碟 ISO 檔在不燒錄成光碟的情況下檢視其內容。 
   #mount -o loop /tmp/image.iso /mnt/cdrom 
相關命令:umount 
常用方式及使用技巧: mount -t nfs 10.137.22.245:/home/pnfs /home/pnfs
複製程式碼


2.2 umount(中級)


功能說明:卸除檔案系統。
語  法:umount [-ahnrvV][-t <檔案系統型別>][檔案系統]
補充說明:umount可卸除目前掛在Linux目錄中的檔案系統。
參  數:
-a 卸除/etc/mtab中記錄的所有檔案系統。
-h 顯示幫助。
-n 卸除時不要將資訊存入/etc/mtab檔案中。
-r 若無法成功卸除,則嘗試以只讀的方式重新掛入檔案系統。
-t<檔案系統型別> 僅卸除選項中所指定的檔案系統。
-v 執行時顯示詳細的資訊。
-V 顯示版本資訊。
[檔案系統] 除了直接指定檔案系統外,也可以用裝置名稱或掛入點來表示檔案系統。
常用方式及使用技巧 :umount /home/pnfs


2.3 du(中級)


功能說明:顯示目錄或檔案的大小。
語  法:du [-abcDhHklmsSx][-L <符號連線>][-X <檔案>][--block-size][--exclude=<目錄或檔案>][--max-depth=<目錄層數>][--help][--version][目錄或檔案]
補充說明:du會顯示指定的目錄或檔案所佔用的磁碟空間。
參  數:
-a或-all 顯示目錄中個別檔案的大小。
-b或-bytes 顯示目錄或檔案大小時,以byte為單位。
-c或--total 除了顯示個別目錄或檔案的大小外,同時也顯示所有目錄或檔案的總和。
-D或--dereference-args 顯示指定符號連線的原始檔大小。
-h或--human-readable 以K,M,G為單位,提高資訊的可讀性。
-H或--si 與-h引數相同,但是K,M,G是以1000為換算單位。
-k或--kilobytes 以1024 bytes為單位。
-l或--count-links 重複計算硬體連線的檔案。
-L<符號連線>或--dereference<符號連線> 顯示選項中所指定符號連線的原始檔大小。
-m或--megabytes 以1MB為單位。
-s或--summarize 僅顯示總計。
-S或--separate-dirs 顯示個別目錄的大小時,並不含其子目錄的大小。
常用方式及使用技巧: du –sh *


2.4 df(初級)


功能說明:顯示磁碟的相關資訊。
語  法:df [-ahHiklmPT][--block-size=<區塊大小>][-t <檔案系統型別>][-x <檔案系統型別>][--help][--no-sync][--sync][--version][檔案或裝置]
補充說明:df可顯示磁碟的檔案系統與使用情形。
參  數:
-a或--all 包含全部的檔案系統。
--block-size=<區塊大小> 以指定的區塊大小來顯示區塊數目。
-h或--human-readable 以可讀性較高的方式來顯示資訊。
-H或--si 與-h引數相同,但在計算時是以1000 Bytes為換算單位而非1024 Bytes。
-i或--inodes 顯示inode的資訊。
-k或--kilobytes 指定區塊大小為1024位元組。
-l或--local 僅顯示本地端的檔案系統。
-m或--megabytes 指定區塊大小為1048576位元組。
--no-sync 在取得磁碟使用資訊前,不要執行sync指令,此為預設值。
-P或--portability 使用POSIX的輸出格式。
--sync 在取得磁碟使用資訊前,先執行sync指令。
-t<檔案系統型別>或--type=<檔案系統型別> 僅顯示指定檔案系統型別的磁碟資訊。
-T或--print-type 顯示檔案系統的型別。
-x<檔案系統型別>或--exclude-type=<檔案系統型別> 不要顯示指定檔案系統型別的磁碟資訊。
--help 顯示幫助。
--version 顯示版本資訊。
[檔案或裝置] 指定磁碟裝置。
常用方式及使用技巧:df -h


2.5 fdisk(中級)


功能說明:磁碟分割槽。
語  法:fdisk [-b <分割槽大小>][-uv][外圍裝置代號] 或 fdisk [-l][-b <分割槽大小>][-uv][外圍裝置代號...] 或 fdisk [-s <分割槽編號>]
補充說明:fdisk是用來磁碟分割槽的程式,它採用傳統的問答式介面,而非類似DOS fdisk的cfdisk互動式操作介面,因此在使用上較為不便,但功能卻絲毫不打折扣。
參  數:
-b<分割槽大小> 指定每個分割槽的大小。
-l 列出指定的外圍裝置的分割槽表狀況。
-s<分割槽編號> 將指定的分割槽大小輸出到標準輸出上,單位為區塊。
-u 搭配"-l"引數列表,會用分割槽數目取代柱面數目,來表示每個分割槽的起始地址。
常用方式及使用技巧:fdisk -l


2.6 ln(中級)


功能說明:連線檔案或目錄。 
語  法:ln [-bdfinsv][-S <字尾備份字串>][-V <備份方式>][--help][--version][原始檔或目錄][目標檔案或目錄] 或 ln [-bdfinsv][-S <字尾備份字串>][-V <備份方式>][--help][--version][原始檔或目錄...][目的目錄] 
補充說明:ln指令用在連線檔案或目錄,如同時指定兩個以上的檔案或目錄,且最後的目的地是一個已經存在的目錄,則會把前面指定的所有檔案或目錄複製到該目錄中。若同時指定多個檔案或目錄,且最後的目的地並非是一個已存在的目錄,則會出現錯誤資訊。 
參  數:
 -b或--backup  刪除,覆蓋目標檔案之前的備份。 
 -d或-F或--directory  建立目錄的硬連線。 
 -f或--force  強行建立檔案或目錄的連線,不論檔案或目錄是否存在。 
 -i或--interactive  覆蓋既有檔案之前先詢問使用者。 
 -n或--no-dereference  把符號連線的目的目錄視為一般檔案。 
 -s或--symbolic  對原始檔建立符號連線,而非硬連線。 
常用方式及使用技巧:ln –s /home/pnfs/share share


2.7 unzip(初級)


功能說明:解壓縮zip檔案
語  法:unzip [-cflptuvz][-agCjLMnoqsVX][-P <密碼>][.zip檔案][檔案][-d <目錄>][-x <檔案>] 或 unzip [-Z]
補充說明:unzip為.zip壓縮檔案的解壓縮程式。
參  數:
-c 將解壓縮的結果顯示到螢幕上,並對字元做適當的轉換。
-f 更新現有的檔案。
-l 顯示壓縮檔案內所包含的檔案。
-p 與-c引數類似,會將解壓縮的結果顯示到螢幕上,但不會執行任何的轉換。
-t 檢查壓縮檔案是否正確。
-u 與-f引數類似,但是除了更新現有的檔案外,也會將壓縮檔案中的其他檔案解壓縮到目錄中。
-v 執行是時顯示詳細的資訊。
-z 僅顯示壓縮檔案的備註文字。
-a 對文字檔案進行必要的字元轉換。
-b 不要對文字檔案進行字元轉換。 
-C 壓縮檔案中的檔名稱區分大小寫。
-j 不處理壓縮檔案中原有的目錄路徑。
-L 將壓縮檔案中的全部檔名改為小寫。
-M 將輸出結果送到more程式處理。
-n 解壓縮時不要覆蓋原有的檔案。
-o 不必先詢問使用者,unzip執行後覆蓋原有檔案。
-P<密碼> 使用zip的密碼選項。
-q 執行時不顯示任何資訊。
-s 將檔名中的空白字元轉換為底線字元。
-V 保留VMS的檔案版本資訊。
-X 解壓縮時同時回存檔案原來的UID/GID。
[.zip檔案] 指定.zip壓縮檔案。
[檔案] 指定要處理.zip壓縮檔案中的哪些檔案。
-d<目錄> 指定檔案解壓縮後所要儲存的目錄。
-x<檔案> 指定不要處理.zip壓縮檔案中的哪些檔案。
-Z unzip -Z等於執行zipinfo指令。
常用方式及使用技巧: unzip test1.zip


2.8 unrar(中級)

功能說明:解壓rar檔案
語法:unrar –x JavaMe.rar
常用方式及使用技巧:unrar –x JavaMe.rar


2.9 gunzip(初級)

功能說明:解壓檔案。
語  法:gunzip [-acfhlLnNqrtvV][-s <壓縮字尾字串>][檔案...] 或 gunzip [-acfhlLnNqrtvV][-s <壓縮字尾字串>][目錄]
補充說明:gunzip是個使用廣泛的解壓縮程式,它用於解開被gzip壓縮過的檔案,這些壓縮檔案預設最後的副檔名為".gz"。事實上gunzip就是gzip的硬連線,因此不論是壓縮或解壓縮,都可通過gzip指令單獨完成。
參  數:
 -a或--ascii  使用ASCII文字模式。 
 -c或--stdout或--to-stdout  把解壓後的檔案輸出到標準輸出裝置。 
 -f或-force  強行解開壓縮檔案,不理會檔名稱或硬連線是否存在以及該檔案是否為符號連線。 
 -h或--help  線上幫助。 
 -l或--list  列出壓縮檔案的相關資訊。 
 -L或--license  顯示版本與版權資訊。 
 -n或--no-name  解壓縮時,若壓縮檔案內含有遠來的檔名稱及時間戳記,則將其忽略不予處理。 
 -N或--name  解壓縮時,若壓縮檔案內含有原來的檔名稱及時間戳記,則將其回存到解開的檔案上。 
 -q或--quiet  不顯示警告資訊。 
 -r或--recursive  遞迴處理,將指定目錄下的所有檔案及子目錄一併處理。 
 -S<壓縮字尾字串>或--suffix<壓縮字尾字串>  更改壓縮字尾字串。 
 -t或--test  測試壓縮檔案是否正確無誤。 
 -v或--verbose  顯示指令執行過程。 
 -V或--version 顯示版本資訊。
常用方式及使用技巧:gunzip JavaMe.tar.gz


2.10 free(中級)

功能說明:顯示記憶體狀態。
語  法: free [-bkmotV][-s <間隔秒數>]
補充說明:free指令會顯示記憶體的使用情況,包括實體記憶體,虛擬的交換檔案記憶體,共享記憶體區段,以及系統核心使用的緩衝區等。
參  數:
 -b  以Byte為單位顯示記憶體使用情況。 
 -k  以KB為單位顯示記憶體使用情況。 
 -m  以MB為單位顯示記憶體使用情況。 
 -o  不顯示緩衝區調節列。 
 -s<間隔秒數>  持續觀察記憶體使用狀況。 
 -t  顯示記憶體總和列。 
 -V  顯示版本資訊。
常用方式及使用技巧:free -m


2.11 sync(中級)

功能說明:將記憶體緩衝區內的資料寫入磁碟。
語  法:sync [--help][--version]
補充說明:在Linux系統中,當資料需要存入磁碟時,通常會先放到緩衝區內,等到適當的時刻再寫入磁碟,如此可提高系統的執行效率。
參  數:
--help 顯示幫助。
--version 顯示版本資訊。

常用方式及使用技巧:sync;
在執行reboot或者shutdown等命令時一定要首先使用sync將記憶體中的資訊同步到磁碟上,以免造成資料丟失

 


3 系統設定與使用者管理


3.1 who(初級)


功能說明:顯示目前登入系統的使用者資訊。
語  法:who [-Himqsw][--help][--version][am i][記錄檔案]
補充說明:執行這項指令可得知目前有那些使用者登入系統,單獨執行who指令會列出登入帳號,使用的 
終端機,登入時間以及從何處登入或正在使用哪個X顯示器。
參  數:
 -H或--heading  顯示各欄位的標題資訊列。 
 -i或-u或--idle  顯示閒置時間,若該使用者在前一分鐘之內有進行任何動作,將標示成"."號,如果該使用者已超過24小時沒有任何動作,則標示出"old"字串。 
 -m  此引數的效果和指定"am i"字串相同。 
 -q或--count  只顯示登入系統的帳號名稱和總人數。 
 -s  此引數將忽略不予處理,僅負責解決who指令其他版本的相容性問題。 
 -w或-T或--mesg或--message或--writable  顯示使用者的資訊狀態列。 


3.2 whoami(初級)

功能說明:先似乎使用者名稱稱。
語  法:whoami [--help][--version]
補充說明:顯示自身的使用者名稱稱,本指令相當於執行"id -un"指令


3.3 groupadd(初級)

功能說明:新增使用者群組

語法:groupadd –g 1000 JavaMegroup


3.4 groupdel(初級)

功能說明:刪除群組。
語  法:groupdel [群組名稱]
補充說明:需要從系統上刪除群組時,可用groupdel指令來完成這項工作。倘若該群組中仍包括某些使用者,則必須先刪除這些使用者後,方能刪除群組。


3.5 useradd(初級)

功能說明:建立使用者帳號。
語  法:useradd [-mMnr][-c <備註>][-d <登入目錄>][-e <有效期限>][-f <緩衝天數>][-g <群組>][-G <群組>][-s <shell>][-u <uid>][使用者帳號] 或 useradd -D [-b][-e <有效期限>][-f <緩衝天數>][-g <群組>][-G <群組>][-s <shell>]
補充說明:useradd可用來建立使用者帳號。帳號建好之後,再用passwd設定帳號的密碼.而可用userdel刪除帳號。使用useradd指令所建立的帳號,實際上是儲存在/etc/passwd文字檔案中。
參  數:
 -c<備註>  加上備註文字。備註文字會儲存在passwd的備註欄位中。  
 -d<登入目錄>  指定使用者登入時的啟始目錄。 
 -D  變更預設值. 
 -e<有效期限>  指定帳號的有效期限。 
 -f<緩衝天數>  指定在密碼過期後多少天即關閉該帳號。 
 -g<群組>  指定使用者所屬的群組。 
 -G<群組>  指定使用者所屬的附加群組。 
 -m  自動建立使用者的登入目錄。 
 -M  不要自動建立使用者的登入目錄。 
 -n  取消建立以使用者名稱稱為名的群組. 
 -r  建立系統帳號。 
 -s<shell>   指定使用者登入後所使用的shell。 
 -u<uid>  指定使用者ID。
常用方式及使用技巧:useradd –g JavaMegroup –u 1003 –d /home/JavaMe –m –s /bin/bash JavaMe


3.6 userdel(初級)

功能說明:刪除使用者帳號。
語  法:userdel [-r][使用者帳號]
補充說明:userdel可刪除使用者帳號與相關的檔案。若不加引數,則僅刪除使用者帳號,而不刪除相關檔案。
參  數:
-f  刪除使用者登入目錄以及目錄中所有檔案。
常用方式及使用技巧:Userdel –r JavaMe


3.7 passwd(初級)

功能說明:設定密碼。
語  法:passwd [-dklS][-u <-f>][使用者名稱稱]
補充說明:passwd指令讓使用者可以更改自己的密碼,而系統管理者則能用它管理系統使用者的密碼。只有管理者可以指定使用者名稱稱,一般使用者只能變更自己的密碼。
參  數:
-d  刪除密碼。本引數僅有系統管理者才能使用。 
-f  強制執行。 
-k  設定只有在密碼過期失效後,方能更新。 
-l  鎖住密碼。 
-s  列出密碼的相關資訊。本引數僅有系統管理者才能使用。 
-u  解開已上鎖的帳號。


3.8 su(初級)

功能說明:變更使用者身份。
語  法:su [-flmp][--help][--version][-][-c <指令>][-s <shell>][使用者帳號]
補充說明:su可讓使用者暫時變更登入的身份。變更時須輸入所要變更的使用者帳號與密碼。
參  數:
 -c<指令>或--command=<指令>  執行完指定的指令後,即恢復原來的身份。 
 -f或--fast  適用於csh與tsch,使shell不用去讀取啟動檔案。 
 -.-l或--login  改變身份時,也同時變更工作目錄,以及HOME,SHELL,USER,LOGNAME。此外,也會變更PATH變數。 
 -m,-p或--preserve-environment  變更身份時,不要變更環境變數。 
 -s<shell>或--shell=<shell>  指定要執行的shell。 
 --help  顯示幫助。 
 --version  顯示版本資訊。 
 [使用者帳號]  指定要變更的使用者。若不指定此引數,則預設變更為root。

常用方式及使用技巧: su – oracle
su oracle
使用同一個命令中間加不加“-”是有很大的區別的:新增“-”時改變身份時,也同時變更工作目錄,以及HOME,SHELL,USER,LOGNAME。此外,也會變更PATH變數。 
如果不新增“-”,只是改變了使用者,其餘的資訊都不會發生變化


3.9 alias(中級)

功能說明:設定指令的別名。
語  法:alias[別名]=[指令名稱]
補充說明:使用者可利用alias,自定指令的別名。若僅輸入alias,則可列出目前所有的別名設定。 alias的效力僅及於該次登入的操作。若要每次登入是即自動設好別名,可在.profile或.cshrc中設定指令的別名。
參  數:若不加任何引數,則列出目前所有的別名設定。
常用方式及使用技巧:alias stop="cd $HOME/JavaMe/tomcat/bin;./shutdown.sh"


3.10 export(中級)

功能說明:設定或顯示環境變數。
語  法:export [-fnp][變數名稱]=[變數設定值]
補充說明:在shell中執行程式時,shell會提供一組環境變數。export可新增,修改或刪除環境變數,供後續執行的程式使用。export的效力僅及於該此登陸操作。
參  數:
 -f  代表[變數名稱]中為函式名稱。 
 -n  刪除指定的變數。變數實際上並未刪除,只是不會輸出到後續指令的執行環境中。 
 -p  列出所有的shell賦予程式的環境變數。
常用方式及使用技巧:export PATH=${PATH}:${HOME}/JavaMe/tomcat/bin(為bash中設定環境變數使用的命令)


3.11 setenv(中級)

setenv(set environment variable)
功能說明:查詢或顯示環境變數。
語  法:setenv [變數名稱][變數值]
補充說明:setenv為tsch中查詢或設定環境變數的指令。
常用方式及使用技巧:setenv PATH=${PATH}:${HOME}/JavaMe/tomcat/bin(為csh中設定環境變數使用的命令)


3.12 yast(高階)

功能說明:YaST是中心管理和安裝工具,用於完成大多數管理性任務,類似於Windows的控制面板
補充說明:需要以root使用者來執行
語法:
#yast得到如下介面

我們常用Network Device選項為網絡卡繫結IP地址以及路由,另外使用Network service中的Network services(xinetd)開通各種網路服務:如ftp、telnet等、Remote Administration開通系統遠端服務,NFS Server以及NFS Client開通NFS服務。
另外,如果使用XManager等圖形介面登入系統,可以使用yast2&命令,如下圖:

可以使用滑鼠進行選擇操作。


3.13 reboot(初級)


功能說明:重啟系統。
語  法:dreboot [-dfinw]
補充說明:執行reboot指令可讓系統停止運作,並重新開機。
參  數:
-d  重新開機時不把資料寫入記錄檔案/var/tmp/wtmp。本引數具有"-n"引數的效果。 
-f  強制重新開機,不呼叫shutdown指令的功能。 
-i  在重開機之前,先關閉所有網路介面。 
-n  重開機之前不檢查是否有未結束的程式。 
-w  僅做測試,並不真的將系統重新開機,只會把重開機的資料寫入/var/log目錄下的wtmp記錄檔案。


3.14 halt(初級)


功能說明:關閉系統。
語  法:halt [-dfinpw]
補充說明:halt會先檢測系統的runlevel。若runlevel為0或6,則關閉系統,否則即呼叫shutdown來關閉系統。
參  數:
-d  不要在wtmp中記錄。 
-f  不論目前的runlevel為何,不呼叫shutdown即強制關閉系統。 
-i  在halt之前,關閉全部的網路介面。 
-n  halt前,不用先執行sync。 
-p  halt之後,執行poweroff。 
-w  僅在wtmp中記錄,而不實際結束系統。


3.15 shutdown(初級)


功能說明:系統關機指令。
語  法:shutdown [-efFhknr][-t 秒數][時間][警告資訊]
補充說明:shutdown指令可以關閉所有程式,並依使用者的需要,進行重新開機或關機的動作。
參  數:
 -c  當執行"shutdown -h 11:50"指令時,只要按+鍵就可以中斷關機的指令。 
 -f  重新啟動時不執行fsck。 
 -F  重新啟動時執行fsck。 
 -h  將系統關機。 
 -k  只是送出資訊給所有使用者,但不會實際關機。 
 -n  不呼叫init程式進行關機,而由shutdown自己進行。 
 -r  shutdown之後重新啟動。 
 -t<秒數>  送出警告資訊和刪除資訊之間要延遲多少秒。 
 [時間]  設定多久時間後執行shutdown指令。 
 [警告資訊]  要傳送給所有登入使用者的資訊。

 


4 程序管理


4.1 ps(初級)


功能說明:報告程式狀況。
語  法:ps [-aAcdefHjlmNVwy][acefghLnrsSTuvxX][-C <指令名稱>][-g <群組名稱>][-G <群組識別碼>][-p <程式識別碼>][p <程式識別碼>][-s <階段作業>][-t <終端機編號>][t <終端機編號>][-u <使用者識別碼>][-U <使用者識別碼>][U <使用者名稱稱>][-<程式識別碼>][--cols <每列字元數>][--columns <每列字元數>][--cumulative][--deselect][--forest][--headers][--help][--info][--lines <顯示列數>][--no-headers][--group <群組名稱>][-Group <群組識別碼>][--pid <程式識別碼>][--rows <顯示列數>][--sid <階段作業>][--tty <終端機編號>][--user <使用者名稱稱>][--User <使用者識別碼>][--version][--width <每列字元數>]
補充說明:ps是用來報告程式執行狀況的指令,您可以搭配kill指令隨時中斷,刪除不必要的程式。
參  數:
 -a  顯示所有終端機下執行的程式,除了階段作業領導者之外。 
 a  顯示現行終端機下的所有程式,包括其他使用者的程式。 
 -A  顯示所有程式。 
 -c  顯示CLS和PRI欄位。 
 c  列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,引數或常駐服務的標示。 
 -C<指令名稱>  指定執行指令的名稱,並列出該指令的程式的狀況。 
 -d  顯示所有程式,但不包括階段作業領導者的程式。 
 -e  此引數的效果和指定"A"引數相同。 
 e  列出程式時,顯示每個程式所使用的環境變數。 
 -f  顯示UID,PPIP,C與STIME欄位。 
 f  用ASCII字元顯示樹狀結構,表達程式間的相互關係。 
 -g<群組名稱>  此引數的效果和指定"-G"引數相同,當亦能使用階段作業領導者的名稱來指定。 
 g  顯示現行終端機下的所有程式,包括群組領導者的程式。 
 -G<群組識別碼>  列出屬於該群組的程式的狀況,也可使用群組名稱來指定。 
 h  不顯示標題列。 
 -H  顯示樹狀結構,表示程式間的相互關係。 
 -j或j  採用工作控制的格式顯示程式狀況。 
 -l或l  採用詳細的格式來顯示程式狀況。 
 L  列出欄位的相關資訊。 
 -m或m  顯示所有的執行緒。 
 n  以數字來表示USER和WCHAN欄位。 
 -N  顯示所有的程式,除了執行ps指令終端機下的程式之外。 
 -p<程式識別碼>  指定程式識別碼,並列出該程式的狀況。 
 p<程式識別碼>  此引數的效果和指定"-p"引數相同,只在列表格式方面稍有差異。 
 r  只列出現行終端機正在執行中的程式。 
 -s<階段作業>  指定階段作業的程式識別碼,並列出隸屬該階段作業的程式的狀況。 
 s  採用程式訊號的格式顯示程式狀況。 
 S  列出程式時,包括已中斷的子程式資料。 
 -t<終端機編號>  指定終端機編號,並列出屬於該終端機的程式的狀況。 
 t<終端機編號>  此引數的效果和指定"-t"引數相同,只在列表格式方面稍有差異。 
 -T  顯示現行終端機下的所有程式。 
 -u<使用者識別碼>  此引數的效果和指定"-U"引數相同。 
 u  以使用者為主的格式來顯示程式狀況。 
 -U<使用者識別碼>  列出屬於該使用者的程式的狀況,也可使用使用者名稱稱來指定。 
 U<使用者名稱稱>  列出屬於該使用者的程式的狀況。 
 v  採用虛擬記憶體的格式顯示程式狀況。 
 -V或V  顯示版本資訊。 
 -w或w  採用寬闊的格式來顯示程式狀況。  
 x  顯示所有程式,不以終端機來區分。 
 X  採用舊式的Linux i386登陸格式顯示程式狀況。 
 -y  配合引數"-l"使用時,不顯示F(flag)欄位,並以RSS欄位取代ADDR欄位 。 
 -<程式識別碼>  此引數的效果和指定"p"引數相同。 
 --cols<每列字元數>  設定每列的最大字元數。 
 --columns<每列字元數>  此引數的效果和指定"--cols"引數相同。 
 --cumulative  此引數的效果和指定"S"引數相同。 
 --deselect  此引數的效果和指定"-N"引數相同。 
 --forest  此引數的效果和指定"f"引數相同。 
 --headers  重複顯示標題列。 
 --help  線上幫助。 
 --info  顯示排錯資訊。 
 --lines<顯示列數>  設定顯示畫面的列數。 
 --no-headers  此引數的效果和指定"h"引數相同,只在列表格式方面稍有差異。 
 --group<群組名稱>  此引數的效果和指定"-G"引數相同。 
 --Group<群組識別碼>  此引數的效果和指定"-G"引數相同。 
 --pid<程式識別碼>  此引數的效果和指定"-p"引數相同。 
 --rows<顯示列數>  此引數的效果和指定"--lines"引數相同。 
 --sid<階段作業>  此引數的效果和指定"-s"引數相同。 
 --tty<終端機編號>  此引數的效果和指定"-t"引數相同。 
 --user<使用者名稱稱>  此引數的效果和指定"-U"引數相同。 
 --User<使用者識別碼>  此引數的效果和指定"-U"引數相同。 
 --version  此引數的效果和指定"-V"引數相同。 
 --widty<每列字元數>  此引數的效果和指定"-cols"引數相同
常用方式及使用技巧:ps–ef |grep 12345\


4.2 sleep(中級)


功能說明: sleep 
  使用許可權 : 所有使用者 
  使用方式 : sleep [--help] [--version] number[smhd] 
  說明 : sleep 可以用來將目前動作延遲一段時間 
  引數說明 : 
  --help : 顯示輔助訊息 
  --version : 顯示版本編號 
  number : 時間長度,後面可接 s、m、h 或 d 
  其中 s 為秒,m 為 分鐘,h 為小時,d 為日數
  例子 : 
  顯示目前時間後延遲 1 分鐘,之後再次顯示時間 : 
  常用方式及使用技巧:date;sleep 1m;date


4.3 kill(初級)


功能說明:刪除執行中的程式或工作。
語  法:kill [-s <資訊名稱或編號>][程式] 或 kill [-l <資訊編號>]
補充說明:kill可將指定的資訊送至程式。預設的資訊為SIGTERM(15),可將指定程式終止。若仍無法終止該程式,可使用SIGKILL(9)資訊嘗試強制刪除程式。程式或工作的編號可利用ps指令或jobs指令檢視。 
參  數:
 -l <資訊編號>  若不加<資訊編號>選項,則-l引數會列出全部的資訊名稱。 
 -s <資訊名稱或編號>  指定要送出的資訊。 
 [程式]  [程式]可以是程式的PID或是PGID,也可以是工作編號。
常用方式及使用技巧:kill -9 12345

 

4.4 “|” (初級)

功能說明:管道,管道符前面命令的輸出作為後面命令的輸入

語法:
find ./ -name “*.xml” –print | xargs grep –i “time-out”


4.5 top(中級)


功能說明:顯示,管理執行中的程式。
語  法:top [bciqsS][d <間隔秒數>][n <執行次數>]
補充說明:執行top指令可顯示目前正在系統中執行的程式,並通過它所提供的互動式介面,用熱鍵加以管理。
參  數:
 b  使用批處理模式。 
 c  列出程式時,顯示每個程式的完整指令,包括指令名稱,路徑和引數等相關資訊。 
 d<間隔秒數>  設定top監控程式執行狀況的間隔時間,單位以秒計算。 
 i  執行top指令時,忽略閒置或是已成為Zombie的程式。 
 n<執行次數>  設定監控資訊的更新次數。 
 q  持續監控程式執行的狀況。 
 s  使用保密模式,消除互動模式下的潛在危機。 
 S  使用累計模式,其效果類似ps指令的"-S"引數。

 


5 網路通訊


5.1 netstat(中級)


功能說明:顯示網路狀態。
語  法:netstat [-acCeFghilMnNoprstuvVwx][-A<網路型別>][--ip]
補充說明:利用netstat指令可讓你得知整個Linux系統的網路情況。
參  數:
-a或--all 顯示所有連線中的Socket。
-A<網路型別>或--<網路型別> 列出該網路型別連線中的相關地址。
-c或--continuous 持續列出網路狀態。
-C或--cache 顯示路由器配置的快取資訊。
-e或--extend 顯示網路其他相關資訊。
-F或--fib 顯示FIB。
-g或--groups 顯示多重廣播功能群組組員名單。
-h或--help 線上幫助。
-i或--interfaces 顯示網路介面資訊表單。
-l或--listening 顯示監控中的伺服器的Socket。
-M或--masquerade 顯示偽裝的網路連線。
-n或--numeric 直接使用IP地址,而不通過域名伺服器。
-N或--netlink或--symbolic 顯示網路硬體外圍裝置的符號連線名稱。
-o或--timers 顯示計時器。
-p或--programs 顯示正在使用Socket的程式識別碼和程式名稱。
-r或--route 顯示Routing Table。
-s或--statistice 顯示網路工作資訊統計表。
-t或--tcp 顯示TCP傳輸協議的連線狀況。
-u或--udp 顯示UDP傳輸協議的連線狀況。
-v或--verbose 顯示指令執行過程。
-V或--version 顯示版本資訊。
-w或--raw 顯示RAW傳輸協議的連線狀況。
-x或--unix 此引數的效果和指定"-A unix"引數相同。
--ip或--inet 此引數的效果和指定"-A inet"引數相同。
常用方式及使用技巧:netstat -anp | grep 8080 根據埠號查詢相應的程序號,必須以root使用者執行


5.2 ping(初級)


功能說明:檢測主機。
語  法:ping [-dfnqrRv][-c<完成次數>][-i<間隔秒數>][-I<網路介面>][-l<前置載入>][-p<範本樣式>][-s<資料包大小>][-t<存活數值>][主機名稱或IP地址]
補充說明:執行ping指令會使用ICMP傳輸協議,發出要求迴應的資訊,若遠端主機的網路功能沒有問題,就會迴應該資訊,因而得知該主機運作正常。
參  數:
-d 使用Socket的SO_DEBUG功能。
-c<完成次數> 設定完成要求迴應的次數。
-f 極限檢測。
-i<間隔秒數> 指定收發資訊的間隔時間。
-I<網路介面> 使用指定的網路介面送出資料包。
-l<前置載入> 設定在送出要求資訊之前,先行發出的資料包。
-n 只輸出數值。
-p<範本樣式> 設定填滿資料包的範本樣式。
-q 不顯示指令執行過程,開頭和結尾的相關資訊除外。
-r 忽略普通的Routing Table,直接將資料包送到遠端主機上。
-R 記錄路由過程。
-s<資料包大小> 設定資料包的大小。
-t<存活數值> 設定存活數值TTL的大小。
-v 詳細顯示指令的執行過程。
常用方式及使用技巧:ping 10.137.41.21

 <