LINUX学习第一周
Linux?系統(tǒng)命令及其使用詳
cat?cd?
chmod?chown?
cp?cut
名稱:cat?
使用權(quán)限:所有使用者?
使用方式:cat?[-AbeEnstTuv]?[--help]?[--version]?fileName?
說(shuō)明:把檔案串連接后傳到基本輸出(螢?zāi)换蚣?>?fileName?到另一個(gè)檔案)?
參數(shù):?
-n?或?--number?由?1?開(kāi)始對(duì)所有輸出的行數(shù)編號(hào)?
-b?或?--number-nonblank?和?-n?相似,只不過(guò)對(duì)于空白行不編號(hào)?
-s?或?--squeeze-blank?當(dāng)遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行?
-v?或?--show-nonprinting?
范例:?
cat?-n?textfile1?>?textfile2?把?textfile1?的檔案內(nèi)容加上行號(hào)后輸入?textfile2?這個(gè)檔案里?
cat?-b?textfile1?textfile2?>>?textfile3?把?textfile1?和?textfile2?的檔案內(nèi)容加上行號(hào)(空白行不加)之后將內(nèi)容附加到?textfile3?
名稱:cd?
使用權(quán)限:所有使用者?
使用方式:cd?[dirName]
說(shuō)明:變換工作目錄至?dirName。?其中?dirName?表示法可為絕對(duì)路徑或相對(duì)路徑。若目錄名稱省略,則變換至使用者的?home?directory?(也就是剛?login?時(shí)所在的目錄).另外,"~"?也表示為?home?directory?的意思,"."?則是表示目前所在的目錄,".."?則表示目前目錄位置的上一層目錄。?
范例:跳到?/usr/bin/:
cd?/usr/bin?
跳到自己的?home?directory:
cd?~?
跳到目前目錄的上上兩層:
cd?../..?
指令名稱:chmod?
使用權(quán)限:所有使用者?
使用方式:chmod?[-cfvR]?[--help]?[--version]?mode?file...?
說(shuō)明:Linux/Unix?的檔案存取權(quán)限分為三級(jí):檔案擁有者,群組,其他。利用?chmod?可以藉以控制檔案如何被他人所存取。
把計(jì):
mode:權(quán)限設(shè)定字串,格式如下:[ugoa...][[+-=][rwxX]...][,...],其中u?表示該檔案的擁有者,g?表示與該檔案的擁有者屬于同一個(gè)群體(group)者,o?表示其他以外的人,a?表示這三者皆是。?
+?表示增加權(quán)限,-?表示取消權(quán)限,=?表示唯一設(shè)定權(quán)限。?
r?表示可讀取,w?表示可寫入,x?表示可執(zhí)行,X?表示只有當(dāng)該檔案是個(gè)子目錄或者該檔案已經(jīng)被設(shè)定過(guò)為可執(zhí)行。?
-c:若該檔案權(quán)限確實(shí)已經(jīng)更改,才顯示其更改動(dòng)作?
-f:若該檔案權(quán)限無(wú)法被更改也不要顯示錯(cuò)誤訊息?
-v:顯示權(quán)限變更的詳細(xì)資料?
-R:對(duì)目前目錄下的所有檔案與子目錄進(jìn)行相同的權(quán)限變更(即以遞回的方式逐個(gè)變更)?
--help:顯示輔助說(shuō)明?
--version:顯示版本
范例?:將檔案?file1.txt?設(shè)為所有人皆可讀取:
chmod?ugo+r?file1.txt?
將檔案?file1.txt?設(shè)為所有人皆可讀取:
chmod?a+r?file1.txt?
將檔案?file1.txt?與?file2.txt?設(shè)為該檔案擁有者,與其所屬同一個(gè)群體者可寫入,但其他以外的人則不可寫入:
chmod?ug+w,o-w?file1.txt?file2.txt?
將?ex1.py?設(shè)定為只有該檔案擁有者可以執(zhí)行:
chmod?u+x?ex1.py?
將目前目錄下的所有檔案與子目錄皆設(shè)為任何人可讀取:
chmod?-R?a+r?*?
此外chmod也可以用數(shù)字來(lái)表示權(quán)限如?chmod?777?file?
語(yǔ)法為:chmod?abc?file?
其中a,b,c各為一個(gè)數(shù)字,分別表示User,Group,及Other的權(quán)限。
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?
效果相同?
若用chmod?4755?filename可使此程式具有root的權(quán)限?
指令名稱:chown?
使用權(quán)限:root?
使用方式:chmod?[-cfhvR]?[--help]?[--version]?user[:group]?file...?
說(shuō)明:Linux/Unix?是多人多工作業(yè)系統(tǒng),所有的檔案皆有擁有者。利用?chown?可以將檔案的擁有者加以改變。一般來(lái)說(shuō),這個(gè)指令只有是由系統(tǒng)管理者(root)所使用,一般使用者沒(méi)有權(quán)限可以改變別人的檔案擁有者,也沒(méi)有權(quán)限可以自己的檔案擁有者改設(shè)為別人。只有系統(tǒng)管理者(root)才有這樣的權(quán)限。?
把計(jì):
user:新的檔案擁有者的使用者?IDgroup:新的檔案擁有者的使用者群體(group)-c:若該檔案擁有者確實(shí)已經(jīng)更改,才顯示其更改動(dòng)作-f:若該檔案擁有者無(wú)法被更改也不要顯示錯(cuò)誤訊息-h:只對(duì)于連結(jié)(link)進(jìn)行變更,而非該?link?真正指向的檔案-v:顯示擁有者變更的詳細(xì)資料-R:對(duì)目前目錄下的所有檔案與子目錄進(jìn)行相同的擁有者變更(即以遞回的方式逐個(gè)變更)--help:顯示輔助說(shuō)明--version:顯示版本?
范例:
將檔案?file1.txt?的擁有者設(shè)為?users?群體的使用者?jessie:
chown?jessie:users?file1.txt?
將目前目錄下的所有檔案與子目錄的擁有者皆設(shè)為?users?群體的使用者?lamport:
chmod?-R?lamport:users?*?
名稱:cp?
使用權(quán)限:所有使用者?
使用方式:?
cp?[options]?source?dest?
cp?[options]?source...?directory?
說(shuō)明:將一個(gè)檔案拷貝至另一檔案,或?qū)?shù)個(gè)檔案拷貝至另一目錄。
把計(jì):?
-a?盡可能將檔案狀態(tài),權(quán)限等資料都照原狀予以復(fù)制。?
-r?若?source?中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地。?
-f?若目的地已經(jīng)有相同檔名的檔案存在,則在復(fù)制前先予以刪除再行復(fù)制。?
范例:?
將檔案?aaa?復(fù)制(已存在),并命名為?bbb:
cp?aaa?bbb?
將所有的C語(yǔ)言程式拷貝至?Finished?子目錄中:
cp?*.c?Finished?
名稱:cut?
使用權(quán)限:所有使用者?
用法:cut?-cnum1-num2?filename?
說(shuō)明:顯示每行從開(kāi)頭算起?num1?到?num2?的文字。?
范例:?
shell>>?cat?example?
test2?
this?is?test1?
shell>>?cut?-c0-6?example?##?print?開(kāi)頭算起前?6?個(gè)字元?
test2?
this?i?
用法:find?
使用說(shuō)明:
將檔案系統(tǒng)內(nèi)符合?expression?的檔案列出來(lái)。你可以指要檔案的名稱,類別,時(shí)間,大小,權(quán)限等不同資訊的組合,只有完全相符的才會(huì)被列出來(lái)。?
find?根據(jù)下列規(guī)則判斷?path?和?expression,在命令列上第一個(gè)?-?(?)?,?!?之前的部份為?path,之后的是?expression。如果?path?是空字串則使用目前路徑,如果?expression?是空字串則使用?-print?為預(yù)設(shè)?expression?
expression?中可使用的選項(xiàng)有二三十個(gè)之多,在此只介紹最常用的部份。?
-mount,?-xdev:只檢查和指定目錄在同一個(gè)檔案系統(tǒng)下的檔案,避免列出其它檔案系統(tǒng)中的檔案?
-amin?n:在過(guò)去?n?分鐘內(nèi)被讀取過(guò)?
-anewer?file:比檔案?file?更晚被讀取過(guò)的檔案?
-atime?n:在過(guò)去?n?天過(guò)讀取過(guò)的檔案?
-cmin?n:在過(guò)去?n?分鐘內(nèi)被修改過(guò)?
-cnewer?file?:比檔案?file?更新的檔案?
-ctime?n:在過(guò)去?n?天過(guò)修改過(guò)的檔案?
-empty:空的檔案-gid?n?or?-group?name:gid?是?n?或是?group?名稱是?name?
-ipath?p,?-path?p:路徑名稱符合?p?的檔案,ipath?會(huì)忽略大小寫?
-name?name,?-iname?name:檔案名稱符合?name?的檔案。iname?會(huì)忽略大小寫?
-size?n:檔案大小?是?n?單位,b?代表?512?位元組的區(qū)塊,c?表示字元數(shù),k?表示?kilo?bytes,w?是二個(gè)位元組。-type?c:檔案類型是?c?的檔案。?
d:?目錄?
c:?字型裝置檔案?
b:?區(qū)塊裝置檔案?
p:?具名貯列?
f:?一般檔案?
l:?符號(hào)連結(jié)?
s:?socket?
-pid?n:process?id?是?n?的檔案?
你可以使用?(?)?將運(yùn)算式分隔,并使用下列運(yùn)算。?
exp1?-and?exp2?
!?expr?
-not?expr?
exp1?-or?exp2?
exp1,?exp2?
范例:?
將目前目錄及其子目錄下所有延伸檔名是?c?的檔案列出來(lái)。?
#?find?.?-name?"*.c"?
將目前目錄其其下子目錄中所有一般檔案列出?
#?find?.?-ftype?f?
將目前目錄及其子目錄下所有最近?20?分鐘內(nèi)更新過(guò)的檔案列出?
#?find?.?-ctime?-20?
名稱:less?
使用權(quán)限:所有使用者?
使用方式:?
less?[Option]?filename?
說(shuō)明:?
less?的作用與?more?十分相似,都可以用來(lái)瀏覽文字檔案的內(nèi)容,不同的是?less?允許使用者往回卷動(dòng)?
以瀏覽已經(jīng)看過(guò)的部份,同時(shí)因?yàn)?less?并未在一開(kāi)始就讀入整個(gè)檔案,因此在遇上大型檔案的開(kāi)啟時(shí),會(huì)比一般的文書(shū)編輯器(如?vi)來(lái)的快速。
范例:?
指令名稱:ln?
使用權(quán)限:所有使用者?
使用方式:ln?[options]?source?dist,其中?option?的格式為:
[-bdfinsvF]?[-S?backup-suffix]?[-V?{numbered,existing,simple}]?
[--help]?[--version]?[--]?
說(shuō)明:Linux/Unix?檔案系統(tǒng)中,有所謂的連結(jié)(link),我們可以將其視為檔案的別名,而連結(jié)又可分為兩種:硬連結(jié)(hard?link)與軟連結(jié)(symbolic?link),硬連結(jié)的意思是一個(gè)檔案可以有多個(gè)名稱,而軟連結(jié)的方式則是產(chǎn)生一個(gè)特殊的檔案,該檔案的內(nèi)容是指向另一個(gè)檔案的位置。硬連結(jié)是存在同一個(gè)檔案系統(tǒng)中,而軟連結(jié)卻可以跨越不同的檔案系統(tǒng)。?
ln?source?dist?是產(chǎn)生一個(gè)連結(jié)(dist)到?source,至于使用硬連結(jié)或軟鏈結(jié)則由參數(shù)決定。?
不論是硬連結(jié)或軟鏈結(jié)都不會(huì)將原本的檔案復(fù)制一份,只會(huì)占用非常少量的磁碟空間。
-f:鏈結(jié)時(shí)先將與?dist?同檔名的檔案刪除-d:允許系統(tǒng)管理者硬鏈結(jié)自己的目錄-i:在刪除與?dist?同檔名的檔案時(shí)先進(jìn)行詢問(wèn)-n:在進(jìn)行軟連結(jié)時(shí),將?dist?視為一般的檔案-s:進(jìn)行軟鏈結(jié)(symbolic?link)-v:在連結(jié)之前顯示其檔名-b:將在鏈結(jié)時(shí)會(huì)被覆寫或刪除的檔案進(jìn)行備份-S?SUFFIX:將備份的檔案都加上?SUFFIX?的字尾-V?METHOD:指定備份的方式--help:顯示輔助說(shuō)明--version:顯示版本?
范例:
將檔案?yy?產(chǎn)生一個(gè)?symbolic?link:zz?
ln?-s?yy?zz?
將檔案?yy?產(chǎn)生一個(gè)?hard?link:zz?
ln?yy?xx?
名稱:locate?
使用權(quán)限:所有使用者?
使用方式:?locate?[-q]?[-d?]?[--database=]?
locate?[-r?]?[--regexp=]?
locate?[-qv]?[-o?]?[--output=]?
locate?[-e?]?[-f?]?<[-l?]?[-c]?
<[-U?]?[-u]>?
locate?[-Vh]?[--version]?[--help]?
說(shuō)明:?
locate?讓使用者可以很快速的搜尋檔案系統(tǒng)內(nèi)是否有指定的檔案。其方法是先建立一個(gè)包括系統(tǒng)內(nèi)所有檔案名稱及路徑的資料庫(kù),之后當(dāng)尋找時(shí)就只需查詢這個(gè)資料庫(kù),而不必實(shí)際深入檔案系統(tǒng)之中了。在一般的?distribution?之中,資料庫(kù)的建立都被放在?contab?中自動(dòng)執(zhí)行。
一般使用者在使用時(shí)只要用?
#?locate?your_file_name?
的型式就可以了。?參數(shù):?
-u?
-U?
建立資料庫(kù),-u?會(huì)由根目錄開(kāi)始,-U?則可以指定開(kāi)始的位置。
-e?
將排除在尋找的范圍之外。
-l?
如果?是?1.則啟動(dòng)安全模式。在安全模式下,使用者不會(huì)看到權(quán)限無(wú)法看到的檔案。這會(huì)始速度減慢,因?yàn)?locate?必須至實(shí)際的檔案系統(tǒng)中取得檔案的權(quán)限資料。?
-f?
將特定的檔案系統(tǒng)排除在外,例如我們沒(méi)有到理要把?proc?檔案系統(tǒng)中的檔案放在資料庫(kù)中。?
-q?
安靜模式,不會(huì)顯示任何錯(cuò)誤訊息。
-n?
至多顯示?個(gè)輸出。?
-r?
使用正規(guī)運(yùn)算式?做尋找的條件。?
-o?
指定資料庫(kù)存的名稱。?
-d?
指定資料庫(kù)的路徑?
-h?
顯示輔助訊息?
-v?
顯示更多的訊息?
-V?
顯示程式的版本訊息?范例:?
locate?chdrv:尋找所有叫?chdrv?的檔案?
locate?-n?100?a.out:尋找所有叫?a.out?的檔案,但最多只顯示?100?個(gè)?
locate?-u:建立資料庫(kù)?
名稱:ls?
使用權(quán)限:所有使用者?
使用方式:ls?[-alrtAFR]?[name...]?
說(shuō)明:顯示指定工作目錄下之內(nèi)容(列出目前工作目錄所含之檔案及子目錄)。
-a?顯示所有檔案及目錄?(ls內(nèi)定將檔案名或目錄名稱開(kāi)頭為"."的視為隱藏檔,不會(huì)列出)?
-l?除檔案名稱外,亦將檔案型態(tài),權(quán)限,擁有者,檔案大小等資訊詳細(xì)列出?
-r?將檔案以相反次序顯示(原定依英文字母次序)?
-t?將檔案依建立時(shí)間之先后次序列出?
-A?同?-a?,但不列出?"."?(目前目錄)?及?".."?(父目錄)?
-F?在列出的檔案名稱后加一符號(hào);例如可執(zhí)行檔則加?"*",?目錄則加?"/"?
-R?若目錄下有檔案,則以下之檔案亦皆依序列出?
范例:?
列出目前工作目錄下所有名稱是?s?開(kāi)頭的檔案,愈新的排愈后面:
ls?-ltr?s*?
將?/bin?目錄以下所有目錄及檔案詳細(xì)資料列出:
ls?-lR?/bin?
列出目前工作目錄下所有檔案及目錄;目錄于名稱后加?"/",?可執(zhí)行檔于名稱后加?"*":
ls?-AF?
名稱:more?
使用權(quán)限:所有使用者?
使用方式:more?[-dlfpcsu]?[-num]?[+/pattern]?[+linenum]?[fileNames..]?
說(shuō)明:類似?cat?,不過(guò)會(huì)以一頁(yè)一頁(yè)的顯示方便使用者逐頁(yè)閱讀,而最基本的指令就是按空白鍵(space)就往下一頁(yè)顯示,按?b?鍵就會(huì)往回(back)一頁(yè)顯示,而且還有搜尋字串的功能(與?vi?相似),使用中的說(shuō)明文件,請(qǐng)按?h?。?
參數(shù):-num?一次顯示的行數(shù)?
-d?提示使用者,在畫面下方顯示?[Press?space?to?continue,?q?to?quit.]?,如果使用者按錯(cuò)鍵,則會(huì)顯示?[Press?h?for?instructions.]?而不是?嗶?聲?
-l?取消遇見(jiàn)特殊字元?^L(送紙字元)時(shí)會(huì)暫停的功能?
-f?計(jì)算行數(shù)時(shí),以實(shí)際上的行數(shù),而非自動(dòng)換行過(guò)后的行數(shù)(有些單行字?jǐn)?shù)太長(zhǎng)的會(huì)被擴(kuò)展為兩行或兩行以上)?
-p?不以卷動(dòng)的方式顯示每一頁(yè),而是先清除螢?zāi)缓笤亠@示內(nèi)容?
-c?跟?-p?相似,不同的是先顯示內(nèi)容再清除其他舊資料?
-s?當(dāng)遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行?
-u?不顯示下引號(hào)?(根據(jù)環(huán)境變數(shù)?TERM?指定的?terminal?而有所不同)?
+/?在每個(gè)檔案顯示前搜尋該字串(pattern),然后從該字串之后開(kāi)始顯示?
+num?從第?num?行開(kāi)始顯示?
fileNames?欲顯示內(nèi)容的檔案,可為復(fù)數(shù)個(gè)數(shù)?
范例:?
more?-s?testfile?逐頁(yè)顯示?testfile?之檔案內(nèi)容,如有連續(xù)兩行以上空白行則以一行空白行顯示。?
more?+20?testfile?從第?20?行開(kāi)始顯示?testfile?之檔案內(nèi)容。
名稱:mv?
使用權(quán)限:所有使用者?
使用方式:?
mv?[options]?source?dest?
mv?[options]?source...?directory?
說(shuō)明:將一個(gè)檔案移至另一檔案,或?qū)?shù)個(gè)檔案移至另一目錄。?
參數(shù):-i?若目的地已有同名檔案,則先詢問(wèn)是否覆蓋舊檔。?
范例:?
將檔案?aaa?更名為?bbb:
mv?aaa?bbb?
將所有的C語(yǔ)言程式移至?Finished?子目錄中:
mv?-i?*.c?
名稱:rm?
使用權(quán)限:所有使用者?
使用方式:rm?[options]?name...?
說(shuō)明:刪除檔案及目錄。?
把計(jì):?
-i?刪除前逐一詢問(wèn)確認(rèn)。?
-f?即使原檔案屬性設(shè)為唯讀,亦直接刪除,無(wú)需逐一確認(rèn)。?
-r?將目錄及以下之檔案亦逐一刪除。?
范例:?
刪除所有C語(yǔ)言程式檔;刪除前逐一詢問(wèn)確認(rèn):
rm?-i?*.c?
將?Finished?子目錄及子目錄中所有檔案刪除:
rm?-r?Finished?
名稱:rmdir?
使用權(quán)限:于目前目錄有適當(dāng)權(quán)限的所有使用者?
使用方式:?rmdir?[-p]?dirName?
說(shuō)明:?刪除空的目錄。?
參數(shù):?-p?是當(dāng)子目錄被刪除后使它也成為空目錄的話,則順便一并刪除。?
范例:?
將工作目錄下,名為?AAA?的子目錄刪除:
rmdir?AAA?
在工作目錄下的?BBB?目錄中,刪除名為?Test?的子目錄。若?Test?刪除后,BBB?目錄成為空目錄,則?BBB?亦予刪除。?
rmdir?-p?BBB/Test?
名稱:split?
使用權(quán)限:所有使用者?
使用方式:split?[OPTION]?[INPUT?[PREFIX]]說(shuō)明:?
將一個(gè)檔案分割成數(shù)個(gè)。而從?INPUT?分割輸出成固定大小的檔案,其檔名依序?yàn)?PREFIXaa,?PREFIXab...;PREFIX?預(yù)設(shè)值為?`x。若沒(méi)有?INPUT?檔或?yàn)?`-,則從標(biāo)準(zhǔn)輸入讀進(jìn)資料。?
匡兜:?
-b,?--bytes=SIZE?
SIZE?值為每一輸出檔案的大小,單位為?byte。?
-C,?--line-bytes=SIZE?
每一輸出檔中,單行的最大?byte?數(shù)。?
-l,?--lines=NUMBER?
NUMBER?值為每一輸出檔的列數(shù)大小。?
-NUMBER?
與?-l?NUMBER?相同。?
--verbose?
于每個(gè)輸出檔被開(kāi)啟前,列印出偵錯(cuò)資訊到標(biāo)準(zhǔn)錯(cuò)誤輸出。?
--help?
顯示輔助資訊然后離開(kāi)。?
--version?
列出版本資訊然后離開(kāi)。?
SIZE?可加入單位:?b?代表?512,?k?代表?1K,?m?代表?1?Meg。?
范例:
PostgresSQL?大型資料庫(kù)備份與回存:
因?Postgres?允許表格大過(guò)你系統(tǒng)檔案的最大容量,所以要將表格?dump?到單一的檔案可能會(huì)有問(wèn)題,使用?split進(jìn)行檔案分割。
%?pg_dump?dbname?|?split?-b?1m?-?filename.dump.?
重新載入
%?createdb?dbname?
%?cat?filename.dump.*?|?pgsql?dbname?
名稱:touch?
使用權(quán)限:所有使用者?
使用方式:?
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?...]?
說(shuō)明:?
touch?指令改變檔案的時(shí)間記錄。?ls?-l?可以顯示檔案的時(shí)間記錄。
參數(shù):?
a?改變檔案的讀取時(shí)間記錄。?
m?改變檔案的修改時(shí)間記錄。?
c?假如目的檔案不存在,不會(huì)建立新的檔案。與?--no-create?的效果一樣。?
f?不使用,是為了與其他?unix?系統(tǒng)的相容性而保留。?
r?使用參考檔的時(shí)間記錄,與?--file?的效果一樣。?
d?設(shè)定時(shí)間與日期,可以使用各種不同的格式。?
t?設(shè)定檔案的時(shí)間記錄,格式與?date?指令相同。?
--no-create?不會(huì)建立新檔案。?
--help?列出指令格式。?
--version?列出版本訊息。?
范例:
最簡(jiǎn)單的使用方式,將檔案的時(shí)候記錄改為現(xiàn)在的時(shí)間。若檔案不存在,系統(tǒng)會(huì)建立一個(gè)新的檔案。?
touch?file?
touch?file1?file2?
將?file?的時(shí)間記錄改為?5?月?6?日?18?點(diǎn)?3?分,公元兩千年。時(shí)間的格式可以參考?date?指令,至少需輸入?MMDDHHmm?,就是月日時(shí)與分。
touch?-c?-t?05061803?file?
touch?-c?-t?050618032000?file?
將?file?的時(shí)間記錄改變成與?referencefile?一樣。
touch?-r?referencefile?file?
將?file?的時(shí)間記錄改成?5?月?6?日?18?點(diǎn)?3?分,公元兩千年。時(shí)間可以使用?am,?pm?或是?24?小時(shí)的格式,日期可以使用其他格式如?6?May?2000?。?
touch?-d?"6:03pm"?file?
touch?-d?"05/06/2000"?file?
touch?-d?"6:03pm?05/06/2000"?file?
名稱:at?
使用權(quán)限:所有使用者?
使用方式:at?-V?[-q?queue]?[-f?file]?[-mldbv]?TIME?
說(shuō)明:at?可以讓使用者指定在?TIME?這個(gè)特定時(shí)刻執(zhí)行某個(gè)程式或指令,TIME?的格式是?HH:MM其中的?HH?為小時(shí),MM?為分鐘,甚至你也可以指定?am,?pm,?midnight,?noon,?teatime(就是下午?4?點(diǎn)鍾)等口語(yǔ)詞。?
如果想要指定超過(guò)一天內(nèi)的時(shí)間,則可以用?MMDDYY?或者?MM/DD/YY?的格式,其中?MM?是分鐘,DD?是第幾日,YY?是指年份。另外,使用者甚至也可以使用像是?now?+?時(shí)間間隔來(lái)彈性指定時(shí)間,其中的時(shí)間間隔可以是?minutes,?hours,?days,?weeks?
另外,使用者也可指定?today?或?tomorrow?來(lái)表示今天或明天。當(dāng)指定了時(shí)間并按下?enter?之后,at?會(huì)進(jìn)入交談模式并要求輸入指令或程式,當(dāng)你輸入完后按下?ctrl+D?即可完成所有動(dòng)作,至于執(zhí)行的結(jié)果將會(huì)寄回你的帳號(hào)中。
把計(jì):
-V:印出版本編號(hào)?
-q:使用指定的佇列(Queue)來(lái)儲(chǔ)存,at?的資料是存放在所謂的?queue?中,使用者可以同時(shí)使用多個(gè)?queue,而?queue?的編號(hào)為?a,?b,?c...?z?以及?A,?B,?...?Z?共?52?個(gè)?
-m:即使程式/指令執(zhí)行完成后沒(méi)有輸出結(jié)果,?也要寄封信給使用者?
-f?file:讀入預(yù)先寫好的命令檔。使用者不一定要使用交談模式來(lái)輸入,可以先將所有的指定先寫入檔案后再一次讀入?
-l:列出所有的指定?(使用者也可以直接使用?atq?而不用?at?-l)?
-d:刪除指定?(使用者也可以直接使用?atrm?而不用?at?-d)?
-v:列出所有已經(jīng)完成但尚未刪除的指定?
例子:
三天后的下午?5?點(diǎn)鍾執(zhí)行?/bin/ls:
at?5pm?+?3?days?/bin/ls?
三個(gè)星期后的下午?5?點(diǎn)鍾執(zhí)行?/bin/ls:
at?5pm?+?2?weeks?/bin/ls?
明天的?17:20?執(zhí)行?/bin/date:
at?17:20?tomorrow?/bin/date?
1999?年的最后一天的最后一分鐘印出?the?end?of?world?!?
at?23:59?12/31/1999?echo?the?end?of?world?!?
名稱:cal?
使用權(quán)限:所有使用者?
使用方式:cal?[-mjy]?[month?[year]]?
說(shuō)明:?
顯示日歷。若只有一個(gè)參數(shù),則代表年份(1-9999),顯示該年的年歷。年份必須全部寫出:``cal?89\?將不會(huì)是顯示?1989?年的年歷。使用兩個(gè)參數(shù),則表示月份及年份。若沒(méi)有參數(shù)則顯示這個(gè)月的月歷。?
1752?年?9?月第?3?日起改用西洋新歷,因這時(shí)大部份的國(guó)家都采用新歷,有?10?天被去除,所以該月份的月歷有些不同。在此之前為西洋舊歷。?
匡兜:?
-m:以星期一為每周的第一天方式顯示。?
-j:以凱撒歷顯示,即以一月一日起的天數(shù)顯示。?
-y:顯示今年年歷。?
范例:?
cal:顯示本月的月歷。
[root@mylinux?/root]#?date?
Tue?Aug?15?08:00:18?CST?2000?
[root@mylinux?/root]#?cal?
August?2000?
Su?Mo?Tu?We?Th?Fr?Sa?
1?2?3?4?5?
6?7?8?9?10?11?12?
13?14?15?16?17?18?19?
20?21?22?23?24?25?26?
27?28?29?30?31?
[root@mylinux?/root]#?
cal?2001:顯示公元?2001?年年歷。
[root@mylinux?/root]#?cal?2001?
2001?
January?February?March?
Su?Mo?Tu?We?Th?Fr?Sa?Su?Mo?Tu?We?Th?Fr?Sa?Su?Mo?Tu?We?Th?Fr?Sa?
1?2?3?4?5?6?1?2?3?1?2?3?
7?8?9?10?11?12?13?4?5?6?7?8?9?10?4?5?6?7?8?9?10?
14?15?16?17?18?19?20?11?12?13?14?15?16?17?11?12?13?14?15?16?17?
21?22?23?24?25?26?27?18?19?20?21?22?23?24?18?19?20?21?22?23?24?
28?29?30?31?25?26?27?28?25?26?27?28?29?30?31?
April?May?June?
Su?Mo?Tu?We?Th?Fr?Sa?Su?Mo?Tu?We?Th?Fr?Sa?Su?Mo?Tu?We?Th?Fr?Sa?
1?2?3?4?5?6?7?1?2?3?4?5?1?2?
8?9?10?11?12?13?14?6?7?8?9?10?11?12?3?4?5?6?7?8?9?
15?16?17?18?19?20?21?13?14?15?16?17?18?19?10?11?12?13?14?15?16?
22?23?24?25?26?27?28?20?21?22?23?24?25?26?17?18?19?20?21?22?23?
29?30?27?28?29?30?31?24?25?26?27?28?29?30?
July?August?September?
Su?Mo?Tu?We?Th?Fr?Sa?Su?Mo?Tu?We?Th?Fr?Sa?Su?Mo?Tu?We?Th?Fr?Sa?
1?2?3?4?5?6?7?1?2?3?4?1?
8?9?10?11?12?13?14?5?6?7?8?9?10?11?2?3?4?5?6?7?8?
15?16?17?18?19?20?21?12?13?14?15?16?17?18?9?10?11?12?13?14?15?
22?23?24?25?26?27?28?19?20?21?22?23?24?25?16?17?18?19?20?21?22?
29?30?31?26?27?28?29?30?31?23?24?25?26?27?28?29?
30?
October?November?December?
Su?Mo?Tu?We?Th?Fr?Sa?Su?Mo?Tu?We?Th?Fr?Sa?Su?Mo?Tu?We?Th?Fr?Sa?
1?2?3?4?5?6?1?2?3?1?
7?8?9?10?11?12?13?4?5?6?7?8?9?10?2?3?4?5?6?7?8?
14?15?16?17?18?19?20?11?12?13?14?15?16?17?9?10?11?12?13?14?15?
21?22?23?24?25?26?27?18?19?20?21?22?23?24?16?17?18?19?20?21?22?
28?29?30?31?25?26?27?28?29?30?23?24?25?26?27?28?29?
30?31?
[root@mylinux?/root]#?
cal?5?2001:顯示公元?2001?年?5?月月歷。
[root@mylinux?/root]#?cal?5?2001?
May?2001?
Su?Mo?Tu?We?Th?Fr?Sa?
1?2?3?4?5?
6?7?8?9?10?11?12?
13?14?15?16?17?18?19?
20?21?22?23?24?25?26?
27?28?29?30?31?
[root@mylinux?/root]#?
cal?-m:以星期一為每周的第一天方式,顯示本月的月歷。?
[root@mylinux?/root]#?cal?-m?
August?2000?
Mo?Tu?We?Th?Fr?Sa?Su?
1?2?3?4?5?6?
7?8?9?10?11?12?13?
14?15?16?17?18?19?20?
21?22?23?24?25?26?27?
28?29?30?31?
[root@mylinux?/root]#?
cal?-jy:以一月一日起的天數(shù)顯示今年的年歷。?
[root@mylinux?/root]#?cal?-jy?
2000?
January?February?
Sun?Mon?Tue?Wed?Thu?Fri?Sat?Sun?Mon?Tue?Wed?Thu?Fri?Sat?
1?32?33?34?35?36?
2?3?4?5?6?7?8?37?38?39?40?41?42?43?
9?10?11?12?13?14?15?44?45?46?47?48?49?50?
16?17?18?19?20?21?22?51?52?53?54?55?56?57?
23?24?25?26?27?28?29?58?59?60?
30?31?
March?April?
Sun?Mon?Tue?Wed?Thu?Fri?Sat?Sun?Mon?Tue?Wed?Thu?Fri?Sat?
61?62?63?64?92?
65?66?67?68?69?70?71?93?94?95?96?97?98?99?
72?73?74?75?76?77?78?100?101?102?103?104?105?106?
79?80?81?82?83?84?85?107?108?109?110?111?112?113?
86?87?88?89?90?91?114?115?116?117?118?119?120?
121?
May?June?
Sun?Mon?Tue?Wed?Thu?Fri?Sat?Sun?Mon?Tue?Wed?Thu?Fri?Sat?
122?123?124?125?126?127?153?154?155?
128?129?130?131?132?133?134?156?157?158?159?160?161?162?
135?136?137?138?139?140?141?163?164?165?166?167?168?169?
142?143?144?145?146?147?148?170?171?172?173?174?175?176?
149?150?151?152?177?178?179?180?181?182?
July?August?
Sun?Mon?Tue?Wed?Thu?Fri?Sat?Sun?Mon?Tue?Wed?Thu?Fri?Sat?
183?214?215?216?217?218?
184?185?186?187?188?189?190?219?220?221?222?223?224?225?
191?192?193?194?195?196?197?226?227?228?229?230?231?232?
198?199?200?201?202?203?204?233?234?235?236?237?238?239?
205?206?207?208?209?210?211?240?241?242?243?244?
212?213?
September?October?
Sun?Mon?Tue?Wed?Thu?Fri?Sat?Sun?Mon?Tue?Wed?Thu?Fri?Sat?
245?246?275?276?277?278?279?280?281?
247?248?249?250?251?252?253?282?283?284?285?286?287?288?
254?255?256?257?258?259?260?289?290?291?292?293?294?295?
261?262?263?264?265?266?267?296?297?298?299?300?301?302?
268?269?270?271?272?273?274?303?304?305?
November?December?
Sun?Mon?Tue?Wed?Thu?Fri?Sat?Sun?Mon?Tue?Wed?Thu?Fri?Sat?
306?307?308?309?336?337?
310?311?312?313?314?315?316?338?339?340?341?342?343?344?
317?318?319?320?321?322?323?345?346?347?348?349?350?351?
324?325?326?327?328?329?330?352?353?354?355?356?357?358?
331?332?333?334?335?359?360?361?362?363?364?365?
366?
[root@mylinux?/root]#?
名稱:crontab?
使用權(quán)限:所有使用者?
使用方式:
crontab?[?-u?user?]?filecrontab?[?-u?user?]?{?-l?|?-r?|?-e?}?
說(shuō)明:
crontab?是用來(lái)讓使用者在固定時(shí)間或固定間隔執(zhí)行程式之用,換句話說(shuō),也就是類似使用者的時(shí)程表。-u?user?是指設(shè)定指定?user?的時(shí)程表,這個(gè)前提是你必須要有其權(quán)限(比如說(shuō)是?root)才能夠指定他人的時(shí)程表。如果不使用?-u?user?的話,就是表示設(shè)定自己的時(shí)程表。?
參數(shù):
-e:執(zhí)行文字編輯器來(lái)設(shè)定時(shí)程表,內(nèi)定的文字編輯器是?VI,如果你想用別的文字編輯器,則請(qǐng)先設(shè)定?VISUAL?環(huán)境變數(shù)來(lái)指定使用那個(gè)文字編輯器(比如說(shuō)?setenv?VISUAL?joe)?
-r:刪除目前的時(shí)程表?
-l:列出目前的時(shí)程表?
時(shí)程表的格式如下:
f1?f2?f3?f4?f5?program?
其中?f1?是表示分鐘,f2?表示小時(shí),f3?表示一個(gè)月份中的第幾日,f4?表示月份,f5?表示一個(gè)星期中的第幾天。program?表示要執(zhí)行的程式。?
當(dāng)?f1?為?*?時(shí)表示每分鐘都要執(zhí)行?program,f2?為?*?時(shí)表示每小時(shí)都要執(zhí)行程式,其余類推?
當(dāng)?f1?為?a-b?時(shí)表示從第?a?分鐘到第?b?分鐘這段時(shí)間內(nèi)要執(zhí)行,f2?為?a-b?時(shí)表示從第?a?到第?b?小時(shí)都要執(zhí)行,其余類推?
當(dāng)?f1?為?*/n?時(shí)表示每?n?分鐘個(gè)時(shí)間間隔執(zhí)行一次,f2?為?*/n?表示每?n?小時(shí)個(gè)時(shí)間間隔執(zhí)行一次,其余類推?
當(dāng)?f1?為?a,?b,?c,...?時(shí)表示第?a,?b,?c,...?分鐘要執(zhí)行,f2?為?a,?b,?c,...?時(shí)表示第?a,?b,?c...個(gè)小時(shí)要執(zhí)行,其余類推?
使用者也可以將所有的設(shè)定先存放在檔案?file?中,用?crontab?file?的方式來(lái)設(shè)定時(shí)程表。?
例子:
每月每天每小時(shí)的第?0?分鐘執(zhí)行一次?/bin/ls:
0?7?*?*?*?/bin/ls?
在?12?月內(nèi),?每天的早上?6?點(diǎn)到?12?點(diǎn)中,每隔?20?分鐘執(zhí)行一次?/usr/bin/backup:
0?6-12/3?*?12?*?/usr/bin/backup?
周一到周五每天下午?5:00?寄一封信給?alex@domain.name:
0?17?*?*?1-5?mail?-s?"hi"?alex@domain.name?<?/tmp/maildata?
每月每天的午夜?0?點(diǎn)?20?分,?2?點(diǎn)?20?分,?4?點(diǎn)?20?分....執(zhí)行?echo?"haha"?
20?0-23/2?*?*?*?echo?"haha"?
注意:
當(dāng)程式在你所指定的時(shí)間執(zhí)行后,系統(tǒng)會(huì)寄一封信給你,顯示該程式執(zhí)行的內(nèi)容,若是你不希望收到這樣的信,請(qǐng)?jiān)诿恳恍锌找桓裰蠹由?>?/dev/null?2>&1?即可。?
名稱:date?
使用權(quán)限:所有使用者?
使用方式:
date?[-u]?[-d?datestr]?[-s?datestr]?[--utc]?[--universal]?[--date=datestr]?[--set=datestr]?[--help]?[--version]?[+FORMAT]?[MMDDhhmm[[CC]YY][.ss]]?
說(shuō)明:
date?可以用來(lái)顯示或設(shè)定系統(tǒng)的日期與時(shí)間,在顯示方面,使用者可以設(shè)定欲顯示的格式,格式設(shè)定為一個(gè)加號(hào)后接數(shù)個(gè)標(biāo)記,其中可用的標(biāo)記列表如下:
時(shí)間方面:
%:印出?%?
%n:下一行?
%t:跳格?
%H:小時(shí)(00..23)?
%I:小時(shí)(01..12)?
%k:小時(shí)(0..23)?
%l:小時(shí)(1..12)?
%M:分鐘(00..59)?
%p:顯示本地?AM?或?PM?
%r:直接顯示時(shí)間?(12?小時(shí)制,格式為?hh:mm:ss?[AP]M)?
%s:從?1970?年?1?月?1?日?00:00:00?UTC?到目前為止的秒數(shù)?
%S:秒(00..61)?
%T:直接顯示時(shí)間?(24?小時(shí)制)?
%X:相當(dāng)于?%H:%M:%S?
%Z:顯示時(shí)區(qū)?
日期方面:
%a:星期幾?(Sun..Sat)?
%A:星期幾?(Sunday..Saturday)?
%b:月份?(Jan..Dec)?
%B:月份?(January..December)?
%c:直接顯示日期與時(shí)間?
%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:年份的最后兩位數(shù)字?(00.99)?
%Y:完整年份?(0000..9999)?
若是不以加號(hào)作為開(kāi)頭,則表示要設(shè)定時(shí)間,而時(shí)間格式為?MMDDhhmm[[CC]YY][.ss],其中?MM?為月份,DD?為日,hh?為小時(shí),mm?為分鐘,CC?為年份前兩位數(shù)字,YY?為年份后兩位數(shù)字,ss?為秒數(shù)?
把計(jì):
-d?datestr:顯示?datestr?中所設(shè)定的時(shí)間?(非系統(tǒng)時(shí)間)?
--help:顯示輔助訊息?
-s?datestr:將系統(tǒng)時(shí)間設(shè)為?datestr?中所設(shè)定的時(shí)間?
-u:顯示目前的格林威治時(shí)間?
--version:顯示版本編號(hào)?
例子:
顯示時(shí)間后跳行,再顯示目前日期:
date?+%T%n%D?
顯示月份與日數(shù):
date?+%B?%d?
顯示日期與設(shè)定時(shí)間(12:34:56):
date?--date?12:34:56?
注意:
當(dāng)你不希望出現(xiàn)無(wú)意義的?0?時(shí)(比如說(shuō)?1999/03/07),則可以在標(biāo)記中插入?-?符號(hào),比如說(shuō)?date?+%-H:%-M:%-S?會(huì)把時(shí)分秒中無(wú)意義的?0?給去掉,像是原本的?08:09:04?會(huì)變?yōu)?8:9:4。另外,只有取得權(quán)限者(比如說(shuō)?root)才能設(shè)定系統(tǒng)時(shí)間。?
當(dāng)你以?root?身分更改了系統(tǒng)時(shí)間之后,請(qǐng)記得以?clock?-w?來(lái)將系統(tǒng)時(shí)間寫入?CMOS?中,這樣下次重新開(kāi)機(jī)時(shí)系統(tǒng)時(shí)間才會(huì)持續(xù)抱持最新的正確值。
名稱:sleep?
使用權(quán)限:所有使用者?
使用方式:sleep?[--help]?[--version]?number[smhd]?
說(shuō)明:sleep?可以用來(lái)將目前動(dòng)作延遲一段時(shí)間?
參數(shù)說(shuō)明:
--help:顯示輔助訊息?
--version:顯示版本編號(hào)?
number:時(shí)間長(zhǎng)度,后面可接?s,m,h?或?d?
其中?s?為秒,m?為?分鐘,h?為小時(shí),d?為日數(shù)?
例子:
顯示目前時(shí)間后延遲?1?分鐘,之后再次顯示時(shí)間:
date;sleep?1m;date?
名稱:?time?
使用權(quán)限:?所有使用者?
使用方式:?time?[options]?COMMAND?[arguments]?
說(shuō)明:?
time?指令的用途,在于量測(cè)特定指令執(zhí)行時(shí)所需消耗的時(shí)間及系統(tǒng)資源等資訊。例如?CPU?時(shí)間,記憶體,輸入輸出等等。需要特別注意的是,部分資訊在?Linux?上顯示不出來(lái)。這是因?yàn)樵?Linux?上部分資源的分配函式與?time?指令所預(yù)設(shè)的方式并不相同,以致于?time?指令無(wú)法取得這些資料。?
把計(jì):
-o?or?--output=FILE?
設(shè)定結(jié)果輸出檔。這個(gè)選項(xiàng)會(huì)將?time?的輸出寫入?所指定的檔案中。如果檔案已經(jīng)存在,系統(tǒng)將覆寫其內(nèi)容。?
-a?or?--append?
配合?-o?使用,會(huì)將結(jié)果寫到檔案的末端,而不會(huì)覆蓋掉原來(lái)的內(nèi)容。?
-f?FORMAT?or?--format=FORMAT?
以?FORMAT?字串設(shè)定顯示方式。當(dāng)這個(gè)選項(xiàng)沒(méi)有被設(shè)定的時(shí)候,會(huì)用系統(tǒng)預(yù)設(shè)的格式。不過(guò)你可以用環(huán)境變數(shù)?time?來(lái)設(shè)定這個(gè)格式,如此一來(lái)就不必每次登入系統(tǒng)都要設(shè)定一次。?
一般設(shè)定上,你可以用?
\t?
表示跳欄,或者是用?
\n?
表示換行。每一項(xiàng)資料要用?%?做為前導(dǎo)。如果要在字串中使用百分比符號(hào),就用.(學(xué)過(guò)C語(yǔ)言的人大概會(huì)覺(jué)得很熟悉)?
time?指令可以顯示的資源有四大項(xiàng),分別是:?
Time?resources?
Memory?resources?
IO?resources?
Command?info?
詳細(xì)的內(nèi)容如下:?
Time?Resources?
E?執(zhí)行指令所花費(fèi)的時(shí)間,格式是:[hour]:minute:second。請(qǐng)注意這個(gè)數(shù)字并不代表實(shí)際的?CPU?時(shí)間。?
e?執(zhí)行指令所花費(fèi)的時(shí)間,單位是秒。請(qǐng)注意這個(gè)數(shù)字并不代表實(shí)際的?CPU?時(shí)間。?
S?指令執(zhí)行時(shí)在核心模式(kernel?mode)所花費(fèi)的時(shí)間,單位是秒。?
U?指令執(zhí)行時(shí)在使用者模式(user?mode)所花費(fèi)的時(shí)間,單位是秒。?
P?執(zhí)行指令時(shí)?CPU?的占用比例。其實(shí)這個(gè)數(shù)字就是核心模式加上使用者模式的?CPU?時(shí)間除以總時(shí)間。?
Memory?Resources?
M?執(zhí)行時(shí)所占用的實(shí)體記憶體的最大值。單位是?KB?
t?執(zhí)行時(shí)所占用的實(shí)體記憶體的平均值,單位是?KB?
K?執(zhí)行程序所占用的記憶體總量(stack+data+text)的平均大小,單位是?KB?
D?執(zhí)行程序的自有資料區(qū)(unshared?data?area)的平均大小,單位是?KB?
p?執(zhí)行程序的自有堆疊(unshared?stack)的平均大小,單位是?KB?
X?執(zhí)行程序間共享內(nèi)容(shared?text)的平均值,單位是?KB?
Z?系統(tǒng)記憶體頁(yè)的大小,單位是?byte。對(duì)同一個(gè)系統(tǒng)來(lái)說(shuō)這是個(gè)常數(shù)?
IO?Resources?
F?此程序的主要記憶體頁(yè)錯(cuò)誤發(fā)生次數(shù)。所謂的主要記憶體頁(yè)錯(cuò)誤是指某一記憶體頁(yè)已經(jīng)置換到置換檔(swap?file)中,而且已經(jīng)分配給其他程序。此時(shí)該頁(yè)的內(nèi)容必須從置換檔里再讀出來(lái)。?
R?此程序的次要記憶體頁(yè)錯(cuò)誤發(fā)生次數(shù)。所謂的次要記憶體頁(yè)錯(cuò)誤是指某一記憶體頁(yè)雖然已經(jīng)置換到置換檔中,但尚未分配給其他程序。此時(shí)該頁(yè)的內(nèi)容并未被破壞,不必從置換檔里讀出來(lái)?
W?此程序被交換到置換檔的次數(shù)?
c?此程序被強(qiáng)迫中斷(像是分配到的?CPU?時(shí)間耗盡)的次數(shù)?
w?此程序自愿中斷(像是在等待某一個(gè)?I/O?執(zhí)行完畢,像是磁碟讀取等等)的次數(shù)?
I?此程序所輸入的檔案數(shù)?
O?此程序所輸出的檔案數(shù)?
r?此程序所收到的?Socket?Message?
s?此程序所送出的?Socket?Message?
k?此程序所收到的信號(hào)?(?Signal?)數(shù)量?
Command?Info?
C?執(zhí)行時(shí)的參數(shù)以及指令名稱?
x?指令的結(jié)束代碼?(?Exit?Status?)?
-p?or?--portability?
這個(gè)選項(xiàng)會(huì)自動(dòng)把顯示格式設(shè)定成為:?
real?%e?
user?%U?
sys?%S?
這么做的目的是為了與?POSIX?規(guī)格相容。?
-v?or?--verbose?
這個(gè)選項(xiàng)會(huì)把所有程式中用到的資源通通列出來(lái),不但如一般英文語(yǔ)句,還有說(shuō)明。對(duì)不想花時(shí)間去熟習(xí)格式設(shè)定或是剛剛開(kāi)始接觸這個(gè)指令的人相當(dāng)有用。?
范例:?
利用下面的指令?
time?-v?ps?-aux?
我們可以獲得執(zhí)行?ps?-aux?的結(jié)果和所花費(fèi)的系統(tǒng)資源。如下面所列的資料:?
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?
使用權(quán)限:?所有使用者?
使用方式:?uptime?[-V]?
說(shuō)明:?uptime?提供使用者下面的資訊,不需其他參數(shù):?
現(xiàn)在的時(shí)間?
系統(tǒng)開(kāi)機(jī)運(yùn)轉(zhuǎn)到現(xiàn)在經(jīng)過(guò)的時(shí)間?
連線的使用者數(shù)量?
最近一分鐘,五分鐘和十五分鐘的系統(tǒng)負(fù)載?
參數(shù):?-V?顯示版本資訊。?
范例:?uptime?
其結(jié)果為:?
10:41am?up?5?days,?10?min,?1?users,?load?average:?0.00,?0.00,?1.99?
名稱:chfn?
使用權(quán)限:所有使用者?
用法:shell>>?chfn?
說(shuō)明:提供使用者更改個(gè)人資訊,用于?finger?and?mail?username?
范例:?
shell>>?chfn?
Changing?finger?information?for?user?
Password:?[del]?
Name[]:Johnney?Huang?###?提供?finger?時(shí)的資料?
Office[]:NCCU?
Office?Phone[]:?[del]?
Home?Phone[]:?[del]?
名稱:chsh?
使用權(quán)限:所有使用者?
用法:shell>>?chsh?
說(shuō)明:更改使用者?shell?設(shè)定?
范例:?
shell>>?chsh?
Changing?fihanging?shell?for?user1?
Password:?[del]?
New?shell?[/bin/tcsh]:?###?[是目前使用的?shell]?
[del]?
shell>>?chsh?-l?###?展示?/etc/shells?檔案內(nèi)容?
/bin/bash?
/bin/sh?
/bin/ash?
/bin/bsh?
/bin/tcsh?
/bin/csh?
”?finger?[返回]?
名稱:?finger?
使用權(quán)限:?所有使用者?
使用方式:?finger?[options]?user[@address]?
說(shuō)明:finger?可以讓使用者查詢一些其他使用者的資料。會(huì)列出來(lái)的資料有:
Login?Name?
User?Name?
Home?directory?
Shell?
Login?status?
mail?status?
.plan?
.project?
.forward?
其中?.plan?,.project?和?.forward?就是使用者在他的?Home?Directory?里的?.plan?,?.project?和?.forward?等檔案里的資料。如果沒(méi)有就沒(méi)有。finger?指令并不限定于在同一伺服器上查詢,也可以尋找某一個(gè)遠(yuǎn)端伺服器上的使用者。只要給一個(gè)像是?E-mail?address?一般的地址即可。?
把計(jì):?
-l?
多行顯示。
-s?
單行顯示。這個(gè)選項(xiàng)只顯示登入名稱,真實(shí)姓名,終端機(jī)名稱,閑置時(shí)間,登入時(shí)間,辦公室號(hào)碼及電話號(hào)碼。如果所查詢的使用者是遠(yuǎn)端伺服器的使用者,這個(gè)選項(xiàng)無(wú)效。?
范例:下列指令可以查詢本機(jī)管理員的資料:?
finger?root?
其結(jié)果如下:?
Login:?root?Name:?root?
Directory:?/root?Shell:?/bin/bash?
Never?logged?in.?
No?mail.?
No?Plan.?
名稱:last?
使用權(quán)限:所有使用者?
使用方式:shell>>?last?[options]?
說(shuō)明:顯示系統(tǒng)開(kāi)機(jī)以來(lái)獲是從每月初登入者的訊息?
把計(jì):?
-R?省略?hostname?的欄位?
-num?展示前?num?個(gè)?
username?展示?username?的登入訊息?
tty?限制登入訊息包含終端機(jī)代號(hào)?
范例:?
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?
名稱:login?
這個(gè)命令都不會(huì)就不要干算了!呵呵我也不在這里多費(fèi)筆墨耽誤大家美好青春了^_^?
名稱:passwd?
使用權(quán)限:所有使用者?
使用方式:passwd?[-k]?[-l]?[-u?[-f]]?[-d]?[-S]?[username]?
說(shuō)明:用來(lái)更改使用者的密碼?
參數(shù):?
-k?
-l?
-u?
-f?
-d?關(guān)閉使用者的密碼認(rèn)證功能,?使用者在登入時(shí)將可以不用輸入密碼,?只有具備?root?權(quán)限的使用者方可使用.?
-S?顯示指定使用者的密碼認(rèn)證種類,?只有具備?root?權(quán)限的使用者方可使用.?
[username]?指定帳號(hào)名稱.?
名稱:who?
使用權(quán)線:所有使用者都可使用?
使用方式:who?-?[husfV]?[user]?
說(shuō)明:顯示系統(tǒng)中有那些使用者正在上面,顯示的資料包含了使用者?ID,使用的終端機(jī),從那邊連上來(lái)的,上線時(shí)間,呆滯時(shí)間,CPU?使用量,動(dòng)作等等。?
把計(jì):
-h:不要顯示標(biāo)題列?
-u:不要顯示使用者的動(dòng)作/工作?
-s:使用簡(jiǎn)短的格式來(lái)顯示?
-f:不要顯示使用者的上線位置?
-V:顯示程式版本?
名稱:/etc/aliases?
使用權(quán)限:系統(tǒng)管理者?
使用方式:?請(qǐng)用?newaliases?更新資料庫(kù)?
說(shuō)明:?
sendmail?會(huì)使用一個(gè)在?/etc/aliases?中的檔案做使用者名稱轉(zhuǎn)換的動(dòng)作。當(dāng)?sendmail?收到一個(gè)要送給?xxx?的信時(shí),它會(huì)依據(jù)?aliases檔的內(nèi)容送給另一個(gè)使用者。這個(gè)功能可以創(chuàng)造一個(gè)只有在信件系統(tǒng)內(nèi)才有效的使用者。例如?mailing?list?就會(huì)用到這個(gè)功能,在?mailinglist?中,我們可能會(huì)創(chuàng)造一個(gè)叫?redlinux@link.ece.uci.edu?的?mailinglist,但實(shí)際上并沒(méi)有一個(gè)叫?redlinux?的使用者。實(shí)際?aliases?檔的內(nèi)容是將送給這個(gè)使用者的信都收給?mailing?list?處理程式負(fù)責(zé)分送的工作。?
/etc/aliases?是一個(gè)文字模式的檔案,sendmail?需要一個(gè)二進(jìn)位格式的?/etc/aliases.db。newaliases?的功能傳是將?/etc/aliases?轉(zhuǎn)換成一個(gè)?sendmail?所能了解的資料庫(kù)。范例:?
#?newaliases?
下面命令會(huì)做相同的事,?
#?sendmail?-bi?
相關(guān)命令:?
mail,?mailq,?newaliases,?sendmail?
”?mail?[返回]?
名稱:mail?
使用權(quán)限:所有使用者?
使用方式:mail?[-iInv]?[-s?subject]?[-c?cc-addr]?[-b?bcc-addr]?user1?[user?2?...]?
說(shuō)明:?
mail?不僅只是一個(gè)指令,?mail?還是一個(gè)電子郵件程式,不過(guò)利用?mail?來(lái)讀信的人應(yīng)該很少吧!對(duì)于系統(tǒng)管理者來(lái)說(shuō)?mail?就很有用,因?yàn)楣芾碚呖梢杂?mail?寫成?script?,定期寄一些備忘錄提醒系統(tǒng)的使用者。?
參數(shù):?
i?忽略?tty?的中斷訊號(hào)。?(interrupt)?
I?強(qiáng)迫設(shè)成互動(dòng)模式。?(Interactive)?
v?列印出訊息,例如送信的地點(diǎn),狀態(tài)等等。?(verbose)?
n?不讀入?mail.rc?設(shè)定檔。?
s?郵件標(biāo)題。?
c?cc?郵件地址。?
b?bcc?郵件地址。?
范例:?
將信件送給一個(gè)或以上的電子郵件地址,由于沒(méi)有加入其他的選項(xiàng),使用者必須輸入標(biāo)題與信件的內(nèi)容等。而?user2?沒(méi)有主機(jī)位置,就會(huì)送給郵件伺服器的?user2?使用者。?
mail?user1@email.address?
mail?user1@email.address?user2?
將?mail.txt?的內(nèi)容寄給?user2?同時(shí)?cc?給?user1?。如果將這一行指令設(shè)成?cronjob?就可以定時(shí)將備忘錄寄給系統(tǒng)使用者。?
mail?-s?標(biāo)題?-c?user1?user2?<?mail.txt?
指令:mesg?
使用權(quán)限:所有使用者?
使用方式:mesg?[y|n]?
說(shuō)明?:?決定是否允許其他人傳訊息到自己的終端機(jī)介面?
把計(jì)?:?
y:允許訊息傳到終端機(jī)介面上。?
n:不允許訊息傳到終端機(jī)介面上?。?
如果沒(méi)有設(shè)定,則訊息傳遞與否則由終端機(jī)界面目前狀態(tài)而定。?
例子:
改變目前訊息設(shè)定,改成不允許訊息傳到終端機(jī)介面上:
mesg?n?
與?mesg?相關(guān)的指令有:?talk,write,wall。?
名稱:/etc/aliases?
使用權(quán)限:系統(tǒng)管理者?
使用方式:?newaliases?
說(shuō)明:?
sendmail?會(huì)使用一個(gè)在?/etc/aliases?中的檔案做使用者名稱轉(zhuǎn)換的動(dòng)作。當(dāng)?sendmail?收到一個(gè)要送給?xxx?的信時(shí),它會(huì)依據(jù)?aliases檔的內(nèi)容送給另一個(gè)使用者。這個(gè)功能可以創(chuàng)造一個(gè)只有在信件系統(tǒng)內(nèi)才有效的使用者。例如?mailing?list?就會(huì)用到這個(gè)功能,在?mailinglist?中,我們可能會(huì)創(chuàng)造一個(gè)叫?redlinux@link.ece.uci.edu?的?mailinglist,但實(shí)際上并沒(méi)有一個(gè)叫?redlinux?的使用者。實(shí)際?aliases?檔的內(nèi)容是將送給這個(gè)使用者的信都收給?mailing?list?處理程式負(fù)責(zé)分送的工作。?
/etc/aliases?是一個(gè)文字模式的檔案,sendmail?需要一個(gè)二進(jìn)位格式的?/etc/aliases.db。newaliases?的功能傳是將?/etc/aliases?轉(zhuǎn)換成一個(gè)?sendmail?所能了解的資料庫(kù)。?
參數(shù):沒(méi)有任何參數(shù)。?范例:?
#?newaliases?
下面命令會(huì)做相同的事,?
#?sendmail?-bi?
相關(guān)命令:?
mail,?mailq,?newaliases,?sendmail?
名稱:talk?
使用權(quán)限:所有使用者?
使用方式:
talk?person?[ttyname]?
說(shuō)明:與其他使用者對(duì)談?
把計(jì):
person:預(yù)備對(duì)談的使用者帳號(hào),如果該使用者在其他機(jī)器上,則可輸入?person@machine.name?
ttyname:如果使用者同時(shí)有兩個(gè)以上的?tty?連線,可以自行選擇合適的?tty?傳訊息?
例子.1:
與現(xiàn)在機(jī)器上的使用者Rollaend對(duì)談,此時(shí)?Rollaend?只有一個(gè)連線:
talk?Rollaend?
接下來(lái)就是等Rollaend回應(yīng),若Rollaend接受,則Rollaend輸入?`talk?jzlee`即可開(kāi)始對(duì)談,結(jié)束請(qǐng)按?ctrl+c?
例子.2?:與linuxfab.cx上的使用者Rollaend對(duì)談,使用pts/2來(lái)對(duì)談:
talk?Rollaend@linuxfab.cx?pts/2
接下來(lái)就是等Rollaend回應(yīng),若Rollaend接受,則Rollaend輸入?`talk?jzlee@jzlee.home`即可開(kāi)始對(duì)談,結(jié)束請(qǐng)按?ctrl+c?
注意:若螢?zāi)坏淖謺?huì)出現(xiàn)不正常的字元,試著按?ctrl+l?更新螢?zāi)划嬅妗?/span>
名稱:wall?
使用權(quán)限:所有使用者?
使用方式:
wall?[?message?]?
使用說(shuō)明:?
wall?會(huì)將訊息傳給每一個(gè)?mesg?設(shè)定為?yes?的上線使用者。當(dāng)使用終端機(jī)介面做為標(biāo)準(zhǔn)傳入時(shí),?訊息結(jié)束時(shí)需加上?EOF?(通常用?Ctrl+D)?
例子:
傳訊息"hi"?給每一個(gè)使用者:
wall?hi?
名稱:write?
使用權(quán)限:所有使用者?
使用方式:
write?user?[ttyname]?
說(shuō)明:傳訊息給其他使用者?
把計(jì):
user:預(yù)備傳訊息的使用者帳號(hào)?
ttyname:如果使用者同時(shí)有兩個(gè)以上的?tty?連線,可以自行選擇合適的?tty?傳訊息?
例子.1:
傳訊息給?Rollaend,此時(shí)?Rollaend?只有一個(gè)連線:
write?Rollaend?
接下來(lái)就是將訊息打上去,結(jié)束請(qǐng)按?ctrl+c?
例子.2?:傳訊息給?Rollaend,Rollaend?的連線有?pts/2,pts/3:
write?Rollaend?pts/2
接下來(lái)就是將訊息打上去,結(jié)束請(qǐng)按?ctrl+c?
注意:若對(duì)方設(shè)定?mesg?n,則此時(shí)訊席將無(wú)法傳給對(duì)方?
名稱:kill?
使用權(quán)限:所有使用者?
使用方式:?
kill?[?-s?signal?|?-p?]?[?-a?]?pid?...?
kill?-l?[?signal?]?
說(shuō)明:kill?送出一個(gè)特定的信號(hào)?(signal)?給行程?id?為?pid?的行程根據(jù)該信號(hào)而做特定的動(dòng)作,?若沒(méi)有指定,?預(yù)設(shè)是送出終止?(TERM)?的信號(hào)?
把計(jì):?
-s?(signal):其中可用的訊號(hào)有?HUP?(1),?KILL?(9),?TERM?(15),?分別代表著重跑,?砍掉,?結(jié)束;?詳細(xì)的信號(hào)可以用?kill?-l?
-p:印出?pid?,?并不送出信號(hào)?
-l?(signal):列出所有可用的信號(hào)名稱?
范例:?
將?pid?為?323?的行程砍掉?(kill):
kill?-9?323?
將?pid?為?456?的行程重跑?(restart):
kill?-HUP?456?
名稱:nice?
使用權(quán)限:所有使用者?
使用方式:nice?[-n?adjustment]?[-adjustment]?[--adjustment=adjustment]?[--help]?[--version]?[command?[arg...]]?
說(shuō)明:以更改過(guò)的優(yōu)先序來(lái)執(zhí)行程式,?如果未指定程式,?則會(huì)印出目前的排程優(yōu)先序,?內(nèi)定的?adjustment?為?10,?范圍為?-20?(最高優(yōu)先序)?到?19?(最低優(yōu)先序)?
把計(jì):?
-n?adjustment,?-adjustment,?--adjustment=adjustment?皆為將該原有優(yōu)先序的增加?adjustment?
--help?顯示求助訊息?
--version?顯示版本資訊?
范例:?
將?ls?的優(yōu)先序加?1?并執(zhí)行:
nice?-n?1?ls?
將?ls?的優(yōu)先序加?10?并執(zhí)行:
nice?ls將?ls?的優(yōu)先序加?10?并執(zhí)行?
注意:優(yōu)先序?(priority)?為作業(yè)系統(tǒng)用來(lái)決定?CPU?分配的參數(shù),Linux?使用『回合制(round-robin)』的演算法來(lái)做?CPU?排程,優(yōu)先序越高,所可能獲得的?CPU時(shí)間就越多。?
名稱:ps?
使用權(quán)限:所有使用者?
使用方式:ps?[options]?[--help]?
說(shuō)明:顯示瞬間行程?(process)?的動(dòng)態(tài)?
參數(shù):?
ps?的參數(shù)非常多,?在此僅列出幾個(gè)常用的參數(shù)并大略介紹含義?
-A?列出所有的行程?
-w?顯示加寬可以顯示較多的資訊?
-au?顯示較詳細(xì)的資訊?
-aux?顯示所有包含其他使用者的行程?
au(x)?輸出格式:
USER?PID?%CPU?%MEM?VSZ?RSS?TTY?STAT?START?TIME?COMMAND?
USER:?行程擁有者?
PID:?pid?
%CPU:?占用的?CPU?使用率?
%MEM:?占用的記憶體使用率?
VSZ:?占用的虛擬記憶體大小?
RSS:?占用的記憶體大小?
TTY:?終端的次要裝置號(hào)碼?(minor?device?number?of?tty)?
STAT:?該行程的狀態(tài):?
D:?不可中斷的靜止?(通悸□□縝b進(jìn)行?I/O?動(dòng)作)?
R:?正在執(zhí)行中?
S:?靜止?fàn)顟B(tài)?
T:?暫停執(zhí)行?
Z:?不存在但暫時(shí)無(wú)法消除?
W:?沒(méi)有足夠的記憶體分頁(yè)可分配?
<:?高優(yōu)先序的行程?
N:?低優(yōu)先序的行程?
L:?有記憶體分頁(yè)分配并鎖在記憶體內(nèi)?(即時(shí)系統(tǒng)或捱A?I/O)?
START:?行程開(kāi)始時(shí)間?
TIME:?執(zhí)行的時(shí)間?
COMMAND:所執(zhí)行的指令?
范例:?
ps?
PID?TTY?TIME?CMD?
2791?ttyp0?00:00:00?tcsh?
3092?ttyp0?00:00:00?ps?
%?ps?-A?
PID?TTY?TIME?CMD?
1???00:00:03?init?
2???00:00:00?kflushd?
3???00:00:00?kpiod?
4???00:00:00?kswapd?
5???00:00:00?mdrecoveryd?
.......?
%?ps?-aux?
USER?PID?%CPU?%MEM?VSZ?RSS?TTY?STAT?START?TIME?COMMAND?
root?1?0.0?0.7?1096?472???S?Sep10?0:03?init?[3]?
root?2?0.0?0.0?0?0???SW?Sep10?0:00?[kflushd]?
root?3?0.0?0.0?0?0???SW?Sep10?0:00?[kpiod]?
root?4?0.0?0.0?0?0???SW?Sep10?0:00?[kswapd]?
........?
名稱:pstree?
使用權(quán)限:所有使用者?
使用方式:?
pstree?[-a]?[-c]?[-h|-Hpid]?[-l]?[-n]?[-p]?[-u]?[-G|-U]?[pid|user]?
pstree?-V?
說(shuō)明:將所有行程以樹(shù)狀圖顯示,?樹(shù)狀圖將會(huì)以?pid?(如果有指定)?或是以?init?這個(gè)基本行程為根?(root)?,如果有指定使用者?id?,?則樹(shù)狀圖會(huì)只顯示該使用者所擁有的行程?
參數(shù):?
-a?顯示該行程的完整指令及參數(shù),?如果是被記憶體置換出去的行程則會(huì)加上括號(hào)?
-c?如果有重覆的行程名,?則分開(kāi)列出?(預(yù)設(shè)值是會(huì)在前面加上?*?
范例:?
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?
....?
名稱:renice?
使用權(quán)限:所有使用者?
使用方式:renice?priority?[[-p]?pid?...]?[[-g]?pgrp?...]?[[-u]?user?...]?
說(shuō)明:重新指定一個(gè)或多個(gè)行程(Process)的優(yōu)先序(一個(gè)或多個(gè)將根據(jù)所下的參數(shù)而定)?
把計(jì):?
-p?pid?重新指定行程的?id?為?pid?的行程的優(yōu)先序?
-g?pgrp?重新指定行程群組(process?group)的?id?為?pgrp?的行程?(一個(gè)或多個(gè))?的優(yōu)先序?
-u?user?重新指定行程擁有者為?user?的行程的優(yōu)先序?
范例:?
將行程?id?為?987?及?32?的行程與行程擁有者為?daemon?及?root?的優(yōu)先序號(hào)碼加?1:
renice?+1?987?-u?daemon?root?-p?32?
注意:每一個(gè)行程(Process)都有一個(gè)唯一的?(unique)?id?
名稱:top?
使用權(quán)限:所有使用者?
使用方式:top?[-]?[d?delay]?[q]?[c]?[S]?[s]?[i]?[n]?[b]?
說(shuō)明:即時(shí)顯示?process?的動(dòng)態(tài)?
把計(jì):?
d:改變顯示的更新速度,或是在交談式指令列(?interactive?command)按?s?
q:沒(méi)有任何延遲的顯示速度,如果使用者是有?superuser?的權(quán)限,則?top?將會(huì)以最高的優(yōu)先序執(zhí)行?
c:切換顯示模式,共有兩種模式,一是只顯示執(zhí)行檔的名稱,另一種是顯示完整的路徑與名稱S:累積模式,會(huì)將己完成或消失的子行程?(?dead?child?process?)?的?CPU?time?累積起來(lái)?
s:安全模式,將交談式指令取消,?避免潛在的危機(jī)?
i:不顯示任何閑置?(idle)?或無(wú)用?(zombie)?的行程?
n:更新的次數(shù),完成后將會(huì)退出?top?
b:批次檔模式,搭配?"n"?參數(shù)一起使用,可以用來(lái)將?top?的結(jié)果輸出到檔案內(nèi)?
范例:?
顯示更新十次后退出?;?
top?-n?10?
使用者將不能利用交談式指令來(lái)對(duì)行程下命令:
top?-s?
將更新顯示二次的結(jié)果輸入到名稱為?top.log?的檔案里:
top?-n?2?-b?<?top.log?
名稱:skill?
使用權(quán)限:所有使用者?
使用方式:?skill?[signal?to?send]?[options]?選擇程序的規(guī)則?
說(shuō)明:?
送個(gè)訊號(hào)給正在執(zhí)行的程序,預(yù)設(shè)的訊息為?TERM?(中斷)?,?較常使用的訊息為?HUP?,?INT?,?KILL?,?STOP?,?CONT?,和?0?
訊息有三種寫法:分別為?-9?,?-SIGKILL?,?-KILL?,?可以使用?-l?或?-L?已列出可使用的訊息。?
一般參數(shù):?
-f?快速模式/尚未完成?
-i?互動(dòng)模式/?每個(gè)動(dòng)作將要被確認(rèn)?
-v?詳細(xì)輸出/?列出所選擇程序的資訊?
-w?智能警告訊息/?尚未完成?
-n?沒(méi)有動(dòng)作/?顯示程序代號(hào)?
參數(shù):選擇程序的規(guī)則可以是,?終端機(jī)代號(hào),使用者名稱,程序代號(hào),命令名稱。?
-t?終端機(jī)代號(hào)?(?tty?或?pty?)?
-u?使用者名稱?
-p?程序代號(hào)?(?pid?)?
-c?命令名稱?可使用的訊號(hào):?
以下列出已知的訊號(hào)名稱,訊號(hào)代號(hào),功能。?
名稱?(代號(hào))?功能/?描述?
ALRM?14?離開(kāi)?
HUP?1?離開(kāi)?
INT?2?離開(kāi)?
KILL?9?離開(kāi)/?強(qiáng)迫關(guān)閉?
PIPE?13?離開(kāi)?
POLL?離開(kāi)?
PROF?離開(kāi)?
TERM?15?離開(kāi)?
USR1?離開(kāi)?
USR2?離開(kāi)?
VTALRM?離開(kāi)?
STKFLT?離開(kāi)/?只適用于i386,?m68k,?arm?和?ppc?硬體?
UNUSED?離開(kāi)/?只適用于i386,?m68k,?arm?和?ppc?硬體?
TSTP?停止?/產(chǎn)生與內(nèi)容相關(guān)的行為?
TTIN?停止?/產(chǎn)生與內(nèi)容相關(guān)的行為?
TTOU?停止?/產(chǎn)生與內(nèi)容相關(guān)的行為?
STOP?停止?/強(qiáng)迫關(guān)閉?
CONT?從新啟動(dòng)?/如果在停止?fàn)顟B(tài)則從新啟動(dòng),否則忽略?
PWR?忽略?/在某些系統(tǒng)中會(huì)離開(kāi)?
WINCH?忽略?
CHLD?忽略?
ABRT?6?核心?
FPE?8?核心?
ILL?4?核心?
QUIT?3?核心?
SEGV?11?核心?
TRAP?5?核心?
SYS?核心?/或許尚未實(shí)作?
EMT?核心?/或許尚未實(shí)作?
BUS?核心?/核心失敗?
XCPU?核心?/核心失敗?
XFSZ?核心?/核心失敗?
范例:?
停止所有在?PTY?裝置上的程序?
skill?-KILL?-v?pts/*?
停止三個(gè)使用者?user1?,?user2?,?user3?
skill?-STOP?user1?user2?user3?
其他相關(guān)的命令:?kill?
名稱:expr?
使用權(quán)限:所有使用者?
###?字串長(zhǎng)度?
shell>>?expr?length?"this?is?a?test"?
14?
###?數(shù)字商數(shù)?
shell>>?expr?14?%?9?
5?
###?從位置處抓取字串?
shell>>?expr?substr?"this?is?a?test"?3?5?
is?is?
###?數(shù)字串?only?the?first?character?
shell>>?expr?index?"testforthegame"?e?
2?
###?字串真實(shí)重現(xiàn)?
shell>>?expr?quote?thisisatestformela?
thisisatestformela?
名稱:?tr?
###?1.比方說(shuō)要把目錄下所有的大寫檔名換為小寫檔名??
似乎有很多方式,"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.自己試驗(yàn)中...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?###?去掉有關(guān)?t.e.s.t?
this?
man?
man?
test?
e?
###?4.取代字串?
shell>>?tr?-s?"this"?"TEST"?
this?
TEST?
th?
TE?
指令:clear?
用途:清除螢?zāi)挥谩?
使用方法:在?console?上輸入?clear。?
名稱:?reset,?tset?
使用方法:?tset?[-IQqrs]?[-]?[-e?ch]?[-i?ch]?[-k?ch]?[-m?mapping]?[terminal]?
使用說(shuō)明:?
reset?其實(shí)和?tset?是一同個(gè)命令,它的用途是設(shè)定終端機(jī)的狀態(tài)。一般而言,這個(gè)命令會(huì)自動(dòng)的從環(huán)境變數(shù),命令列或是其它的組態(tài)檔決定目前終端機(jī)的型態(tài)。如果指定型態(tài)是???的話,這個(gè)程式會(huì)要求使用者輸入終端機(jī)的型別。?
由于這個(gè)程式會(huì)將終端機(jī)設(shè)回原始的狀態(tài),除了在?login?時(shí)使用外,當(dāng)系統(tǒng)終端機(jī)因?yàn)槌淌讲徽?zhí)行而進(jìn)入一些奇怪的狀態(tài)時(shí),你也可以用它來(lái)重設(shè)終端機(jī)o?例如不小心把二進(jìn)位檔用?cat?指令進(jìn)到終端機(jī),常會(huì)有終端機(jī)不再回應(yīng)鍵盤輸入,或是回應(yīng)一些奇怪字元的問(wèn)題。此時(shí)就可以用?reset?將終端機(jī)回復(fù)至原始狀態(tài)。選項(xiàng)說(shuō)明:?
-p?
將終端機(jī)類別顯示在螢?zāi)簧?span style="font-family:Times New Roman">,但不做設(shè)定的動(dòng)作。這個(gè)命令可以用來(lái)取得目前終端機(jī)的類別。
-e?ch?
將?erase?字元設(shè)成?ch?
-i?ch?
將中斷字元設(shè)成?ch?
-k?ch?
將刪除一行的字元設(shè)成?ch?
-I?
不要做設(shè)定的動(dòng)作,如果沒(méi)有使用選項(xiàng)?-Q?的話,erase,中斷及刪除字元的目前值依然會(huì)送到螢?zāi)簧稀?
-Q?
不要顯示?erase,中斷及刪除字元的值到螢?zāi)簧稀?
-r?
將終端機(jī)類別印在螢?zāi)簧稀?
-s?
將設(shè)定?TERM?用的命令用字串的型式送到終端機(jī)中,通常在?.login?或?.profile?中用?
范例:?
讓使用者輸入一個(gè)終端機(jī)型別并將終端機(jī)設(shè)到該型別的預(yù)設(shè)狀態(tài)。?
#?reset???
將?erase?字元設(shè)定?control-h?
#?reset?-e?^B?
將設(shè)定用的字串顯示在螢?zāi)簧?
#?reset?-s?
Erase?is?control-B?(^B).?
Kill?is?control-U?(^U).?
Interrupt?is?control-C?(^C).?
TERM=xterm;?
名稱:compress?
使用權(quán)限:所有使用者?
使用方式:compress?[-dfvcV]?[-b?maxbits]?[file?...]?
說(shuō)明:?
compress?是一個(gè)相當(dāng)古老的?unix?檔案壓縮指令,壓縮后的檔案會(huì)加上一個(gè)?.Z?延伸檔名以區(qū)別未壓縮的檔案,壓縮后的檔案可以以?uncompress?解壓。若要將數(shù)個(gè)檔案壓成一個(gè)壓縮檔,必須先將檔案?tar?起來(lái)再壓縮。由于?gzip?可以產(chǎn)生更理想的壓縮比例,一般人多已改用?gzip?為檔案壓縮工具。
參數(shù):?
c?輸出結(jié)果至標(biāo)準(zhǔn)輸出設(shè)備(一般指熒幕)?
f?強(qiáng)迫寫入檔案,若目的檔已經(jīng)存在,則會(huì)被覆蓋?(force)?
v?將程式執(zhí)行的訊息印在熒幕上?(verbose)?
b?設(shè)定共同字串?dāng)?shù)的上限,以位元計(jì)算,可以設(shè)定的值為?9?至?16?bits?。由于值越大,能使用的共同字串就?越多,壓縮比例就越大,所以一般使用預(yù)設(shè)值?16?bits?(bits)?
d?將壓縮檔解壓縮?
V?列出版本訊息?
范例:?
將?source.dat?壓縮成?source.dat.Z?,若?source.dat.Z?已經(jīng)存在,內(nèi)容則會(huì)被壓縮檔覆蓋。?
compress?-f?source.dat?
將?source.dat?壓縮成?source.dat.Z?,并列印出壓縮比例。?
-v?與?-f?可以一起使用?
compress?-vf?source.dat?
將壓縮后的資料輸出后再導(dǎo)入?target.dat.Z?可以改變壓縮檔名。
compress?-c?source.dat?>?target.dat.Z?
-b?的值越大,壓縮比例就越大,范圍是?9-16?,預(yù)設(shè)值是?16?。?
compress?-b?12?source.dat?
將?source.dat.Z?解壓成?source.dat?,若檔案已經(jīng)存在,使用者按?y?以確定覆蓋檔案,若使用?-df?程式則會(huì)自動(dòng)覆蓋檔案。由于系統(tǒng)會(huì)自動(dòng)加入?.Z?為延伸檔名,所以?source.dat?會(huì)自動(dòng)當(dāng)作?source.dat.Z?處理。?
compress?-d?source.dat?
compress?-d?source.dat.Z?
名稱:?lpd?
使用權(quán)限:?所有使用者
使用方式:lpd?[-l]?[#port]?
lpd?是一個(gè)常駐的印表機(jī)管理程式,它會(huì)根據(jù)?/etc/printcap?的內(nèi)容來(lái)管理本地或遠(yuǎn)端的印表機(jī)。/etc/printcap?中定義的每一個(gè)印表機(jī)必須在?/var/lpd?中有一個(gè)相對(duì)應(yīng)的目錄,目錄中以?cf?開(kāi)頭的檔案表示一個(gè)等待送到適當(dāng)裝置的印表工作。這個(gè)檔案通常是由?lpr?所產(chǎn)生。?
lpr?和?lpd?組成了一個(gè)可以離線工作的系統(tǒng),當(dāng)你使用?lpr?時(shí),印表機(jī)不需要能立即可用,甚至不用存在。lpd?會(huì)自動(dòng)監(jiān)視印表機(jī)的狀況,當(dāng)印表機(jī)上線后,便立即將檔案送交處理。這個(gè)得所有的應(yīng)用程式不必等待印表機(jī)完成前一工作。?
參數(shù):?
-l:?將一些除錯(cuò)訊息顯示在標(biāo)準(zhǔn)輸出上。?
#port:?一般而言,lpd?會(huì)使用?getservbyname?取得適當(dāng)?shù)?TCP/IP?port,你可以使用這個(gè)參數(shù)強(qiáng)迫?lpd?使用指定的?port。?
范例:?
這個(gè)程式通常是由?/etc/rc.d?中的程式在系統(tǒng)啟始階段執(zhí)行。?
名稱?lpq?
--?顯示列表機(jī)貯列中未完成的工作?用法?
lpq?[l]?[P]?[user]?
說(shuō)明?
lpq?會(huì)顯示由?lpd?所管理的列表機(jī)貯列中未完成的項(xiàng)目。?
范例?
范例?1.?顯示所有在?lp?列表機(jī)貯列中的工作?
#?lpq?-PlpRank?Owner?Job?Files?Total?Size1st?root?238?(standard?input)?1428646?bytes?
相關(guān)函數(shù)?
lpr,lpc,lpd?
名稱:?lpr?
使用權(quán)限:?所有使用者?
使用方式:lpr?[?-P?printer?]?
將檔案或是由標(biāo)準(zhǔn)輸入送進(jìn)來(lái)的資料送到印表機(jī)貯列之中,印表機(jī)管理程式?lpd?會(huì)在稍后將這個(gè)檔案送給適當(dāng)?shù)某淌交蜓b置處理。lpr?可以用來(lái)將料資送給本地或是遠(yuǎn)端的主機(jī)來(lái)處理。參數(shù):
-p?Printer:?將資料送至指定的印表機(jī)?Printer,預(yù)設(shè)值為?lp。
范例:?
將?www.c?和?kkk.c?送到印表機(jī)?lp。?
lpr?-Plp?www.c?kkk.c?
名稱:?lprm?
--?將一個(gè)工作由印表機(jī)貯列中移除?用法?
/usr/bin/lprm?[P]?[file...]?
說(shuō)明?
尚未完成的印表機(jī)工作會(huì)被放在印表機(jī)貯列之中,這個(gè)命令可用來(lái)將常未送到印表機(jī)的工作取消。由于每一個(gè)印表機(jī)都有一個(gè)獨(dú)立的貯列,你可以用?-P?這個(gè)命令設(shè)定想要作用的印列機(jī)。如果沒(méi)有設(shè)定的話,會(huì)使用系統(tǒng)預(yù)設(shè)的印表機(jī)。?
這個(gè)命令會(huì)檢查使用者是否有足夠的權(quán)限刪除指定的檔案,一般而言,只有檔案的擁有者或是系統(tǒng)管理員才有這個(gè)權(quán)限。?
范例?
將印表機(jī)?hpprinter?中的第?1123?號(hào)工作移除?
lprm?-Phpprinter?1123?
將第?1011?號(hào)工作由預(yù)設(shè)印表機(jī)中移除?
lprm?1011?
名稱:?fdformat?
使用權(quán)限:?所有使用者?
使用方式:fdformat?[-n]?device?
使用說(shuō)明:
對(duì)指定的軟碟機(jī)裝置進(jìn)行低階格式化。使用這個(gè)指令對(duì)軟碟格式化的時(shí)候,最好指定像是下面的裝置:?
/dev/fd0d360?磁碟機(jī)?A:?,磁片為?360KB?磁碟?
/dev/fd0h1440?磁碟機(jī)?A:?,磁片為?1.4MB?磁碟?
/dev/fd1h1200?磁碟機(jī)?B:?,磁片為?1.2MB?磁碟?
如果使用像是?/dev/fd0?之類的裝置,如果里面的磁碟不是標(biāo)準(zhǔn)容量,格式化可能會(huì)失敗。在這種情況之下,使用者可以用?setfdprm?指令先行指定必要參數(shù)。?
參數(shù):?
-n?關(guān)閉確認(rèn)功能。這個(gè)選項(xiàng)會(huì)關(guān)閉格式化之后的確認(rèn)步驟。?
范例:?
fdformat?-n?/dev/fd0h1440?
將磁碟機(jī)?A?的磁片格式化成?1.4MB?的磁片。并且省略確認(rèn)的步驟。
名稱:?mformat?
使用權(quán)限:?所有使用者?
使用方式:?
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:?
在已經(jīng)做過(guò)低階格式化的磁片上建立?DOS?檔案系統(tǒng)。如果在編譯?mtools?的時(shí)候把?USE_2M?的參數(shù)打開(kāi),部分與?2M?格式相關(guān)的參數(shù)就會(huì)發(fā)生作用。否則這些參數(shù)(像是?S,2,1,M)不會(huì)發(fā)生作用。
參數(shù):?
-t?磁柱(synlider)數(shù)?
-h?磁頭(head)數(shù)?
-s?每一磁軌的磁區(qū)數(shù)?
-l?標(biāo)簽?
-F?將磁碟格式化為?FAT32?格式,不過(guò)這個(gè)參數(shù)還在實(shí)驗(yàn)中。?
-I?設(shè)定?FAT32?中的版本號(hào)。這當(dāng)然也還在實(shí)驗(yàn)中。?
-S?磁區(qū)大小代碼,計(jì)算方式為?sector?=?2^(大小代碼+7)?
-c?磁叢(cluster)的磁區(qū)數(shù)。如果所給定的數(shù)字會(huì)導(dǎo)致磁叢數(shù)超過(guò)?FAT?表的限制,mformat?會(huì)自動(dòng)放大磁區(qū)數(shù)。?
-s?
-M?軟體磁區(qū)大小。這個(gè)數(shù)字就是系統(tǒng)回報(bào)的磁區(qū)大小。通常是和實(shí)際的大小相同。?
-a?如果加上這個(gè)參數(shù),mformat?會(huì)產(chǎn)生一組?Atari?系統(tǒng)的序號(hào)給這塊軟碟。?
-X?將軟碟格式化成?XDF?格式。使用前必須先用?xdfcopy?指令對(duì)軟碟作低階格式化的動(dòng)作。?
-C?產(chǎn)生一個(gè)可以安裝?MS-DOS?檔案系統(tǒng)的磁碟影像檔(disk?image)。當(dāng)然對(duì)一個(gè)實(shí)體磁碟機(jī)下這個(gè)參數(shù)是沒(méi)有意義的。?
-H?隱藏磁區(qū)的數(shù)目。這通常適用在格式化硬碟的分割區(qū)時(shí),因?yàn)橥ǔR粋€(gè)分割區(qū)的前面還有分割表。這個(gè)參數(shù)未經(jīng)測(cè)試,能不用就不用。?
-n?磁碟序號(hào)?
-r?根目錄的大小,單位是磁區(qū)數(shù)。這個(gè)參數(shù)只對(duì)?FAT12?和?FAT16?有效。?
-B?使用所指定的檔案或是設(shè)備的開(kāi)機(jī)磁區(qū)做為這片磁片或分割區(qū)的開(kāi)機(jī)磁區(qū)。當(dāng)然當(dāng)中的硬體參數(shù)會(huì)隨之更動(dòng)。?
-k?盡量保持原有的開(kāi)機(jī)磁區(qū)。?
-0?第?0?軌的資料傳輸率?
-A?第?0?軌以外的資料傳輸率?
-2?使用?2m?格式?
-1?不使用?2m?格式?
范例:?
mformat?a:?
這樣會(huì)用預(yù)設(shè)值把?a:?(就是?/dev/fd0)里的磁碟片格式化。?
名稱:?mkdosfs?
使用權(quán)限:?所有使用者?
使用方式:?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?]?
說(shuō)明:?建立?DOS?檔案系統(tǒng)。?device?指你想要建立?DOS?檔案系統(tǒng)的裝置代號(hào)。像是?/dev/hda1?等等。?block_count?則是你希望配置的區(qū)塊數(shù)。如果?block_count?沒(méi)有指定則系統(tǒng)會(huì)自動(dòng)替你計(jì)算符合該裝置大小的區(qū)塊數(shù)。?
參數(shù):?
-c?建立檔案系統(tǒng)之前先檢查是否有壞軌。?
-l?從得定的檔案中讀取壞軌記錄。?
-f?指定檔案配置表(FAT?,?File?Allocation?Table)的數(shù)量。預(yù)設(shè)值為?2?。目前?Linux?的?FAT?檔案系統(tǒng)不支援超過(guò)?2?個(gè)?FAT?表。通常這個(gè)不需要改。?
-F?指定?FAT?表的大小,通常是?12?或是?16?個(gè)位元組。12?位元組通常用于磁碟片,16?位元組用于一般硬碟的分割區(qū),也就是所謂的?FAT16?格式。這個(gè)值通常系統(tǒng)會(huì)自己選定適當(dāng)?shù)闹怠T诖诺嫌?FAT16?通常不會(huì)發(fā)生作用,反之在硬碟上用?FAT12?亦然。?
-i?指定?Volume?ID。一般是一個(gè)?4?個(gè)位元組的數(shù)字,像是?2e203a47?。如果不給系統(tǒng)會(huì)自己產(chǎn)生。?
-m?當(dāng)使用者試圖用這片磁片或是分割區(qū)開(kāi)機(jī),而上面沒(méi)有作業(yè)系統(tǒng)時(shí),系統(tǒng)會(huì)給使用者一段警告訊息。這個(gè)參數(shù)就是用來(lái)變更這個(gè)訊息的。你可以先用檔案編輯好,然后用這個(gè)參數(shù)指定,或是用?
-m?-?
這樣系統(tǒng)會(huì)要求你直接輸入這段文字。要特別注意的是,檔案里的字串長(zhǎng)度不要超過(guò)?418?個(gè)字,包括展開(kāi)的跳欄符號(hào)(TAB)和換行符號(hào)(換行符號(hào)在?DOS?底下算兩個(gè)字元!)?
-n?指定?Volume?Name,就是磁碟標(biāo)簽。如同在?DOS?底下的?format?指令一樣,給不給都可以。沒(méi)有預(yù)設(shè)值。?
-r?指定根目錄底下的最大檔案數(shù)。這里所謂的檔案數(shù)包括目錄。預(yù)設(shè)值是在軟碟上是?112?或是?224?,在硬碟上是?512。沒(méi)事不要改這個(gè)數(shù)字。?
-s?每一個(gè)磁叢(cluster)的磁區(qū)數(shù)。必須是?2?的次方數(shù)。不過(guò)除非你知道你在作什么,這個(gè)值不要亂給。?
-v?提供額外的訊息
范例:?
mkdosfs?-n?Tester?/dev/fd0?將?A?槽里的磁碟片格式化為?DOS?格式,并將標(biāo)簽設(shè)為?Tester
總結(jié)
以上是生活随笔為你收集整理的LINUX学习第一周的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: win10环境下适应pip安装autob
- 下一篇: python socket自动重连_py