Linux命令大全

一、Linux命令
名稱: cd
使用權限: 所有使用者
使用方式: cd [dirName]
說明: 變換工作目錄至dirName。其中dirName 表示法可爲絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的home directory (也就是剛login 時所在的目錄)。
另外,"~" 也表示爲home directory 的意思,"." 則是表示目前所在的目錄,".." 則表示目前目錄位置的上一層目錄。
範例: 跳到/usr/bin/ :
cd /usr/bin
跳到自己的home directory :
cd ..
跳到目前目錄的上上兩層:
cd ../
指令名稱: chmod
使用權限: 所有使用者
使用方式: chmod [-cfvR] [--help] [--version] mode file...
說明: Linux/Unix 的檔案存取權限分爲三級: 檔案擁有者﹑羣組﹑其它。利用chmod 可以藉以控制檔案如何被他人所存取。
參數:
mode : 權限設定字符串﹐格式如下: [ugoa...][[+-=][rwxX]...][,...],其中
u 表示該檔案的擁有者﹐g 表示與該檔案的擁有者屬於同一個羣體(group)者﹐o 表示其它以外的人﹐a 表示這三者皆是。+ 表示增加權限﹑- 表示取消權限﹑= 表示唯一設定權限。r 表示可讀取﹐w 表示可寫入﹐x 表示可執行﹐X 表示只有當該檔案是個子目錄或者該檔案已經被設定過爲可執行。
-c : 若該檔案權限確實已經更改﹐才顯示其更改動作-f : 若該檔案權限無法被更改也不要顯示錯誤訊息-v : 顯示權限變更的詳細資料-R : 對目前目錄下的所有檔案與子目錄進行相同的權限變更(即以遞歸的方式逐個變更) --help : 顯示輔助說明--version : 顯示版本
範例:將檔案file1.txt 設爲所有人皆可讀取:
chmod ugo+r file1.txt
將檔案file1.txt 設爲所有人皆可讀取:

chmod a+r file1.txt
將檔案file1.txt 與file2.txt 設爲該檔案擁有者,與其所屬同一個羣體者可寫入﹐但其它以外的人則不可寫入:
chmod ug+w,o-w file1.txt file2.txt
將ex1.py 設定爲只有該檔案擁有者可以執行:
chmod u+x ex1.py
將目前目錄下的所有檔案與子目錄皆設爲任何人可讀取:
chmod -R a+r *
此外chmod也可以用數字來表示權限如chmod 777 file
語法爲:chmod abc file
其中a,b,c各爲一個數字,分別表示User、Group、及Other的權限。
r=4,w=2,x=1 若要rwx屬性則4+2+1=7; 若要rw-屬性則4+2=6; 若要r-x屬性則4+1=7。
範例:
chmod a=rwx file

chmod 777 file
效果相同
chmod ug=rwx,o=x file

chmod 771 file

 


名稱:locate 使用權限:所有使用者使用方式: locate [-q] [-d <path>] [--database=<path>] <search string> locate [-r <regexp>] [--regexp=<regexp>] locate [-qv] [-o <file>] [--output=<file>] locate [-e <dir1,dir2,...>] [-f <fstype1,...>] <[-l <level>] [-c] <[-U ] [-u]> locate [-Vh] [--version] [--help] 說明:
locate 讓使用者可以很快速的搜尋檔案系統內是否有指定的檔案。其方法是先建立一個包括系統內所有文件名稱及路徑的數據庫,之後當尋找時就只需查詢這個數據庫,而不必實際深入檔案系統之中了。
在一般的distribution 之中,數據庫的建立都被放在contab 中自動執行。一般使用者在使用時只要用

# locate your_file_name
的型式就可以了。參數:
-u -U <dir> 建立數據庫,-u 會由根目錄開始,-U 則可以指定開始的位置。
-e <dir> 將<dir> 排除在尋找的範圍之外。
-l <level> 如果<level> 是1.則激活安全模式。在安全模式下,使用者不會看到權限無法看到的檔案。這會始速度減慢,因爲locate 必須至實際的檔案系統中取得檔案的權限資料。
-f <filetype> 將特定的檔案系統排除在外,例如我們沒有到理要把proc 檔案系統中的檔案放在數據庫中。
-q 安靜模式,不會顯示任何錯誤訊息。
-n <num> 至多顯示<num> 個輸出。
-r <reg> 使用正規表達式<reg> 做尋找的條件。
-o <file> 指定數據庫存的名稱。
-d <dir> 指定數據庫的路徑
-h 顯示輔助訊息
-v 顯示更多的訊息
-V 顯示程序的版本訊息範例:
locate chdrv : 尋找所有叫chdrv 的檔案locate -n 100 a.out : 尋找所有叫a.out 的檔案,但最多隻顯示100 個locate -u : 建立數據庫
名稱: sync 使用權限: 系統管理者使用方式: sync 說明: Linux 系統中欲寫入硬盤的資料有的時候會了效率起見,會寫到filesystem buffer 中,這個buffer 是一塊內存空間,如果欲寫入硬盤的資料存於此buffer 中,而系統又突然斷電的話,那麼資料就會流失了,sync 指令會將存於buffer 中的資料強制寫入硬盤中。

 


名稱:adduser 使用權限:系統管理員使用方式:adduser [-c comment] [-d home_dir] [-e expire_date] [-f inactive_time] [-g initial_group] [-G group[,...]] [-m [-k skeleton_dir] | -M] [-p passwd] [-s shell] [-u uid [ -o]] [-n] [-r] loginid 或adduser -D [-g default_group] [-b default_home] [-f default_inactive] [-e default_expire_date] [-s default_shell] 附註:adduser 與useradd 指令爲同一指令(經由符號連結symbolic link) 說明:新增使用者帳號或更新預設的使用者資料參數: -c comment 新使用者位於密碼文件(通常是/etc/passwd)的批註資料-d home_dir 設定使用者的家目錄爲home_dir ,默認值爲預設的home 後面加上使用者帳號loginid -e expire_date 設定此帳號的使用期限(格式爲YYYY-MM-DD),默認值爲永久有效-f inactive_time 範例:
adduser是增加使用者,相對的,也有刪除使用者的指令,userdel
語法:userdel [login ID]

 


名稱:su 使用權限:所有使用者使用方式:su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]] 說明:變更爲其它使用者的身份,除root 外,需要鍵入該使用者的密碼參數: -f 或--fast 不必讀激活檔(如csh.cshrc 等),僅用於csh 或tcsh -m -p 或--preserve-environment 執行su 時不改變環境變量-c command 或--command=command 變更爲帳號爲USER 的使用者並執行指令(command)後再變回原來使用者-s shell 或--shell=shell 指定要執行的shell (bash csh tcsh 等),默認值爲/etc/passwd 內的該使用者(USER) shell --help 顯示說明文件--version 顯示版本信息- -l 或--login 這個參數加了之後,就好象是重新login 爲該使用者一樣,大部份環境變量(HOME SHELL USER等等)都是以該使用者(USER)爲主,並且工作目錄也會改變,如果沒有指定USER ,內定是root USER 欲變更的使用者帳號

ARG 傳入新的shell 參數範例: su -c ls root 變更帳號爲root 並在執行ls 指令後退出變回原使用者。su root -f 變更帳號爲root 並傳入-f 參數給新執行的shell。su - clsung 變更帳號爲clsung 並改變工作目錄至clsung 的家目錄(home dir)。

 


名稱:sudo 使用權限:在/etc/sudoers 中有出現的使用者使用方式:sudo -V sudo -h sudo -l sudo -v sudo -k sudo -s sudo -H sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s sudo command 說明:以系統管理者的身份執行指令,也就是說,經由sudo 所執行的指令就好象是root 親自執行參數: -V 顯示版本編號-h 會顯示版本編號及指令的使用方式說明-l 顯示出自己(執行sudo 的使用者)的權限-v 因爲sudo 在第一次執行時或是在N 分鐘內沒有執行(N 預設爲五)會問密碼,這個參數是重新做一次確認,如果超過N 分鐘,也會問密碼-k 將會強迫使用者在下一次執行sudo 時問密碼(不論有沒有超過N 分鐘) -b 將要執行的指令放在背景執行-p prompt 可以更改問密碼的提示語,其中%u 會代換爲使用者的帳號名稱, %h 會顯示主機名稱-u username/#uid 不加此參數,代表要以root 的身份執行指令,而加了此參數,可以以username 的身份執行指令(#uid 爲該username 的使用者號碼) -s 執行環境變量中的SHELL 所指定的shell ,或是/etc/passwd 裏所指定的shell -H 將環境變量中的HOME (家目錄)指定爲要變更身份的使用者家目錄(如不加-u 參數就是系統管理者root ) command 要以系統管理者身份(或以-u 更改爲其它人)執行的指令範例: sudo -l 列出目前的權限sudo -V 列出sudo 的版本信息

 

名稱:init 使用權限:開機時使用方式:init [0123456Ss] 說明:init 是所有行程(process)的父行程(parent),開機時一定會先從這個指令開始(可以用ps -aux 看看第一個行程就是init),並參考/etc/inittab 檔來完成整個開機程序,共有八個執行層級(runlevel),而改變只能透過telinit 的指令來更改參數: 0 開機執行層級爲0 ,用來關閉系統1 開機執行層級爲1 ,用來進行單一使用者模式(single user mode) 4 開機執行層級爲4 ,表示進入X window 時的模式6 開機執行層級爲6 ,用來重新開機S 或s 不是直接使用的,配合開機執行層級1 時使用,當加上S 或s 表示開機後不參考/etc/inittab 檔235 請參照/etc/inittab 檔案內容以及/etc/rc.d/rc2.d,/etc/rc.d/rc3.d,/etc/rc.d/rc5.d 等目錄範例: 由於這並不是讓使用者可以單獨下指令的執行文件,請參照/etc/inittab
名稱:reboot 使用權限:系統管理者使用方式:reboot [-n] [-w] [-d] [-f] [-i] 說明:若系統的runlevel 爲0 或6 ,則重新開機,否則以shutdown 指令(加上-r 參數)來取代參數: -n : 在重開機前不做將內存資料寫回硬盤的動作-w : 並不會真的重開機,只是把記錄寫到/var/log/wtmp 檔案裏-d : 不把記錄寫到/var/log/wtmp 檔案裏(-n 這個參數包含了-d) -f : 強迫重開機,不呼叫shutdown 這個指令-i : 在重開機之前先把所有網絡相關的裝置先停止範例: reboot 重開機。reboot -w 做個重開機的仿真(只有紀錄並不會真的重開機)。

 

名稱:halt 使用權限:系統管理者使用方式:halt [-n] [-w] [-d] [-f] [-i] [-p] 說明:若系統的runlevel 爲0 或6 ,則關閉系統,否則以shutdown 指令(加上-h 參數)來取代參數:

-n : 在關機前不做將內存資料寫回硬盤的動作-w : 並不會真的關機,只是把記錄寫到/var/log/wtmp 檔案裏-d : 不把記錄寫到/var/log/wtmp 檔案裏(-n 這個參數包含了-d) -f : 強迫關機,不呼叫shutdown 這個指令-i : 在關機之前先把所有網絡相關的裝置先停止-p : 當關機的時候,順便做關閉電源(poweroff)的動作範例: halt -p 關閉系統後關閉電源。halt -d 關閉系統,但不留下紀錄。

 


名稱: shutdown
使用權限: 系統管理者
使用方式: shutdown [-t seconds] [-rkhncfF] time [message]
說明: shutdown 可以用來進行關機程序,並且在關機以前傳送訊息給所有使用者正在執行的程序,shutdown 也可以用來重開機。
參數:
-t seconds : 設定在幾秒鐘之後進行關機程序-k : 並不會真的關機,只是將警告訊息傳送給所有隻用者-r : 關機後重新開機-h : 關機後停機-n : 不採用正常程序來關機,用強迫的方式殺掉所有執行中的程序後自行關機-c : 取消目前已經進行中的關機動作-f : 關機時,不做fcsk 動作(檢查Linux 文件系統) -F : 關機時,強迫進行fsck 動作time : 設定關機的時間message : 傳送給所有使用者的警告訊息
名稱:mattrib 使用權限:所有使用者使用方式: mattrib [-a|+a] [-h|+h] [-r|+r] [-s|+s] [-/] [-X] msdosfile [ msdosfiles ... ]說明:本程序可用來修改MS_DOS 檔案的屬性。參數: -a/+a 除去/設定備份屬性。-h/+h 除去/設定隱藏屬性。-r/+r 除去/設定只讀屬性。-s/+s 除去/設定系統屬性。-/ 遞歸的處理包含所有子目錄下的檔案。-X 以較短的格式輸出結果。

範例: mattrib a: 列出A 槽MSDOS 格式磁盤上所有檔案的屬性。mattrib -h -s -r a:msdos.sys 除去A 槽磁盤上msdos.sys 檔案的隱藏、系統與只讀屬性。mattrib -r -/ a:\*.* 除去A 槽磁盤上包含子目錄下所有檔案的只讀屬性。
名稱:mcopy 使用權限:所有使用者使用方式: mcopy [-b/ptnvmoQO***RA] sourcefile targetfile mcopy [-b/ptnvmoQO***RA] sourcefile [ sourcefiles... ] targetdirectory mcopy [-tnvm] MSDOSsourcefile 說明: 本程序可用來複制MSDOS 格式檔案到Linux 中,或是由Linux 中複製MSDOS 檔案到磁盤上。mcopy 可複製單一的檔案到所指定的文件名稱,或是複製數個檔案到所指定的目錄之中。來源與目的檔案可爲MSDOS 或是Linux 檔案。參數: b 批次模式.這是爲大量的檔案複製進行最佳化的選項,但是當在複製檔案過程中產生crash 時,會有安全性的問題產生。/ 遞歸的複製。包含目錄所含檔案與其下所有子目錄中的檔案。p 維持檔案原來的屬性。Q 當複製多個檔案產生錯誤時,儘快結束程序。t 複製純文本文件。將carriage return/line feeds 轉換成line feeds 字符。n 在覆蓋Linux 檔案時不會出現警示訊息。o 在覆蓋MSDOS 檔案時不會出現警示訊息。m 維持檔案原來的修改時間。當目的檔案已存在,且使用-n 選項時,mcopy 會詢問是否要覆蓋或是另存新檔。範例: mcopy a:\autoexec.bat . 將A 槽磁盤根目錄中的autoexec.bat 複製到目前工作目錄之下。

 


指令名稱: ln
使用權限: 所有使用者
使用方式: ln [options] source dist,其中option 的格式爲:
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}] [--help] [--version] [--]
說明: Linux/Unix 檔案系統中﹐有所謂的連結(link)﹐我們可以將其視爲檔案的別名﹐而連結又可分爲兩種: 硬連結(hard link)與軟連結(symbolic link)﹐硬連結的意思是一個檔案可以有多個名稱﹐而軟連結的方式則是產生一個特殊的檔案﹐該檔案的內容是指向另一個檔案的位置。硬連結是存在同一個檔案系統中﹐而軟連結卻可以跨越不同的檔案系統。

ln source dist 是產生一個連結(dist)到source﹐至於使用硬連結或軟鏈接則由參數決定。
不論是硬連結或軟鏈接都不會將原本的檔案複製一份﹐只會佔用非常少量的磁盤空間。
參數:
-f : 鏈接時先將與dist 同檔名的檔案刪除-d : 允許系統管理者硬鏈接自己的目錄-i : 在刪除與dist 同檔名的檔案時先進行詢問-n : 在進行軟連結時﹐將dist 視爲一般的檔案-s : 進行軟鏈接(symbolic link)-v : 在連結之前顯示其檔名-b : 將在鏈接時會被覆寫或刪除的檔案進行備份-S SUFFIX : 將備份的檔案都加上SUFFIX 的字尾-V METHOD : 指定備份的方式--help : 顯示輔助說明--version : 顯示版本
範例:
將檔案yy 產生一個symbolic link : zz
ln -s yy zz
將檔案yy 產生一個hard link : zz
ln yy xx

 


名稱:mdel 使用權限:所有使用者使用方式: mdel [-v] msdosfile [ msdosfiles ... ] 說明: 本程序可用來刪除MSDOS 格式的檔案。在刪除只讀文件之前會先有提示訊息產生。參數: -v 顯示更多的訊息。範例: mdel a:\autoexec.bat . 將A 槽磁盤根目錄中的autoexec.bat 刪除。
名稱:mdeltree 使用權限:所有使用者使用方式: mdeltree [-v] msdosdirectory [msdosdirectories...] 說明: 本程序可用來刪除MSDOS 格式檔案及目錄。mdeltree 會將所指定的目錄與目錄之下的所有檔案與目錄都刪除掉。如果所指定的檔案或目錄不存在,則會傳回錯誤訊息。

參數: -v 顯示更多的訊息。範例: mcopy a:\msdosdir . 將A 槽磁盤根目錄中的msdosdir 目錄以下的檔案與目錄都刪除掉。
名稱:mlabel 使用權限:所有使用者使用方式: mlabel [-vcs] drive:[new_label] 說明: 本程序可設定磁盤的卷標(Label)。如果磁盤上設定過卷標,mlabel 會將他顯示給使用者。如果沒有指定新卷標並且沒有指定c 或s 選項,mlabel 會提示使用者輸入新的卷標。如果直接按下Enter ,就會將原本的卷標刪除。參數: -v 更多的訊息。-c 清除原有的卷標,不出現提示訊息。-s 顯示目前的卷標,不出現提示訊息。範例: mlabel a:newlabel。將A 槽磁盤的卷標更改爲newlabel。

 


名稱:mcd 使用權限:所有使用者使用方式: mcd [msdosdirectory] 說明:可變更mtools 系列指令目前在MSDOS 磁盤上的工作目錄。與MSDOS 的CD 指令不同,mcd 亦可變更工作磁盤。參數: 沒有參數時會傳回目前的工作目錄。範例: mcd a:\temp 變更目前工作目錄到a:\temp 中。mcd 傳回目前工作目錄。

名稱: mkdir
使用權限:於目前目錄有適當權限的所有使用者
使用方式:mkdir [-p] dirName
說明:建立名稱爲dirName 之子目錄。
參數:-p 確保目錄名稱存在,不存在的就建一個。
範例:
在工作目錄下,建立一個名爲AAA 的子目錄:
mkdir AAA
在工作目錄下的BBB 目錄中,建立一個名爲Test 的子目錄。若BBB 目錄原本不存在,則建立一個。(注:本例若不加-p,且原本BBB目錄不存在,則產生錯誤。)
mkdir -p BBB/Test
名稱:more 使用權限:所有使用者使用方式:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..] 說明:類似cat ,不過會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空格鍵(space)就往下一頁顯示,按b 鍵就會往回(back)一頁顯示,而且還有搜尋字符串的功能(與vi 相似),使用中的說明文件,請按h 。參數:-num 一次顯示的行數-d 提示使用者,在畫面下方顯示[Press space to continue, 'q' to quit.] ,如果使用者按錯鍵,則會顯示[Press 'h' for instructions.] 而不是'嗶' 聲-l 取消遇見特殊字符^L(走紙字符)時會暫停的功能-f 計算行數時,以實際上的行數,而非自動換行過後的行數(有些單行字數太長的會被擴展爲兩行或兩行以上) -p 不以捲動的方式顯示每一頁,而是先清除屏幕後再顯示內容-c 跟-p 相似,不同的是先顯示內容再清除其它舊資料-s 當遇到有連續兩行以上的空白行,就代換爲一行的空白行-u 不顯示下引號(根據環境變量TERM 指定的terminal 而有所不同) +/ 在每個檔案顯示前搜尋該字符串(pattern),然後從該字符串之後開始顯示+num 從第num 行開始顯示fileNames 欲顯示內容的檔案,可爲複數個數範例: more -s testfile 逐頁顯示testfile 之檔案內容,如有連續兩行以上空白行則以一行空白行顯示。more +20 testfile 從第20 行開始顯示testfile 之檔案內容。

 

 

名稱:mv
使用權限:所有使用者
使用方式:

mv [options] source dest mv [options] source... directory
說明:將一個檔案移至另一檔案,或將數個檔案移至另一目錄。
參數:-i 若目的地已有同名檔案,則先詢問是否覆蓋舊檔。
範例:
將檔案aaa 更名爲bbb :
mv aaa bbb
將所有的C語言程序移至Finished 子目錄中:
mv -i *.c

 

名稱:rm
使用權限:所有使用者
使用方式:rm [options] name...
說明:刪除檔案及目錄。
參數:
-i 刪除前逐一詢問確認。-f 即使原檔案屬性設爲只讀,亦直接刪除,無需逐一確認。-r 將目錄及以下之檔案亦逐一刪除。
範例:
刪除所有C語言程序文件;刪除前逐一詢問確認:
rm -i *.c
將Finished 子目錄及子目錄中所有檔案刪除:
rm -r Finished

 

 

名稱:rmdir
使用權限:於目前目錄有適當權限的所有使用者
使用方式: rmdir [-p] dirName
說明: 刪除空的目錄。
參數: -p 是當子目錄被刪除後使它也成爲空目錄的話,則順便一併刪除。
範例:
將工作目錄下,名爲AAA 的子目錄刪除:
rmdir AAA
在工作目錄下的BBB 目錄中,刪除名爲Test 的子目錄。若Test 刪除後,BBB 目錄成爲空目錄,則BBB 亦予刪除。
rmdir -p BBB/Test

 


名稱:split
使用權限:所有使用者
使用方式:split [OPTION] [INPUT [PREFIX]]
說明:
將一個檔案分割成數個。而從INPUT 分割輸出成固定大小的檔案,其檔名依序爲PREFIXaa, PREFIXab...;PREFIX 默認值爲`x'。若沒有INPUT 檔或爲`-',則從標準輸入讀進資料。
選項:
-b, --bytes=SIZE
SIZE 值爲每一輸出檔案的大小,單位爲byte。
-C, --line-bytes=SIZE
每一輸出檔中,單行的最大byte 數。
-l, --lines=NUMBER
NUMBER 值爲每一輸出檔的列數大小。
-NUMBER
與-l NUMBER 相同。
--verbose
於每個輸出檔被開啓前,打印出偵錯信息到標準錯誤輸出。
--help
顯示輔助信息然後離開。
--version
列出版本信息然後離開。
SIZE 可加入單位: b 代表512, k 代表1K, m 代表1 Meg。
範例:
PostgresSQL 大型數據庫備份與回存:
因Postgres 允許表格大過你係統檔案的最大容量,所以要將表格dump 到單一的檔案可能會有問題,使用split 來進行檔案分割。
% pg_dump dbname | split -b 1m - filename.dump.
重新加載
% createdb dbname % cat filename.dump.* | pgsql dbname

 


名稱:touch
使用權限:所有使用者
使用方式: touch [-acfm] [-r reference-file] [--file=reference-file] [-t MMDDhhmm[[CC]YY][.ss]] [-d time] [--date=time] [--time={atime,access,use,mtime,modify}] [--no-create] [--help] [--version] file1 [file2 ...]

說明: touch 指令改變檔案的時間記錄。ls -l 可以顯示檔案的時間記錄。
參數: a 改變檔案的讀取時間記錄。m 改變檔案的修改時間記錄。c 假如目的檔案不存在﹐不會建立新的檔案。與--no-create 的效果一樣。f 不使用﹐是爲了與其它unix 系統的兼容性而保留。r 使用參考文件的時間記錄﹐與--file 的效果一樣。d 設定時間與日期﹐可以使用各種不同的格式。t 設定檔案的時間記錄﹐格式與date 指令相同。--no-create 不會建立新檔案。--help 列出指令格式。--version 列出版本訊息。
範例:
最簡單的使用方式﹐將檔案的時候記錄改爲現在的時間。若檔案不存在﹐系統會建立一個新的檔案。
touch file touch file1 file2
將file 的時間記錄改爲5 月6 日18 點3 分﹐公元兩千年。時間的格式可以參考date 指令﹐至少需輸入MMDDHHmm ﹐就是月日時與分。
touch -c -t 05061803 file touch -c -t 050618032000 file
將file 的時間記錄改變成與referencefile 一樣。
touch -r referencefile file
將file 的時間記錄改成5 月6 日18 點3 分﹐公元兩千年。時間可以使用am, pm 或是24 小時的格式﹐日期可以使用其它格式如6 May 2000 。
touch -d "6:03pm" file touch -d "05/06/2000" file touch -d "6:03pm 05/06/2000" file
touch 也可以製造一個空檔(0 byte),例如DHCP Server 所需要的/etc.dbcpd.leases,dhcpd必須要有這個檔案才能運作正常。[root@/root]#touch /etc/dhcpd.leases [root@/root]#ls –l /etc/dhcpd.less -rw-r—r—l root root 0 Jul 3 05:50 /etc/dhcpd.leases

 


名稱: at
使用權限: 所有使用者
使用方式: at -V [-q queue] [-f file] [-mldbv] TIME
說明: at 可以讓使用者指定在TIME 這個特定時刻執行某個程序或指令,TIME 的格式是HH:MM其中的HH 爲小時,MM 爲分鐘,甚至你也可以指定am, pm, midnight, noon, teatime(就是下午4 點鐘)等口語詞。

如果想要指定超過一天內的時間,則可以用MMDDYY 或者MM/DD/YY 的格式,其中MM 是分鐘,DD 是第幾日,YY 是指年份。另外,使用者甚至也可以使用像是now + 時間間隔來彈性指定時間,其中的時間間隔可以是minutes, hours, days, weeks。
另外,使用者也可指定today 或tomorrow 來表示今天或明天。當指定了時間並按下enter 之後,at 會進入交談模式並要求輸入指令或程序,當你輸入完後按下ctrl+D 即可完成所有動作,至於執行的結果將會寄回你的帳號中。
參數:
-V : 印出版本編號-q : 使用指定的隊列(Queue)來儲存,at 的資料是存放在所謂的queue 中,使用者可以同時使用多個queue,而queue 的編號爲a, b, c... z 以及A, B, ... Z 共52 個-m : 即使程序/指令執行完成後沒有輸出結果, 也要寄封信給使用者-f file : 讀入預先寫好的命令檔。使用者不一定要使用交談模式來輸入,可以先將所有的指定先寫入檔案後再一次讀入-l : 列出所有的指定(使用者也可以直接使用atq 而不用at -l) -d : 刪除指定(使用者也可以直接使用atrm 而不用at -d) -v : 列出所有已經完成但尚未刪除的指定
例子:
三天後的下午5 點鐘執行/bin/ls :
at 5pm + 3 days /bin/ls
三個星期後的下午5 點鐘執行/bin/ls :
t 5pm + 2 weeks /bin/ls
明天的17:20 執行/bin/date :
at 17:20 tomorrow /bin/date
1999 年的最後一天的最後一分鐘印出the end of world !

 

 

名稱:cat 使用權限:所有使用者使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName 說明:把檔案串連接後傳到基本輸出(屏幕或加> fileName 到另一個檔案) 參數: -n 或--number 由1 開始對所有輸出的行數編號-b 或--number-nonblank 和-n 相似,只不過對於空白行不編號-s 或--squeeze-blank 當遇到有連續兩行以上的空白行,就代換爲一行的空白行-v 或--show-nonprinting 範例: cat -n textfile1 > textfile2 把textfile1 的檔案內容加上行號後輸入textfile2 這個檔案裏cat -b textfile1 textfile2 >> textfile3 把textfile1 和textfile2 的檔案內容加上行號(空白行不加)之後將內容附加到textfile3 裏。

範例:
把textfile1 的檔案內容加上行號後輸入textfile2這個檔案裏
cat –n textfile1 > textfile2
把textfile1 和textfile2 的檔案內容加上行號(空白行不加)之後將內容附加到textfile3 裏
cat –b textfile1 textfile2 >>textfile3

 


名稱: crontab
使用權限: 所有使用者
使用方式:
crontab [ -u user ] file
crontab [ -u user ] { -l | -r | -e }
說明:
crontab 是用來讓使用者在固定時間或固定間隔執行程序之用,換句話說,也就是類似使用者的時程表。-u user 是指設定指定user 的時程表,這個前提是你必須要有其權限(比如說是root)才能夠指定他人的時程表。如果不使用-u user 的話,就是表示設定自己的時程表。
餐數:
-e : 執行文字編輯器來設定時程表,內定的文字編輯器是VI,如果你想用別的文字編輯器,則請先設定VISUAL 環境變量來指定使用那個文字編輯器(比如說setenv VISUAL joe) -r : 刪除目前的時程表-l : 列出目前的時程表
時程表的格式如下:
f1 f2 f3 f4 f5 program
其中f1 是表示分鐘,f2 表示小時,f3 表示一個月份中的第幾日,f4 表示月份,f5 表示一個星期中的第幾天。program 表示要執行的程序。
當f1 爲* 時表示每分鐘都要執行program,f2 爲* 時表示每小時都要執行程序,其餘類推當f1 爲a-b 時表示從第a 分鐘到第b 分鐘這段時間內要執行,f2 爲a-b 時表示從第a 到第b 小時都要執行,其餘類推當f1 爲*/n 時表示每n 分鐘個時間間隔執行一次,f2 爲*/n 表示每n 小時個時間間隔執行一次,其餘類推當f1 爲a, b, c,... 時表示第a, b, c,... 分鐘要執行,f2 爲a, b, c,... 時表示第a, b, c...個小時要執行,其餘類推
使用者也可以將所有的設定先存放在檔案file 中,用crontab file 的方式來設定時程表。
例子:
每月每天每小時的第0 分鐘執行一次/bin/ls :
0 7 * * * /bin/ls
在12 月內, 每天的早上6 點到12 點中,每隔20 分鐘執行一次/usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup
週一到週五每天下午5:00 寄一封信給[email protected] :

0 17 * * 1-5 mail -s "hi" [email protected] < /tmp/maildata
每月每天的午夜0 點20 分, 2 點20 分, 4 點20 分....執行echo "haha"
20 0-23/2 * * * echo "haha"
注意:
當程序在你所指定的時間執行後,系統會寄一封信給你,顯示該程序執行的內容,若是你不希望收到這樣的信,請在每一行空一格之後加上> /dev/null 2>&1 即可。
名稱: sleep
使用權限: 所有使用者
使用方式: sleep [--help] [--version] number[smhd]
說明: sleep 可以用來將目前動作延遲一段時間
參數說明:
--help : 顯示輔助訊息--version : 顯示版本編號number : 時間長度,後面可接s、m、h 或d 其中s 爲秒,m 爲分鐘,h 爲小時,d 爲日數
例子:
顯示目前時間後延遲1 分鐘,之後再次顯示時間:

 

名稱: date
使用權限: 所有使用者
使用方式:
date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]
說明:
date 可以用來顯示或設定系統的日期與時間,在顯示方面,使用者可以設定欲顯示的格式,格式設定爲一個加號後接數個標記,其中可用的標記列表如下:
時間方面:
% : 印出% %n : 下一行%t : 跳格%H : 小時(00..23) %I : 小時(01..12) %k : 小時(0..23) %l : 小時(1..12) %M : 分鐘(00..59) %p : 顯示本地AM 或PM %r : 直接顯示時間(12 小時制,格式爲hh:mm:ss [AP]M) %s : 從1970 年1 月1 日00:00:00 UTC 到目前爲止的秒數

%S : 秒(00..61) %T : 直接顯示時間(24 小時制) %X : 相當於%H:%M:%S %Z : 顯示時區
日期方面:
%a : 星期幾(Sun..Sat) %A : 星期幾(Sunday..Saturday) %b : 月份(Jan..Dec) %B : 月份(January..December) %c : 直接顯示日期與時間%d : 日(01..31) %D : 直接顯示日期(mm/dd/yy) %h : 同%b %j : 一年中的第幾天(001..366) %m : 月份(01..12) %U : 一年中的第幾周(00..53) (以Sunday 爲一週的第一天的情形) %w : 一週中的第幾天(0..6) %W : 一年中的第幾周(00..53) (以Monday 爲一週的第一天的情形) %x : 直接顯示日期(mm/dd/yy) %y : 年份的最後兩位數字(00.99) %Y : 完整年份(0000..9999)
若是不以加號作爲開頭,則表示要設定時間,而時間格式爲MMDDhhmm[[CC]YY][.ss],其中MM 爲月份,DD 爲日,hh 爲小時,mm 爲分鐘,CC 爲年份前兩位數字,YY 爲年份後兩位數字,ss 爲秒數
參數:
-d datestr : 顯示datestr 中所設定的時間(非系統時間) --help : 顯示輔助訊息-s datestr : 將系統時間設爲datestr 中所設定的時間-u : 顯示目前的格林威治時間--version : 顯示版本編號
例子:
顯示時間後跳行,再顯示目前日期:
date '+%T%n%D'
顯示月份與日數:
date '+%B %d'
顯示日期與設定時間(12:34:56) :
date --date '12:34:56'
注意:

當你不希望出現無意義的0 時(比如說1999/03/07),則可以在標記中插入- 符號,比如說date '+%-H:%-M:%-S' 會把時分秒中無意義的0 給去掉,像是原本的08:09:04 會變爲8:9:4。另外,只有取得權限者(比如說root)才能設定系統時間。
當你以root 身分更改了系統時間之後﹐請記得以clock -w 來將系統時間寫入CMOS 中﹐這樣下次重新開機時系統時間纔會持續抱持最新的正確值。
名稱: time
使用權限: 所有使用者
使用方式: time [options] COMMAND [arguments]
說明: time 指令的用途,在於量測特定指令執行時所需消耗的時間及系統資源等信息。例如CPU 時間、內存、輸入輸出等等。需要特別注意的是,部分信息在Linux 上顯示不出來。這是因爲在Linux 上部分資源的分配函式與time 指令所預設的方式並不相同,以致於time 指令無法取得這些數據。
參數:
 -o or --output=FILE 設定結果輸出檔。這個選項會將time 的輸出寫入所指定的檔案中。如果檔案已經存在,系統將覆寫其內容。
 -a or --append 配合-o 使用,會將結果寫到檔案的末端,而不會覆蓋掉原來的內容。
 -f FORMAT or --format=FORMAT 以FORMAT 字符串設定顯示方式。當這個選項沒有被設定的時候,會用系統預設的格式。不過你可以用環境變量time 來設定這個格式,如此一來就不必每次登入系統都要設定一次。一般設定上,你可以用
'\t'
表示跳欄,或者是用
'\n'
表示換行。每一項資料要用% 做爲前導。如果要在字符串中使用百分比符號,就用。(學過C 語言的人大概會覺得很熟悉) time 指令可以顯示的資源有四大項,分別是: Time resources Memory resources IO resources Command info 詳細的內容如下:
o Time Resources
 E 執行指令所花費的時間,格式是:[hour]:minute:second。請注意這個數字並不代表實際的CPU 時間。

 e 執行指令所花費的時間,單位是秒。請注意這個數字並不代表實際的CPU 時間。
 S 指令執行時在覈心模式(kernel mode)所花費的時間,單位是秒。
 U 指令執行時在使用者模式(user mode)所花費的時間,單位是秒。
 P 執行指令時CPU 的佔用比例。其實這個數字就是核心模式加上使用者模式的CPU 時間除以總時間。
o Memory Resources
 M 執行時所佔用的物理內存的最大值。單位是KB
 t 執行時所佔用的物理內存的平均值,單位是KB
 K 執行程序所佔用的內存總量(stack+data+text)的平均大小,單位是KB
 D 執行程序的自有資料區(unshared data area)的平均大小,單位是KB
 p 執行程序的自有堆棧(unshared stack)的平均大小,單位是KB
 X 執行程序間共享內容(shared text)的平均值,單位是KB
 Z 系統內存頁的大小,單位是byte。對同一個系統來說這是個常數
o IO Resources
 F 此程序的主要內存頁錯誤發生次數。所謂的主要內存頁錯誤是指某一內存頁已經置換到置換檔(swap file)中,而且已經分配給其它程序。此時該頁的內容必須從置換檔裏再讀出來。
 R 此程序的次要內存頁錯誤發生次數。所謂的次要內存頁錯誤是指某一內存頁雖然已經置換到置換檔中,但尚未分配給其它程序。此時該頁的內容並未被破壞,不必從置換檔裏讀出來
 W 此程序被交換到置換檔的次數
 c 此程序被強迫中斷(像是分配到的CPU 時間耗盡)的次數
 w 此程序自願中斷(像是在等待某一個I/O 執行完畢,像是磁盤讀取等等)的次數
 I 此程序所輸入的檔案數
 O 此程序所輸出的檔案數
 r 此程序所收到的Socket Message
 s 此程序所送出的Socket Message
 k 此程序所收到的信號( Signal )數量
o Command Info
 C 執行時的參數以及指令名稱
 x 指令的結束代碼( Exit Status )

 -p or --portability 這個選項會自動把顯示格式設定成爲: real %e user %U sys %S 這麼做的目的是爲了與POSIX 規格兼容。
 -v or --verbose 這個選項會把所有程序中用到的資源通通列出來,不但如一般英文語句,還有說明。對不想花時間去熟習格式設定或是剛剛開始接觸這個指令的人相當有用。
 
範例:
利用下面的指令
time -v ps -aux
我們可以獲得執行ps -aux 的結果和所花費的系統資源。如下面所列的資料:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.4 1096 472 ? S Apr19 0:04 init root 2 0.0 0.0 0 0 ? SW Apr19 0:00 [kflushd] root 3 0.0 0.0 0 0 ? SW Apr19 0:00 [kpiod] ...... root 24269 0.0 1.0 2692 996 pts/3 R 12:16 0:00 ps -aux Command being timed: "ps -aux" User time (seconds): 0.05 System time (seconds): 0.06 Percent of CPU this job got: 68% Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.16 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 238 Minor (reclaiming a frame) page faults: 46 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 File system inputs: 0 File system outputs: 0

Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0

 


名稱: uptime 使用權限: 所有使用者使用方式: uptime [-V] 說明: uptime 提供使用者下面的信息,不需其它參數:
1. 現在的時間
2. 系統開機運轉到現在經過的時間
3. 聯機的使用者數量
4. 最近一分鐘,五分鐘和十五分鐘的系統負載
參數: -V 顯示版本信息。範例: uptime 其結果爲: 10:41am up 5 days, 10 min, 1 users, load average: 0.00, 0.00, 1.99
指令名稱: chown
使用權限: root
使用方式: chmod [-cfhvR] [--help] [--version] user[:group] file...
說明: Linux/Unix 是多人多任務操作系統﹐所有的檔案皆有擁有者。利用chown 可以將檔案的擁有者加以改變。一般來說﹐這個指令只有是由系統管理者(root)所使用﹐一般使用者沒有權限可以改變別人的檔案擁有者﹐也沒有權限可以自己的檔案擁有者改設爲別人。只有系統管理者(root)纔有這樣的權限。
參數:
user : 新的檔案擁有者的使用者IDgroup : 新的檔案擁有者的使用者羣體(group)-c : 若該檔案擁有者確實已經更改﹐才顯示其更改動作-f : 若該檔案擁有者無法被更改也不要顯示錯誤訊息-h : 只對於連結(link)進行變更﹐而非該link 真正指向的檔案-v : 顯示擁有者變更的詳細資料-R : 對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞歸的方式逐個變更)--help : 顯示輔助說明--version : 顯示版本
範例:
將檔案file1.txt 的擁有者設爲users 羣體的使用者jessie :
chown jessie:users file1.txt
將目前目錄下的所有檔案與子目錄的擁有者皆設爲users 羣體的使用者lamport :
chmod -R lamport:users *
名稱:chfn

使用權限:所有使用者
用法:shell>> chfn
說明:提供使用者更改個人信息,用於finger and mail username
範例:
shell>> chfn
Changing finger information for user
Password: [del]
Name[]:Johnney Huang ### 提供finger 時的資料
Office[]:NCCU
Office Phone[]: [del]
Home Phone[]: [del]
名稱:chsh
使用權限:所有使用者
用法:shell>> chsh
說明:更改使用者shell 設定
範例:
shell>> chsh
Changing fihanging shell for user1
Password: [del]
New shell [/bin/tcsh]: ### [是目前使用的shell]
[del]
shell>> chsh -l ### 展示/etc/shells 檔案內容
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh

/bin/csh
名稱: finger
使用權限: 所有使用者
使用方式: finger [options] user[@address]
說明:finger 可以讓使用者查詢一些其它使用者的資料。會列出來的資料有:
1. Login Name
2. User Name
3. Home directory
4. Shell
5. Login status
6. mail status
7. .plan
8. .project
9. .forward
其中.plan ,.project 和.forward 就是使用者在他的Home Directory 裏的.plan , .project 和.forward 等檔案裏的資料。如果沒有就沒有。finger 指令並不限定於在同一服務器上查詢,也可以尋找某一個遠程服務器上的使用者。只要給一個像是E-mail address 一般的地址即可。
參數:
 -l 多行顯示。
 -s 單行顯示。這個選項只顯示登入名稱,真實姓名,終端機名稱,閒置時間,登入時間,辦公室號碼及電話號碼。如果所查詢的使用者是遠程服務器的使用者,這個選項無效。
範例:下列指令可以查詢本機管理員的數據:
finger root
其結果如下:
Login: root Name: root Directory: /root Shell: /bin/bash Never logged in. No mail. No Plan.
名稱:last
使用權限:所有使用者

使用方式:shell>> last [options]
說明:顯示系統開機以來獲是從每月初登入者的訊息
參數:
-R 省略hostname 的字段
-num 展示前num 個
username 展示username 的登入訊息
tty 限制登入訊息包含終端機代號
範例:
shell>> last -R -2
johnney pts/1 Mon Aug 14 20:42 still logged in
johnney pts/0 Mon Aug 14 19:59 still logged in
wtmp begins Tue Aug 1 09:01:10 2000 ### /var/log/wtmp
shell>> last -2 minery
minery pts/0 140.119.217.115 Mon Aug 14 18:37 - 18:40 (00:03)
minery pts/0 140.119.217.115 Mon Aug 14 17:22 - 17:24 (00:02)
wtmp begins Tue Aug 1 09:01:10 2000
名稱: who
使用權線: 所有使用者都可使用
使用方式: who - [husfV] [user]
說明: 顯示系統中有那些使用者正在上面,顯示的數據包含了使用者ID,使用的終端機,從那邊連上來的,上線時間,呆滯時間,CPU 使用量,動作等等。
參數:
-h : 不要顯示標題列-u : 不要顯示使用者的動作/工作-s : 使用簡短的格式來顯示-f : 不要顯示使用者的上線位置-V : 顯示程序版本

名稱:/etc/aliases 使用權限:系統管理者使用方式: 請用newaliases 更新數據庫說明:
sendmail 會使用一個在/etc/aliases 中的檔案做使用者名稱轉換的動作。當sendmail 收到一個要送給xxx 的信時,它會依據aliases檔的內容送給另一個使用者。這個功能可以創造一個只有在信件系統內纔有效的使用者。例如mailing list 就會用到這個功能,在mailinglist 中,我們可能會創造一個叫[email protected] 的mailinglist,但實際上並沒有一個叫redlinux 的使用者。實際aliases 檔的內容是將送給這個使用者的信都收給mailing list 處理程序負責分送的工作。
/etc/aliases 是一個文字模式的檔案,sendmail 需要一個二進制元格式的/etc/aliases.db。newaliases 的功能傳是將/etc/aliases 轉換成一個sendmail 所能瞭解的數據庫。範例:
# newaliases
下面命令會做相同的事,
# sendmail -bi
相關命令: mail, mailq, newaliases, sendmail
名稱:mail
使用權限:所有使用者
使用方式:mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] user1 [user 2 ...]
說明: mail 不僅只是一個指令﹐ mail 還是一個電子郵件程序﹐不過利用mail 來讀信的人應該很少吧﹗對於系統管理者來說mail 就很有用﹐因爲管理者可以用mail 寫成script ﹐定期寄一些備忘錄提醒系統的使用者。
參數: i 忽略tty 的中斷訊號。(interrupt) I 強迫設成互動模式。(Interactive) v 打印出訊息﹐例如送信的地點﹑狀態等等。(verbose) n 不讀入mail.rc 設定檔。s 郵件標題。c cc 郵件地址。b bcc 郵件地址。
範例:
將信件送給一個或以上的電子郵件地址﹐由於沒有加入其它的選項﹐使用者必須輸入標題與信件的內容等。而user2 沒有主機位置﹐就會送給郵件服務器的user2 使用者。
mail [email protected] mail [email protected] user2

將mail.txt 的內容寄給user2 同時cc 給user1 。如果將這一行指令設成cronjob 就可以定時將備忘錄寄給系統使用者。
mail -s 標題-c user1 user2 < mail.txt
名稱:cp
使用權限:所有使用者
使用方式:
cp [options] source dest cp [options] source... directory
說明:將一個檔案拷貝至另一檔案,或將數個檔案拷貝至另一目錄。
參數:
-a 儘可能將檔案狀態、權限等資料都照原狀予以複製。-r 若source 中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地。-f 若目的地已經有相同檔名的檔案存在,則在複製前先予以刪除再行復制。
指令:mesg
使用權限: 所有使用者
使用方式: mesg [y|n]
說明: 決定是否允許其它人傳訊息到自己的終端機接口
參數:
y : 允許訊息傳到終端機接口上。n : 不允許訊息傳到終端機接口上。如果沒有設定,則訊息傳遞與否則由終端機接口目前狀態而定。
例子:
改變目前訊息設定,改成不允許訊息傳到終端機接口上:
mesg n
與mesg 相關的指令有: talk,write,wall。
名稱:/etc/aliases 使用權限:系統管理者使用方式: newaliases 說明:
sendmail 會使用一個在/etc/aliases 中的檔案做使用者名稱轉換的動作。當sendmail 收到一個要送給xxx 的信時,它會依據aliases檔的內容送給另一個使用者。這個功能可以創造一個只有在信件系統內纔有效的使用者。例如mailing list 就會用到這個功能,在mailinglist 中,我們可能會創造一個叫[email protected] 的mailinglist,但實際上並沒有一個叫redlinux 的使用者。實際aliases 檔的內容是將送給這個使用者的信都收給mailing list 處理程序負責分送的工作。

/etc/aliases 是一個文字模式的檔案,sendmail 需要一個二進制元格式的/etc/aliases.db。newaliases 的功能傳是將/etc/aliases 轉換成一個sendmail 所能瞭解的數據庫。
參數:沒有任何參數。範例:
# newaliases
下面命令會做相同的事,
# sendmail -bi
相關命令: mail, mailq, newaliases, sendmail
名稱: talk
使用權限: 所有使用者
使用方式:
talk person [ttyname]
說明: 與其它使用者對談
參數:
person : 預備對談的使用者帳號,如果該使用者在其它機器上,則可輸入[email protected] ttyname : 如果使用者同時有兩個以上的tty 聯機,可以自行選擇合適的tty 傳訊息
例子.1 :
與現在機器上的使用者Rollaend對談,此時Rollaend 只有一個聯機:
talk Rollaend <br>
接下來就是等Rollaend響應,若Rollaend接受,則Rollaend輸入`talk jzlee`即可開始對談,結束請按ctrl+c
例子.2 :與linuxfab.cx上的使用者Rollaend對談,使用pts/2來對談:
talk [email protected] pts/2<br>
接下來就是等Rollaend響應,若Rollaend接受,則Rollaend輸入`talk [email protected]`即可開始對談,結束請按ctrl+c
注意: 若屏幕的字會出現不正常的字符,試着按ctrl+l 更新屏幕畫面。
名稱: wall
使用權限: 所有使用者
使用方式:
wall [ message ]
使用說明:
wall 會將訊息傳給每一個mesg 設定爲yes 的上線使用者。當使用終端機接口做爲標準傳入時, 訊息結束時需加上EOF (通常用Ctrl+D)。
例子:
傳訊息"hi" 給每一個使用者:
wall hi

名稱: write
使用權限: 所有使用者
使用方式:
write user [ttyname]
說明: 傳訊息給其它使用者
參數:
user : 預備傳訊息的使用者帳號ttyname : 如果使用者同時有兩個以上的tty 聯機,可以自行選擇合適的tty 傳訊息
例子.1 :
傳訊息給Rollaend,此時Rollaend 只有一個聯機:
write Rollaend <br>
接下來就是將訊息打上去,結束請按ctrl+c
例子.2 :傳訊息給Rollaend,Rollaend 的聯機有pts/2,pts/3 :
write Rollaend pts/2<br>
接下來就是將訊息打上去,結束請按ctrl+c
注意: 若對方設定mesg n,則此時訊席將無法傳給對方,
名稱:nice
使用權限:所有使用者
使用方式:nice [-n adjustment] [-adjustment] [--adjustment=adjustment] [--help] [--version] [command [arg...]]
說明:以更改過的優先序來執行程序, 如果未指定程序, 則會印出目前的排程優先序, 內定的adjustment 爲10, 範圍爲-20 (最高優先序) 到19 (最低優先序)
參數:
-n adjustment, -adjustment, --adjustment=adjustment 皆爲將該原有優先序的增加adjustment --help 顯示求助訊息--version 顯示版本信息
範例:
將ls 的優先序加1 並執行:
nice -n 1 ls
將ls 的優先序加10 並執行:
nice ls 將k的優先次序加10並執行
注意: 優先序(priority) 爲操作系統用來決定CPU 分配的參數,Linux 使用『回合制(round-robin)』的算法來做CPU 排程,優先序越高,所可能獲得的CPU時間就越多。
名稱:kill
使用權限:所有使用者
使用方式:

kill [ -s signal | -p ] [ -a ] pid ... kill -l [ signal ]
說明:kill 送出一個特定的信號(signal) 給行程id 爲pid 的行程根據該信號而做特定的動作, 若沒有指定, 預設是送出終止(TERM) 的信號
參數:
-s (signal) : 其中可用的訊號有HUP (1), KILL (9), TERM (15), 分別代表着重跑, 砍掉, 結束; 詳細的信號可以用kill -l -p : 印出pid , 並不送出信號-l (signal) : 列出所有可用的信號名稱
範例:
將pid 爲323 的行程砍掉(kill) :
kill -9 323
將pid 爲456 的行程重跑(restart) :
kill -HUP 456
名稱:ps 使用權限:所有使用者使用方式:ps [options] [--help] 說明:顯示瞬間行程(process) 的動態參數: ps 的參數非常多, 在此僅列出幾個常用的參數並大略介紹含義-A 列出所有的行程-w 顯示加寬可以顯示較多的信息-au 顯示較詳細的信息-aux 顯示所有包含其它使用者的行程
au(x)輸出格式
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 行程擁有者
PID:pid
%CPU:佔用的cpu使用率
VSZ:佔用的內存使用率
RSS:佔用的虛擬內存大小
TTY:佔用的內存大小
STAT:該行程的狀態
D:不可中斷的靜止
R:正在執行中
S:靜止狀態
T:暫停執行
Z:不存在但暫時無法消除

W:沒有足夠的內存分頁可分配
<:高的先序的行程
N:低優先序的行程
L:有內存分頁分配並鎖在內存內
START:行程開始時間
COMMAND:所執行的指令。
名稱:cut
使用權限:所有使用者
用法:cut -cnum1-num2 filename
說明:顯示每行從開頭算起num1 到num2 的文字。
範例:
shell>> cat example
test2
this is test1
shell>> cut -c0-6 example ## print 開頭算起前6 個字符
test2
this i
名稱:pstree 使用權限:所有使用者使用方式: pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user] pstree -V 說明:將所有行程以樹狀圖顯示, 樹狀圖將會以pid (如果有指定) 或是以init 這個基本行程爲根(root) ,如果有指定使用者id , 則樹狀圖會只顯示該使用者所擁有的行程參數: -a 顯示該行程的完整指令及參數, 如果是被內存置換出去的行程則會加上括號-c 如果有重複的行程名, 則分開列出(默認值是會在前面加上* 範例:
pstree init-+-amd |-apmd

|-atd |-httpd---10*[httpd] %pstree -p init(1)-+-amd(447) |-apmd(105) |-atd(339) %pstree -c init-+-amd |-apmd |-atd |-httpd-+-httpd | |-httpd | |-httpd | |-httpd ....
名稱:skill
使用權限:所有使用者
使用方式: skill [signal to send] [options] 選擇程序的規則
說明:
送個訊號給正在執行的程序,預設的訊息爲TERM (中斷) , 較常使用的訊息爲HUP , INT , KILL , STOP , CONT ,和0
訊息有三種寫法:分別爲-9 , -SIGKILL , -KILL , 可以使用-l 或-L 已列出可使用的訊息。
一般參數:
-f 快速模式/尚未完成
-i 互動模式/ 每個動作將要被確認
-v 詳細輸出/ 列出所選擇程序的信息
-w 智能警告訊息/ 尚未完成
-n 沒有動作/ 顯示程序代號
參數:選擇程序的規則可以是, 終端機代號,使用者名稱,程序代號,命令名稱。
-t 終端機代號( tty 或pty )
-u 使用者名稱
-p 程序代號( pid )
-c 命令名稱可使用的訊號:
以下列出已知的訊號名稱,訊號代號,功能。
名稱(代號) 功能/ 描述
ALRM 14 離開
HUP 1 離開
INT 2 離開

KILL 9 離開/ 強迫關閉
PIPE 13 離開
POLL 離開
PROF 離開
TERM 15 離開
USR1 離開
USR2 離開
VTALRM 離開
STKFLT 離開/ 只適用於i386, m68k, arm 和ppc 硬件
UNUSED 離開/ 只適用於i386, m68k, arm 和ppc 硬件
TSTP 停止/產生與內容相關的行爲
TTIN 停止/產生與內容相關的行爲
TTOU 停止/產生與內容相關的行爲
STOP 停止/強迫關閉
CONT 從新激活/如果在停止狀態則從新激活,否則忽略
PWR 忽略/在某些系統中會離開
WINCH 忽略
CHLD 忽略
ABRT 6 核心
FPE 8 核心
ILL 4 核心
QUIT 3 核心
SEGV 11 核心
TRAP 5 核心
SYS 核心/或許尚未實作
EMT 核心/或許尚未實作
BUS 核心/核心失敗
XCPU 核心/核心失敗
XFSZ 核心/核心失敗
範例:
停止所有在PTY 裝置上的程序
skill -KILL -v pts/*
停止三個使用者user1 , user2 , user3
skill -STOP user1 user2 user3
其它相關的命令: kill
名稱:renice
使用權限:所有使用者
使用方式:renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]

說明:重新指定一個或多個行程(Process)的優先序(一個或多個將根據所下的參數而定)
參數:
-p pid 重新指定行程的id 爲pid 的行程的優先序-g pgrp 重新指定行程羣組(process group)的id 爲pgrp 的行程(一個或多個) 的優先序-u user 重新指定行程擁有者爲user 的行程的優先序
範例:
將行程id 爲987 及32 的行程與行程擁有者爲daemon 及root 的優先序號碼加1 :
renice +1 987 -u daemon root -p 32
注意: 每一個行程(Process)都有一個唯一的(unique) id。
名稱:top
使用權限:所有使用者
使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
說明:實時顯示process 的動態
參數:
d : 改變顯示的更新速度,或是在交談式指令列( interactive command)按s q : 沒有任何延遲的顯示速度,如果使用者是有superuser 的權限,則top 將會以最高的優先序執行c : 切換顯示模式,共有兩種模式,一是隻顯示執行檔的名稱,另一種是顯示完整的路徑與名稱S : 累積模式,會將己完成或消失的子行程( dead child process ) 的CPU time 累積起來s : 安全模式,將交談式指令取消, 避免潛在的危機i : 不顯示任何閒置(idle) 或無用(zombie) 的行程n : 更新的次數,完成後將會退出top b : 批次文件模式,搭配"n" 參數一起使用,可以用來將top 的結果輸出到檔案內
範例:
顯示更新十次後退出;
top -n 10
使用者將不能利用交談式指令來對行程下命令:
top -s
將更新顯示二次的結果輸入到名稱爲top.log 的檔案裏:
top -n 2 -b < top.log
指令expr
### 字符串長度
shell>> expr length "this is a test"
14
### 數字商數

shell>> expr 14 % 9
5
### 從位置處抓取字符串
shell>> expr substr "this is a test" 3 5
is is
### 數字符串only the first character
shell>> expr index "testforthegame" e
2
### 字符串真實重現
shell>> expr quote thisisatestformela
thisisatestformela
指令tr
### 1.比方說要把目錄下所有的大寫檔名換爲小寫檔名?
似乎有很多方式,"tr"是其中一種:
#!/bin/sh
dir="/tmp/testdir";
files=`find $dir -type f`;
for i in $files
do
dir_name=`dirname $i`;
ori_filename=`basename $i`
new_filename=`echo $ori_filename | tr [:upper:] [:lower:]` > /dev/null;
#echo $new_filename;
mv $dir_name/$ori_filename $dir_name/$new_filename
done
### 2.自己試驗中...lowercase to uppercase

tr abcdef...[del] ABCDE...[del]
tr a-z A-Z
tr '[:lower:]' '[:upper:]'
shell>> echo "this is a test" | tr a-z A-Z > www
shell>> cat www
THIS IS A TEST
### 3.去掉不想要的字符串
shell>> tr -d this ### 去掉有關t.e.s.t
this
man
man
test
e
### 4.取代字符串
shell>> tr -s "this" "TEST"
this
TEST
th
TE
名稱: reset, tset
使用方法: tset [-IQqrs] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal]
使用說明:
reset 其實和tset 是一同個命令,它的用途是設定終端機的狀態。一般而言,這個命令會自動的從環境變量、命令列或是其它的組態文件決定目前終端機的型態。如果指定型態是'?' 的話,這個程序會要求使用者輸入終端機的型別。
由於這個程序會將終端機設回原始的狀態,除了在login 時使用外,當系統終端機因爲程序不正常執行而進入一些奇怪的狀態時,你也可以用它來重設終端機o 例如不小心把二進制元文件用cat 指令進到終端機,常會有終端機不再響應鍵盤輸入,或是響應一些奇怪字符的問題。此時就可以用reset 將終端機回覆至原始狀態。選項說明:
-p
將終端機類別顯示在屏幕上,但不做設定的動作。這個命令可以用來取得目前終端機的類別。

-e ch
將erase 字符設成ch
-i ch
將中斷字符設成ch
-k ch
將刪除一行的字符設成ch
-I
不要做設定的動作,如果沒有使用選項-Q 的話,erase、中斷及刪除字符的目前值依然會送到屏幕上。
-Q
不要顯示erase、中斷及刪除字符的值到屏幕上。
-r
將終端機類別印在屏幕上。
-s
將設定TERM 用的命令用字符串的型式送到終端機中,通常在.login 或.profile 中用
範例:
讓使用者輸入一個終端機型別並將終端機設到該型別的預設狀態。
# reset ?
將erase 字符設定control-h
# reset -e ^B
將設定用的字符串顯示在屏幕上
# reset -s Erase is control-B (^B). Kill is control-U (^U). Interrupt is control-C (^C). TERM=xterm;
名稱: find 用法: find <path> <expression> 使用說明:
將檔案系統內符合expression 的檔案列出來。你可以指要檔案的名稱、類別、時間、大小、權限等不同信息的組合,只有完全相符的纔會被列出來。
find 根據下列規則判斷path 和expression,在命令列上第一個- ( ) , ! 之前的部份爲path,之後的是expression。如果path 是空字符串則使用目前路徑,如果expression 是空字符串則使用-print 爲預設expression。
expression 中可使用的選項有二三十個之多,在此只介紹最常用的部份。
-mount, -xdev : 只檢查和指定目錄在同一個檔案系統下的檔案,避免列出其它檔案系統中的檔案-amin n : 在過去n 分鐘內被讀取過

-anewer file : 比檔案file 更晚被讀取過的檔案-atime n : 在過去n 天過讀取過的檔案-cmin n : 在過去n 分鐘內被修改過-cnewer file :比檔案file 更新的檔案-ctime n : 在過去n 天過修改過的檔案-empty : 空的檔案-gid n or -group name : gid 是n 或是group 名稱是name -ipath p, -path p : 路徑名稱符合p 的檔案,ipath 會忽略大小寫-name name, -iname name : 文件名稱符合name 的檔案。iname 會忽略大小寫-size n : 檔案大小是n 單位,b 代表512 字節的區塊,c 表示字符數,k 表示kilo bytes,w 是二個字節。-type c : 檔案類型是c 的檔案。
o d: 目錄
o c: 字型裝置檔案
o b: 區塊裝置檔案
o p: 具名貯列
o f: 一般檔案
o l: 符號連結
o s: socket
-pid n : process id 是n 的檔案
你可以使用( ) 將表達式分隔,並使用下列運算。
 exp1 -and exp2
 ! expr
 -not expr
 exp1 -or exp2
 exp1, exp2
範例: 將目前目錄及其子目錄下所有延伸文件名是c 的檔案列出來。
# find . -name "*.c"
將目前目錄其其下子目錄中所有一般檔案列出
# find . -ftype f
將目前目錄及其子目錄下所有最近20 分鐘內更新過的檔案列出
# find . -ctime -20
名稱:compress
使用權限:所有使用者
使用方式:compress [-dfvcV] [-b maxbits] [file ...]
說明: compress 是一個相當古老的unix 檔案壓縮指令﹐壓縮後的檔案會加上一個.Z 延伸檔名以區別

未壓縮的檔案﹐壓縮後的檔案可以以uncompress 解壓。若要將數個檔案壓成一個壓縮檔﹐必須先將檔案tar 起來再壓縮。由於gzip 可以產生更理想的壓縮比例﹐一般人多已改用gzip 爲檔案壓縮工具。
參數: c 輸出結果至標準輸出設備(一般指熒幕) f 強迫寫入檔案﹐若目的檔已經存在﹐則會被覆蓋(force) v 將程序執行的訊息印在熒幕上(verbose) b 設定共同字符串數的上限﹐以位計算﹐可以設定的值爲9 至16 bits 。由於值越大﹐能使用的共同字符串就越多﹐壓縮比例就越大﹐所以一般使用默認值16 bits (bits) d 將壓縮檔解壓縮V 列出版本訊息
範例:
將source.dat 壓縮成source.dat.Z ﹐若source.dat.Z 已經存在﹐內容則會被壓縮檔覆蓋。
compress -f source.dat
將source.dat 壓縮成source.dat.Z ﹐並打印出壓縮比例。-v 與-f 可以一起使用
compress -vf source.dat
將壓縮後的資料輸出後再導入target.dat.Z 可以改變壓縮檔名。
compress -c source.dat > target.dat.Z
-b 的值越大﹐壓縮比例就越大﹐範圍是9-16 ﹐默認值是16 。
compress -b 12 source.dat
將source.dat.Z 解壓成source.dat ﹐若檔案已經存在﹐使用者按y 以確定覆蓋檔案﹐若使用-df 程序則會自動覆蓋檔案。由於系統會自動加入.Z 爲延伸檔名﹐所以source.dat 會自動當作source.dat.Z 處理。
compress -d source.dat
Name: cpio - copy file archives in and out cpio -i [ bBcdfkmPrsStuvV6 ] [ -C bufsize ] [ -E file ] [ -H header ] [ -I file [ -M message ] ] [ -R id ] [ pattern ... ] cpio -o [ aABcLPvV ] [ -C bufsize ] [ -H header ] [ -O file [ -M message ] ] cpio -p [ adlLmPuvV ] [ -R id ] directory Description: An ironic term that refers to the GNU General Public License (the GPL), signifying a radical departure from standard copyright. Back-up utility, similar to tar. Option:

-i (copy in) cpio -i extracts files from the standard input. -o (copy out) cpio -o reads the standard input to obtain a list of path names and copies those files onto the standard output. -p (pass) cpio -p reads the standard input to obtain a list of path names of files. The following options can be appended in any sequence to the -o, -i, or -p options: -a Reset access times of input files after they have been copied. Access times are not reset for linked files when cpio -pla is specified (mutually exclusive with -m). -A Append files to an archive. The -A option requires the -O option. Valid only with archives that are files, or that are on floppy diskettes or hard disk partitions. -b Reverse the order of the bytes within each word. (Use only with the -i option.) -B Block input/output 5120 bytes to the record. The default buffer size is 512 bytes when this and the -C options are not used. -B does not apply to the pass option; -B is meaningful only with data directed to or from a character special device, for example, /dev/rmt/0m. -c Read or write header information in ASCII character form for portability. There are no UID or GID restrictions associated with this header format. Use this option between SVR4based machines, or the -H odc option between unknown machines. The -c option implies the use of expanded device numbers, which are only supported on SVR4-based systems. When transferring files between Solaris 1.x or Interactive UNIX and Solaris 2.x use -H odc.
gzip [-acdfhlLnNqrtvV][-S<壓縮字尾字符串>][- <壓縮率>][--best][--fast][檔案] 常用的就-d 解壓縮與-N -n 壓縮檔案-r則代表「recursive」將指定目錄底下的所有檔案和子目錄一併處理
選項
-a --ascii ASCII文字模式


-c --stdout --to-stdout 壓縮後檔案輸出至標準輸出,不更動源文件。如果有多個input file的時候,會把所有檔案連接後再送出。
-d --decompress --uncompress 解壓縮
-f --force 強行壓縮或解壓縮
-h --help 顯示online Help
-l --list 對每個被壓縮的檔案,列出以下訊息: compressed size: 壓縮後的大小uncompressed size: 未壓縮前的大小ratio: 壓縮比率(0.0% if unknown)uncompressed_name: 未壓縮前的文件名稱
-L 顯示版本版權訊息
-n 壓縮檔案時不儲存原來檔案的名稱與時間
-N 相對於小寫,儲存原來檔案的名稱與時間
-q 不顯示警告訊息
-r 指定目錄下所有的檔案和子目錄一併處理
-S 更改壓縮字尾字符串
-t 測試壓縮檔
-V 顯示指令執行的過程
-v 版本訊息
-數字壓縮比例1~9之間的數值

Rpm: Description: Command used to manage all of the rpm software packages on a Linux system.
Option:
 -i Install a package
 -q To see if a package is installed on the system.
 -U Update the package
 -e All information about a package is completely erased.
 -qa List all the packages installed on the system.
 -qi List a description of a package

 -ql List all the files in a package
 -qf Show which package contains a certain file
Name: rpm2cpio - Converts Red Hat Packge (RPM) to cpio archive rpm2cpio [filename] Description: rpm2cpio converts the .rpm file specified as it's sole argument to a cpio archive on standard out. If no argument is given, a rpm stream is read from standard in. rpm2cpio rpm-1.1-1.i386.rpm rpm2cpio < glint-1.0-1.i386.rpm
名稱:uudecode
使用權限:所有使用者
使用方式:uuencode [-hv] [file1 ...]
說明:
uudecode 將uuencode 編碼後的檔案還原﹐ uudecode 只會將begin 與end 標記之間的編碼資料還原﹐程序會跳過標記以外的資料。
begin 644 file1.txt 15&AI<R!I<R!A(&9I;&4N"@H" end
這裏的文字不會被譯碼
參數: h 列出指令使用格式(help) v 列出版本訊息
範例:
將file.uud 還原﹐而還原後的檔名儲存在file.uud 檔中。
uuencode file.uud
可以一起還原好幾個檔案。
uuencode file1.uud file2.uud
名稱:uuencode
使用權限:所有使用者
使用方式:uuencode [-hv] [sourcefile] targetfile
說明:
早期在許多unix 系統的傳送協議只能傳送七位字符﹐並不支持二進制檔案﹐像中文文字文件就有用到八位﹐所以無法完整地送到另一架機器上。uuencode 指令﹐可以將二進制文件轉換成七

位的檔案﹐傳送到另一架機器上再以uudecode 還原。最常見的是用在以電子郵件傳送二進制文件。uuencode 編碼後的資料都以begin 開始﹐以end 作爲結束。
begin 644 decode.dat
(內容編碼)
end
begin 後的644 是unix 檔案的存取權限代碼。而decode.dat 則是還原後的檔名。
參數: h 列出指令使用格式(help) v 列出版本訊息(version)
範例:
將source.dat 編碼後存成file.uud 檔。由於uuencode 會將編碼後的數據在熒幕上列出﹐所以必須將資料導入file.uud 中﹐而target.dat 是file.uud 還原後的文件名字﹐而不是編碼後的檔案。
uuencode source.dat target.dat > file.uud
執行指令後﹐由標準輸入裝置讀入資料﹐簡單地說是由鍵盤輸入後在熒幕顯示的數據﹐按Crtl + d 鍵後就會被編碼﹐輸出至file.uud 中。由於程序是以行爲處理單位﹐若無法跳出程序﹐請多按幾次Ctrl + d 直到程序結束爲止。
uuencode target.dat > file.uud
類似上一個指令﹐不過使用一個導入的技巧﹐將source.dat 壓縮後的資料傳送給uuencode 處理之後﹐存成file.uud 檔。file.uud 檔還原後就是source.dat.Z 檔。
compress -c source.dat | uuencode source.dat.Z > file.uud
顯示版本訊息後﹐結束執行程序。
uuencode -v
名稱: lpd
使用權限: 所有使用者
使用方式:lpd [-l] [#port] lpd 一個常駐的打印機管理程序,它會根據/etc/printcap 的內容來管理本地或遠程的打印機。/etc/printcap 中定義的每一個打印機必須在/var/lpd 中有一個相對應的目錄,目錄中以cf 開頭的檔案表示一個等待送到適當裝置的印表工作。這個檔案通常是由lpr 所產生。
lpr 和lpd 組成了一個可以離線工作的系統,當你使用lpr 時,打印機不需要能立即可用,甚至不用存在。lpd 會自動監視打印機的狀況,當打印機上線後,便立即將檔案送交處理。這個得所有的應用程序不必等待打印機完成前一工作。
參數:
 -l: 將一些除錯訊息顯示在標準輸出上。
 #port: 一般而言,lpd 會使用getservbyname 取得適當的TCP/IP port,你可以使用這個參數強迫lpd 使用指定的port。
範例: 這個程序通常是由/etc/rc.d 中的程序在系統啓始階段執行。

名稱lpq
lpq -- 顯示列表機貯列中未完成的工作
用法
lpq [l] [P] [user]
說明
lpq 會顯示由lpd 所管理的列表機貯列中未完成的項目。
範例
範例1. 顯示所有在lp 列表機貯列中的工作
# lpq -PlpRank Owner Job Files Total Size1st root 238 (standard input) 1428646 bytes
相關函數
lpr,lpc,lpd
名稱: lpr
使用權限: 所有使用者
使用方式:lpr [ -P printer ] 將檔案或是由標準輸入送進來的資料送到打印機貯列之中,打印機管理程序lpd 會在稍後將這個檔案送給適當的程序或裝置處理。lpr 可以用來將料資送給本地或是遠程的主機來處理。
參數:
 -p Printer: 將資料送至指定的打印機Printer,默認值爲lp。
範例: 將www.c 和kkk.c 送到打印機lp。
lpr -Plp www.c kkk.c
名稱lprm
lprm -- 將一個工作由打印機貯列中移除
用法
/usr/bin/lprm [P] [file...]
說明
尚未完成的打印機工作會被放在打印機貯列之中,這個命令可用來將常未送到打印機的工作取消。由於每一個打印機都有一個獨立的貯列,你可以用-P 這個命令設定想要作用的印列機。如果沒有設定的話,會使用系統預設的打印機。
這個命令會檢查使用者是否有足夠的權限刪除指定的檔案,一般而言,只有檔案的擁有者或是系統管理員纔有這個權限。
範例
將打印機hpprinter 中的第1123 號工作移除
lprm -Phpprinter 1123
將第1011 號工作由預設打印機中移除

lprm 1011
§ 1.8 less
名稱:less
使用權限:所有使用者
使用方式
less [Option] filename
說明:、
less的作用與more十分相似,都可以用來瀏覽文本文件的內容,不同的是less允許使用者往回捲動,以瀏覽已經看過的部分,同時因爲less並未在一開始就讀入整個檔案,因此在遇到大型檔案的開啓時,會比一般的文書編輯器(如vi)來的快速
名稱: fdformat
使用權限: 所有使用者
使用方式:fdformat [-n] device
使用說明: 對指定的軟盤機裝置進行低階格式化。使用這個指令對軟盤格式化的時候,最好指定像是下面的裝置:
 /dev/fd0d360 磁盤驅動器A: ,磁盤爲360KB 磁盤
 /dev/fd0h1440 磁盤驅動器A: ,磁盤爲1.4MB 磁盤
 /dev/fd1h1200 磁盤驅動器B: ,磁盤爲1.2MB 磁盤
如果使用像是/dev/fd0 之類的裝置,如果裏面的磁盤不是標準容量,格式化可能會失敗。在這種情況之下,使用者可以用setfdprm 指令先行指定必要參數。
參數:
 -n 關閉確認功能。這個選項會關閉格式化之後的確認步驟。
範例:
fdformat -n /dev/fd0h1440
將磁盤驅動器A 的磁盤格式化成1.4MB 的磁盤。並且省略確認的步驟。
名稱: mkdosfs
使用權限: 所有使用者
使用方式: mkdosfs [ -c | -l filename ]
[ -f number_of_FATs ]
[ -F FAT_size ]
[ -i volume_id ]
[ -m message_file ]
[ -n volume_name ]


[ -r root_dir_entry ]
[ -s sector_per_cluster ]
[ -v ]
device
[ block_count ]

說明: 建立DOS 檔案系統。device 指你想要建立DOS 檔案系統的裝置代號。像是/dev/hda1 等等。block_count 則是你希望配置的區塊數。如果block_count 沒有指定則系統會自動替你計算符合該裝置大小的區塊數。
參數:
 -c 建立檔案系統之前先檢查是否有壞軌。
 -l 從得定的檔案中讀取壞軌記錄。
 -f 指定檔案配置表(FAT , File Allocation Table)的數量。默認值爲2 。目前Linux 的FAT 檔案系統不支持超過2 個FAT 表。通常這個不需要改。
 -F 指定FAT 表的大小,通常是12 或是16 個字節。12 字節通常用於磁盤片,16 字節用於一般硬盤的分割區,也就是所謂的FAT16 格式。這個值通常系統會自己選定適當的值。在磁盤片上用FAT16 通常不會發生作用,反之在硬盤上用FAT12 亦然。
 -i 指定Volume ID。一般是一個4 個字節的數字,像是2e203a47 。如果不給系統會自己產生。
 -m 當使用者試圖用這片磁盤或是分割區開機,而上面沒有操作系統時,系統會給使用者一段警告訊息。這個參數就是用來變更這個訊息的。你可以先用檔案編輯好,然後用這個參數指定,或是用-m - 這樣系統會要求你直接輸入這段文字。要特別注意的是,檔案裏的字符串長度不要超過418 個字,包括展開的跳欄符號(TAB)和換行符號(換行符號在DOS 底下算兩個字符!)
 -n 指定Volume Name,就是磁盤卷標。如同在DOS 底下的format 指令一樣,給不給都可以。沒有默認值。
 -r 指定根目錄底下的最大檔案數。這裏所謂的檔案數包括目錄。默認值是在軟盤上是112 或是224 ,在硬盤上是512。沒事不要改這個數字。
 -s 每一個磁叢(cluster)的扇區數。必須是2 的次方數。不過除非你知道你在作什麼,這個值不要亂給。
 -v 提供額外的訊息
範例: mkdosfs -n Tester /dev/fd0 將A 槽裏的磁盤片格式化爲DOS 格式,並將卷標設爲Tester
經驗技巧
名稱: mformat

使用權限: 所有使用者
使用方式:
mformat [-t cylinders] [-h heads] [-s sectors] [-l volume_label] [-F] [-I fsVer-sion] [-S sizecode] [-2 sectors_on_track_0] [-M software_sector_size] [-a] [-X] [-C] [-H hidden_sectors] [-r root_sectors] [-B boot_sector] [-0 rate_on_track_0] [-A rate_on_other_tracks] [-1] [-k] drive:
在已經做過低階格式化的磁盤上建立DOS 檔案系統。如果在編譯mtools 的時候把USE_2M 的參數打開,部分與2M 格式相關的參數就會發生作用。否則這些參數(像是S,2,1,M)不會發生作用。
參數:
 -t 磁柱(synlider)數
 -h 磁頭(head)數
 -s 每一磁道的扇區數
 -l 卷標
 -F 將磁盤格式化爲FAT32 格式,不過這個參數還在實驗中。
 -I 設定FAT32 中的版本號。這當然也還在實驗中。
 -S 扇區大小代碼,計算方式爲sector = 2^(大小代碼+7)
 -c 磁叢(cluster)的扇區數。如果所給定的數字會導致磁叢數超過FAT 表的限制,mformat 會自動放大扇區數。
 -s
 -M 軟件扇區大小。這個數字就是系統回報的扇區大小。通常是和實際的大小相同。
 -a 如果加上這個參數,mformat 會產生一組Atari 系統的序號給這塊軟盤。
 -X 將軟盤格式化成XDF 格式。使用前必須先用xdfcopy 指令對軟盤作低階格式化的動作。
 -C 產生一個可以安裝MS-DOS 檔案系統的磁盤影像文件(disk p_w_picpath)。當然對一個實體磁盤驅動器下這個參數是沒有意義的。
 -H 隱藏扇區的數目。這通常適用在格式化硬盤的分割區時,因爲通常一個分割區的前面還有分割表。這個參數未經測試,能不用就不用。
 -n 磁盤序號
 -r 根目錄的大小,單位是扇區數。這個參數只對FAT12 和FAT16 有效。
 -B 使用所指定的檔案或是設備的開機扇區做爲這片磁盤或分割區的開機扇區。當然當中的硬件參數會隨之更動。
 -k 儘量保持原有的開機扇區。
 -0 第0 軌的數據傳輸率
 -A 第0 軌以外的數據傳輸率
 -2 使用2m 格式
 -1 不使用2m 格式
範例:
mformat a:

這樣會用默認值把a: (就是/dev/fd0)裏的磁盤片格式化。
名稱: MAKEDEV 使用方法: MAKEDEV -V MAKEDEV [ -n ] [ -v ] update MAKEDEV [ -n ] [ -v ] [ -d ] device ... 使用說明: 這個命令可以用法新增/dev/ 下的裝置檔案,多數distribution 已經將所有的檔案都產生,故一般而言不太會需要用到這個命令。
名稱: dumpkeys 使用權限: 所有使用者使用方式:
dumpkeys [ -hilfn1 -Sshape -ccharset --help --short-info
--long-info --numeric --full-table --separate-lines
--shape=shape --funcs-only --keys-only --compose-only
--charset=charset ]
使用說明:
這個命令用來將鍵盤的對映表寫到標準輸出之中,輸出的格式可以被loadkeys 命令加載。而這個表格的功能在於將鍵盤硬件所產生的掃描碼(scan code),轉換成ASCII 或是任何的字符串。
這是在Linux 上特有的指令,它允許你將鍵盤上的按鍵組合,如ctrl-a. shift-a 等轉換成適當的字符串。例如你可以將alt-ctrl-f12 定義成『linux』,以後只要按下alt-ctrl-f12 就等於輸入linux 這個字了。
要將alt-ctrl-f12 定義成linux 有二件事要做,首先你必需將alt-ctrl-f12 這個按鍵組合定義成某個功能鍵,在這裏我們使用f20。
control alt keycode 88 = F20
上面的keycode 88 便是F12 這個鍵的硬件掃描碼。下一步便是將F20 這個功能鍵定義成linux
string F20="linux"
將包括這二行的檔案用loadkeys 加載後便可以用alt-ctrl-f12 來輸入linux 了。chdrv, yact 等console 模式中文系統便是使用這個功能來重新定義鍵盤。選項: 相關命令: loadkeys
名稱: loadkeys 使用權限: 所有使用者使用方式: loadkeys [ -d --default ] [ -h --help ] [ -q --quiet ] [ -v --verbose [ -v --verbose ]...]

[ -m --mktable ] [ -c --clearcompose ] [ -s --clearstrings ] [ filename... ] 使用說明: 這個命令可以根據一個鍵盤定義表改變linux 鍵盤驅動程序轉譯鍵盤輸入過程。詳細的說明請參考dumpkeys。
選項: -v --verbose 印出詳細的資料,你可以重複以增加詳細度。
-q --quiet 不要顯示任何訊息。-c --clearcompose 清除所有composite 定義。
-s --clearstrings 將定串定義表清除。
相關命令: dumpkeys
名稱: rdev 使用權限: 所有使用者使用方式: 使用這個指令的基本方式是: rdev [-rsvh ] [-o offset ] [ p_w_picpath [value [ offset ] ] ] 但是隨着使用者想要設定的參數的不同,底下的方式也是一樣:
 rdev [ -o offset ] [ p_w_picpath [ root_device [ offset ] ] ]
 swapdev [ -o offset ] [ p_w_picpath [ swap_device [ offset ] ] ]
 ramsize [ -o offset ] [ p_w_picpath [ size [ offset ] ] ]
 videomode [ -o offset ] [ p_w_picpath [ mode [ offset ] ] ]
 rootflags [ -o offset ] [ p_w_picpath [ flags [ offset ] ] ]
說明: rdev 可以用來取得或是設定開機核心影像文件(kernel p_w_picpath)的各項參數,像是:
1. root device
2. swap device
3. RAM disk
4. video mode
參數:
 -r
 -s
 -v
 -h
 -o

範例: uptime 其結果爲: 10:41am up 5 days, 10 min, 1 users, load average: 0.00, 0.00, 1.99
名稱:setleds 使用權限:一般使用者使用方式: setleds [-v] [-L] [-D] [-F] [{+|-}num] [{+|-}caps] [{+|-}scroll]說明: 用來設定鍵盤上方三個LED 的狀態。在Linux 中,每一個虛擬主控臺都有獨立的設定。參數: -F 預設的選項,設定虛擬主控臺的狀態。-D 除了改變虛擬主控臺的狀態外,還改變預設的狀態。-L 不改變虛擬主控臺的狀態,但直接改變LED 顯示的狀態。這會使得LDE 顯示和目前虛擬主控臺的狀態不符合。我們可以在稍後用-L 且不含其它選項的setleds 命令回覆正常狀態。-num +num 將數字鍵打開或關閉。-caps +caps 把大小寫鍵打開或關閉。-scroll +scroll 把選項鍵打開或關閉。範例: 將數字鍵打開,其餘二個燈關閉。
# setleds +num -caps -scroll
名稱: dd 使用權限: 所有使用者dd 這個指令在manual 裏的定義是convert and copy a file
使用方式: dd [option]
如果你想要線上看manual, 可以試試: dd --help
或是info dd
如果你想要看看這個版本如何: dd --version

輸入或輸出dd if=[STDIN] of=[STDOUT]
強迫輸入或輸出的Size爲多少Bytes bs: dd -ibs=[BYTE] -obs=[SIZE]
強迫一次只做多少個Bytes cbs=BYTES
跳過一段以後才輸出seek=BLOCKS
跳過一段以後才輸入skip=BLOCKS
當然你可以拿這個來方便的拷貝光盤(注意,你的光盤是標準的iso9660格式纔可以這麼做唷!)
dd if=/dev/cdrom of=cdrom.iso 其中if 後面以及of 後面的內容依你的需求調整。
然後給系統這個指令就可以燒了:
cdrecord -v cdrom.iso 這篇不是在講cdrecord 的,所以上面的指令是最爲簡單但是不一定能符合您的硬件環境....
名稱: ls
使用權限: 所有使用者
使用方式: ls [-alrtAFR] [name...]
說明: 顯示指定工作目錄下之內容(列出目前工作目錄所含之檔案及子目錄)。
參數:
-a 顯示所有檔案及目錄(ls內定將文件名或目錄名稱開頭爲"."的視爲隱藏檔,不會列出) -l 除文件名稱外,亦將檔案型態、權限、擁有者、檔案大小等信息詳細列出-r 將檔案以相反次序顯示(原定依英文字母次序) -t 將檔案依建立時間之先後次序列出-A 同-a ,但不列出"." (目前目錄) 及".." (父目錄) -F 在列出的文件名稱後加一符號;例如可執行文件則加"*", 目錄則加"/" -R 若目錄下有檔案,則以下之檔案亦皆依序列出
範例:
列出目前工作目錄下所有名稱是s 開頭的檔案,愈新的排愈後面:
ls -ltr s*
將/bin 目錄以下所有目錄及檔案詳細資料列出:
ls -lR /bin
列出目前工作目錄下所有檔案及目錄;目錄於名稱後加"/", 可執行檔於名稱後加"*" :
ls -AF

名稱:df 使用權限: 所有使用者> 使用方式: df [選項]... [FILE]...
顯示檔案系統的狀況,或是看所有檔案系統的狀況(默認值)
-a, --all 包含所有的具有0 Blocks 的檔案系統
--block-size={SIZE} 使用{SIZE} 大小的Blocks
-h, --human-readable 使用人類可讀的格式(默認值是不加這個選項的...)
-H, --si 很像-h, 但是用1000 爲單位而不是用1024
-i, --inodes 列出inode 信息,不列出已使用block
-k, --kilobytes 就像是--block-size=1024
-l, --local 限制列出的檔案結構
-m, --megabytes 就像--block-size=1048576
--no-sync 取得信息前不sync (默認值)
-P, --portability 使用POSIX 輸出格式
--sync 在取得信息前sync
-t, --type=TYPE 限制列出檔案系統的TYPE
-T, --print-type 顯示檔案系統的形式
-x, --exclude-type=TYPE 限制列出檔案系統不要顯示TYPE
-v (忽略)
--help 顯示這個幫手並且離開
--version 輸出版本信息並且離開

指令:e2fsck
使用權限: 超級使用者
使用方式: e2fsck [-pacnydfvFV] [-b superblock] [-B blocksize] [-l|-L bad_blocks_file] [-C fd] device
說明: 檢查使用Linux ext2 檔案系統的partition 是否正常工作
參數:
device : 預備檢查的硬盤partition,例如:/dev/sda1 -a : 對partition 做檢查,若有問題便自動修復,等同-p 的功能-b : 設定存放superblock 的位置-B : 設定單位block 的大小-c : 檢查該partition 是否有壞軌-C file : 將檢查的結果存到file 中以便查看

-d : 打印e2fsck 的debug 結果-f : 強制檢查-F : 在開始檢查前,將device 的buffer cache 清空,避免有錯誤發生-l bad_blocks_file : 將有壞軌的block資料加到bad_blocks_file 裏面-L bad_blocks_file : 設定壞軌的block資料存到bad_blocks_file 裏面,若無該檔則自動產生-n : 將檔案系統以[只讀]方式開啓-p : 對partition 做檢查,若有問題便自動修復-v : 詳細顯示模式-V : 顯示出目前e2fsck 的版本-y : 預先設定所有檢查時的問題均回答[是]
例子:
檢查/dev/hda5 是否正常,如果有異常便自動修復,並且設定若有問答,均回答[是] :
e2fsck -a -y /dev/hda5
注意:
大部份使用e2fsck 來檢查硬盤partition 的情況時,通常都是情形特殊,因此最好先將該partition umount,然後再執行e2fsck 來做檢查,若是要非要檢查/ 時,則請進入singal user mode 再執行。
指令:fdisk
用途:觀察硬盤之實體使用情形與分割硬盤用。
使用方法:
一、在console 上輸入fdisk -l /dev/sda ,觀察硬盤之實體使用情形。
二、在console 上輸入fdisk /dev/sda,可進入分割硬盤模式。
1. 輸入m 顯示所有命令列示。
2. 輸入p 顯示硬盤分割情形。
3. 輸入a 設定硬盤激活區。
4. 輸入n 設定新的硬盤分割區。
4.1. 輸入e 硬盤爲[延伸]分割區(extend)。
4.2. 輸入p 硬盤爲[主要]分割區(primary)。
5. 輸入t 改變硬盤分割區屬性。
6. 輸入d 刪除硬盤分割區屬性。
7. 輸入q 結束不存入硬盤分割區屬性。
8. 輸入w 結束並寫入硬盤分割區屬性。
名稱:exportfs 使用權限:系統管理者使用方式: exportfs
說明:

參數: 沒有任何參數。
範例:
# newaliases
下面命令會做相同的事,
# sendmail -bi
相關命令: mail, mailq, newaliases, sendmail
指令:fsck
使用權限: 超級使用者
使用方式: fsck [-sACVRP] [-t fstype] [--] [fsck-options] filesys [...]
說明: 檢查與修復Linux 檔案系統,可以同時檢查一個或多個Linux 檔案系統
參數:
filesys : device 名稱(eg./dev/sda1),mount 點(eg. / 或/usr) -t : 給定檔案系統的型式,若在/etc/fstab 中已有定義或kernel 本身已支持的則不需加上此參數-s : 依序一個一個地執行fsck 的指令來檢查-A : 對/etc/fstab 中所有列出來的partition 做檢查-C : 顯示完整的檢查進度-d : 打印e2fsck 的debug 結果-p : 同時有-A 條件時,同時有多個fsck 的檢查一起執行-R : 同時有-A 條件時,省略/ 不檢查-V : 詳細顯示模式
-a : 如果檢查有錯則自動修復-r : 如果檢查有錯則由使用者回答是否修復
例子:
檢查msdos 檔案系統的/dev/hda5 是否正常,如果有異常便自動修復:
fsck -t msdos -a /dev/hda5
注意:
此指令可與/etc/fstab 相互參考操作來加以瞭解。
名稱: 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 的影像文件之解讀非常實用。
參數
-V
顯示程序版本-h
顯示輔助訊息-v
顯示較訊息,通常和-f 用來除錯。-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/p_w_picpath.iso 這個光盤的p_w_picpath 文件使用loop 模式掛在/mnt/cdrom之下。用這種方法可以將一般網絡上可以找到的Linux 光盤ISO 文件在不燒錄成光盤的情況下檢視其內容。
#mount -o loop /tmp/p_w_picpath.iso /mnt/cdrom
相關命令umount

指令:fstab
使用權限: 超級使用者
使用方式: 使用編輯器來修改/etc/fstab (eg. vi /etc/fstab)
說明: 存放檔案系統與目錄結構對應資料的檔案
fstab 字段說明:
第一欄(fs_spec): 實際的device 名稱第二欄(fs_file): 對應到的目錄結構(mount point) 第三欄(fs_vfstype):該partition 的檔案系統,常見的有:
minix、ext、ext2、msdos、iso9660、nfs、swap
第四欄(fs_mntops): 在mount 時的參數第五欄(fs_freq): 在使用dump 時是否記錄,不需要則輸入0 第六欄(fs_passno): 決定在開機時執行fsck 的先後順序
例子:
IDE 硬盤分成兩個partition 與一個swap,還有一臺光驅跟一臺軟盤機的情形:
<pre> /dev/hda1 / ext2 defaults 1 1 <br> /dev/hda5 /home ext2 defaults 1 2 <br> /dev/cdrom /mnt/cdrom iso9660 noauto,user,ro 0 0 <br> /dev/hda6 swap swap defaults 0 0 <br> /dev/fd0 /mnt/floppy ext2 noauto,owner 0 0 <br> none /proc proc defaults 0 0 <br> none /dev/pts devpts gid=5,mode=620 0 0 <br> </pre>
指令:mkfs
使用權限: 超級使用者
使用方式: mkfs [-V] [-t fstype] [fs-options] filesys [blocks]
說明: 建立linux 檔案系統在特定的partition 上
參數:
device : 預備檢查的硬盤partition,例如:/dev/sda1 -V : 詳細顯示模式-t : 給定檔案系統的型式,Linux 的默認值爲ext2 -c : 在製做檔案系統前,檢查該partition 是否有壞軌-l bad_blocks_file : 將有壞軌的block資料加到bad_blocks_file 裏面block : 給定block 的大小
例子:
在/dev/hda5 上建一個msdos 的檔案系統,同時檢查是否有壞軌存在,並且將過程詳細列出來:
mkfs -V -t msdos -c /dev/hda5

名稱: swapon 使用者權限: 超級使用者(super-user) 使用方式: /sbin/swapon -a [-v] /sbin/swapon [-v] [-p priority] specialfile ... /sbin/swapon [-s] -h 請幫幫我-V 顯示版本訊息-s 顯示簡短的裝置訊息-a 自動激活所有SWAP裝置-p 設定優先權,你可以在0到32767中間選一個數字給他。或是在/etc/fstab 裏面加上pri=[value] ([value]就是0~32767中間一個數字),然後你就可以很方便的直接使用swapon -a 來激活他們,而且有優先權設定。

 

 

--------------------------------------------------------------------------------
此文章相關評論:
 
該文章有23個相關評論如下:(點這兒可以發表評論)
 
rwx 發表於: 2002/12/20 08:58am
 
good idea!不過最好加上分類目錄以便查詢 :em46: 
 
林雨亭 發表於: 2002/12/20 09:11am
 
不好查
 
rinehart 發表於: 2002/12/20 09:13am
 
 收集的差不多的時候我可以做成文件,有索引讓大家用啊 !
 
seawolf1979 發表於: 2002/12/20 09:37am
 
感覺應該列出常用的命令和不常用卻非常有用的命令 比較實用
如果是單獨的大全的話足夠厚厚的一本書(市面上就有的 :)  )
 
 
wxy 發表於: 2002/12/20 09:39am
 
建議一個命令一個帖子,否則真眼暈。
 
alstone 發表於: 2002/12/20 09:49am
 
實在是居家旅行之必備!!
 
rinehart 發表於: 2002/12/20 10:19am
 
其實以上都是常用的啊!!
 
Trotter 發表於: 2002/12/20 10:51am
 
RPM
一、安裝

命令格式:

rpm -i ( or --install) options file1.rpm ... fileN.rpm

參數:

file1.rpm ... fileN.rpm  將要安裝的RPM包的文件名

詳細選項:

-h (or --hash) 安裝時輸出hash記號 (``#'') 
--test         只對安裝進行測試,並不實際安裝。
--percent      以百分比的形式輸出安裝的進度。
--excludedocs  不安裝軟件包中的文檔文件
--includedocs  安裝文檔
--replacepkgs  強制重新安裝已經安裝的軟件包
--replacefiles 替換屬於其它軟件包的文件
--force        忽略軟件包及文件的衝突
--noscripts    不運行預安裝和後安裝腳本
--prefix <path> 將軟件包安裝到由 <path> 指定的路徑下
--ignorearch    不校驗軟件包的結構
--ignoreos      不檢查軟件包運行的操作系統
--nodeps        不檢查依賴性關係
--ftpproxy <host>   用 <host> 作爲 FTP代理 
--ftpport <port>    指定FTP的端口號爲 <port>

通用選項

-v  顯示附加信息
-vv 顯示調試信息
--root <path> 讓RPM將<path>指定的路徑做爲"根目錄",這樣預安裝程序和後安裝程序都會安裝到這個目錄下
--rcfile <rcfile> 設置rpmrc文件爲 <rcfile> 
--dbpath <path>   設置RPM 資料庫存所在的路徑爲 <path>

二、刪除

命令格式:

rpm -e ( or --erase) options pkg1 ... pkgN

參數

pkg1 ... pkgN :要刪除的軟件包

詳細選項

--test      只執行刪除的測試
--noscripts 不運行預安裝和後安裝腳本程序
--nodeps    不檢查依賴性

通用選項

-vv           顯示調試信息
--root <path> 讓RPM將<path>指定的路徑做爲"根目錄",這樣預安裝程序和後安裝程序都會安裝到這個目錄下
--rcfile <rcfile> 設置rpmrc文件爲 <rcfile>
--dbpath <path>   設置RPM 資料庫存所在的路徑爲 <path>

三、升級

命令格式

rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm

參數

file1.rpm ... fileN.rpm 軟件包的名字

詳細選項

-h (or --hash) 安裝時輸出hash記號 (``#'') 
--oldpackage   允許"升級"到一個老版本
--test         只進行升級測試
--excludedocs  不安裝軟件包中的文檔文件
--includedocs  安裝文檔
--replacepkgs  強制重新安裝已經安裝的軟件包
--replacefiles 替換屬於其它軟件包的文件
--force        忽略軟件包及文件的衝突
--percent      以百分比的形式輸出安裝的進度。
--noscripts    不運行預安裝和後安裝腳本 
--prefix <path> 將軟件包安裝到由 <path> 指定的路徑下
--ignorearch    不校驗軟件包的結構
--ignoreos      不檢查軟件包運行的操作系統
--nodeps        不檢查依賴性關係
--ftpproxy <host> 用 <host> 作爲 FTP代理 
--ftpport <port>  指定FTP的端口號爲 <port>

通用選項

-v  顯示附加信息
-vv 顯示調試信息
--root <path> 讓RPM將<path>指定的路徑做爲"根目錄",這樣預安裝程序和後安裝程序都會安裝到這個目錄下
--rcfile <rcfile> 設置rpmrc文件爲 <rcfile> 
--dbpath <path>   設置RPM 資料庫存所在的路徑爲 <path>

四、查詢

命令格式:

rpm -q ( or --query) options

參數:

pkg1 ... pkgN :查詢已安裝的軟件包

詳細選項

-p <file>(or ``-'') 查詢軟件包的文件
-f <file>           查詢<file>屬於哪個軟件包
-a                  查詢所有安裝的軟件包
--whatprovides <x>  查詢提供了 <x>功能的軟件包 
-g <group>          查詢屬於<group> 組的軟件包
--whatrequires <x> 查詢所有需要 <x> 功能的軟件包

信息選項

<null> 顯示軟件包的全部標識
-i 顯示軟件包的概要信息
-l 顯示軟件包中的文件列表
-c 顯示配置文件列表
-d 顯示文檔文件列表
-s 顯示軟件包中文件列表並顯示每個文件的狀態
--scripts 顯示安裝、卸載、校驗腳本
--queryformat (or --qf) 以用戶指定的方式顯示查詢信息
--dump 顯示每個文件的所有已校驗信息 
--provides 顯示軟件包提供的功能
--requires (or -R) 顯示軟件包所需的功能

通用選項

-v 顯示附加信息
-vv 顯示調試信息
--root <path> 讓RPM將<path>指定的路徑做爲"根目錄",這樣預安裝程序和後安裝程序都會安裝到這個目錄下
--rcfile <rcfile> 設置rpmrc文件爲 <rcfile> 
--dbpath <path> 設置RPM 資料庫存所在的路徑爲 <path>

五、校驗已安裝的軟件包

命令格式:

rpm -V ( or --verify, or -y) options

參數

pkg1 ... pkgN 將要校驗的軟件包名

軟件包選項

-p <file> Verify against package file <file> 
-f <file> 校驗<file>所屬的軟件包
-a Verify 校驗所有的軟件包
-g <group> 校驗所有屬於組 <group>  的軟件包

詳細選項

--noscripts 不運行校驗腳本 
--nodeps    不校驗依賴性
--nofiles   不校驗文件屬性

通用選項

-v   顯示附加信息
-vv  顯示調試信息
--root <path> 讓RPM將<path>指定的路徑做爲"根目錄",這樣預安裝程序和後安裝程序都會安裝到這個目錄下
--rcfile <rcfile> 設置rpmrc文件爲 <rcfile> 
--dbpath <path>   設置RPM 資料庫存所在的路徑爲 <path>

六、校驗軟件包中的文件

語法:

rpm -K ( or --checksig) options file1.rpm ... fileN.rpm

參數:

file1.rpm ... fileN.rpm 軟件包的文件名

Checksig--詳細選項

--nopgp 不校驗PGP簽名  

通用選項

-v  顯示附加信息
-vv 顯示調試信息
--rcfile <rcfile> 設置rpmrc文件爲 <rcfile> 


七、其它RPM選項

--rebuilddb 重建RPM資料庫
--initdb    創建一個新的RPM資料庫
--quiet     儘可能的減少輸出
--help      顯示幫助文件
--version   顯示RPM的當前版本
 
 
 
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章