LINUX学习第一周
Linux?系統命令及其使用詳
cat?cd?
chmod?chown?
cp?cut
名稱: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?
名稱: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?
效果相同?
若用chmod?4755?filename可使此程式具有root的權限?
指令名稱: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?*?
名稱:cp?
使用權限:所有使用者?
使用方式:?
cp?[options]?source?dest?
cp?[options]?source...?directory?
說明:將一個檔案拷貝至另一檔案,或將數個檔案拷貝至另一目錄。
把計:?
-a?盡可能將檔案狀態,權限等資料都照原狀予以復制。?
-r?若?source?中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地。?
-f?若目的地已經有相同檔名的檔案存在,則在復制前先予以刪除再行復制。?
范例:?
將檔案?aaa?復制(已存在),并命名為?bbb:
cp?aaa?bbb?
將所有的C語言程式拷貝至?Finished?子目錄中:
cp?*.c?Finished?
名稱:cut?
使用權限:所有使用者?
用法:cut?-cnum1-num2?filename?
說明:顯示每行從開頭算起?num1?到?num2?的文字。?
范例:?
shell>>?cat?example?
test2?
this?is?test1?
shell>>?cut?-c0-6?example?##?print?開頭算起前?6?個字元?
test2?
this?i?
用法:find?
使用說明:
將檔案系統內符合?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?的檔案。?
d:?目錄?
c:?字型裝置檔案?
b:?區塊裝置檔案?
p:?具名貯列?
f:?一般檔案?
l:?符號連結?
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?
名稱:less?
使用權限:所有使用者?
使用方式:?
less?[Option]?filename?
說明:?
less?的作用與?more?十分相似,都可以用來瀏覽文字檔案的內容,不同的是?less?允許使用者往回卷動?
以瀏覽已經看過的部份,同時因為?less?并未在一開始就讀入整個檔案,因此在遇上大型檔案的開啟時,會比一般的文書編輯器(如?vi)來的快速。
范例:?
指令名稱: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?
名稱:locate?
使用權限:所有使用者?
使用方式:?locate?[-q]?[-d?]?[--database=]?
locate?[-r?]?[--regexp=]?
locate?[-qv]?[-o?]?[--output=]?
locate?[-e?]?[-f?]?<[-l?]?[-c]?
<[-U?]?[-u]>?
locate?[-Vh]?[--version]?[--help]?
說明:?
locate?讓使用者可以很快速的搜尋檔案系統內是否有指定的檔案。其方法是先建立一個包括系統內所有檔案名稱及路徑的資料庫,之后當尋找時就只需查詢這個資料庫,而不必實際深入檔案系統之中了。在一般的?distribution?之中,資料庫的建立都被放在?contab?中自動執行。
一般使用者在使用時只要用?
#?locate?your_file_name?
的型式就可以了。?參數:?
-u?
-U?
建立資料庫,-u?會由根目錄開始,-U?則可以指定開始的位置。
-e?
將排除在尋找的范圍之外。
-l?
如果?是?1.則啟動安全模式。在安全模式下,使用者不會看到權限無法看到的檔案。這會始速度減慢,因為?locate?必須至實際的檔案系統中取得檔案的權限資料。?
-f?
將特定的檔案系統排除在外,例如我們沒有到理要把?proc?檔案系統中的檔案放在資料庫中。?
-q?
安靜模式,不會顯示任何錯誤訊息。
-n?
至多顯示?個輸出。?
-r?
使用正規運算式?做尋找的條件。?
-o?
指定資料庫存的名稱。?
-d?
指定資料庫的路徑?
-h?
顯示輔助訊息?
-v?
顯示更多的訊息?
-V?
顯示程式的版本訊息?范例:?
locate?chdrv:尋找所有叫?chdrv?的檔案?
locate?-n?100?a.out:尋找所有叫?a.out?的檔案,但最多只顯示?100?個?
locate?-u:建立資料庫?
名稱:ls?
使用權限:所有使用者?
使用方式:ls?[-alrtAFR]?[name...]?
說明:顯示指定工作目錄下之內容(列出目前工作目錄所含之檔案及子目錄)。
-a?顯示所有檔案及目錄?(ls內定將檔案名或目錄名稱開頭為"."的視為隱藏檔,不會列出)?
-l?除檔案名稱外,亦將檔案型態,權限,擁有者,檔案大小等資訊詳細列出?
-r?將檔案以相反次序顯示(原定依英文字母次序)?
-t?將檔案依建立時間之先后次序列出?
-A?同?-a?,但不列出?"."?(目前目錄)?及?".."?(父目錄)?
-F?在列出的檔案名稱后加一符號;例如可執行檔則加?"*",?目錄則加?"/"?
-R?若目錄下有檔案,則以下之檔案亦皆依序列出?
范例:?
列出目前工作目錄下所有名稱是?s?開頭的檔案,愈新的排愈后面:
ls?-ltr?s*?
將?/bin?目錄以下所有目錄及檔案詳細資料列出:
ls?-lR?/bin?
列出目前工作目錄下所有檔案及目錄;目錄于名稱后加?"/",?可執行檔于名稱后加?"*":
ls?-AF?
名稱: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?
名稱: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:
at?5pm?+?2?weeks?/bin/ls?
明天的?17:20?執行?/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?
使用權限:所有使用者?
使用方式:cal?[-mjy]?[month?[year]]?
說明:?
顯示日歷。若只有一個參數,則代表年份(1-9999),顯示該年的年歷。年份必須全部寫出:``cal?89\?將不會是顯示?1989?年的年歷。使用兩個參數,則表示月份及年份。若沒有參數則顯示這個月的月歷。?
1752?年?9?月第?3?日起改用西洋新歷,因這時大部份的國家都采用新歷,有?10?天被去除,所以該月份的月歷有些不同。在此之前為西洋舊歷。?
匡兜:?
-m:以星期一為每周的第一天方式顯示。?
-j:以凱撒歷顯示,即以一月一日起的天數顯示。?
-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:以一月一日起的天數顯示今年的年歷。?
[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?
使用權限:所有使用者?
使用方式:
crontab?[?-u?user?]?filecrontab?[?-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?寄一封信給?alex@domain.name:
0?17?*?*?1-5?mail?-s?"hi"?alex@domain.name?<?/tmp/maildata?
每月每天的午夜?0?點?20?分,?2?點?20?分,?4?點?20?分....執行?echo?"haha"?
20?0-23/2?*?*?*?echo?"haha"?
注意:
當程式在你所指定的時間執行后,系統會寄一封信給你,顯示該程式執行的內容,若是你不希望收到這樣的信,請在每一行空一格之后加上?>?/dev/null?2>&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?中,這樣下次重新開機時系統時間才會持續抱持最新的正確值。
名稱:sleep?
使用權限:所有使用者?
使用方式:sleep?[--help]?[--version]?number[smhd]?
說明:sleep?可以用來將目前動作延遲一段時間?
參數說明:
--help:顯示輔助訊息?
--version:顯示版本編號?
number:時間長度,后面可接?s,m,h?或?d?
其中?s?為秒,m?為?分鐘,h?為小時,d?為日數?
例子:
顯示目前時間后延遲?1?分鐘,之后再次顯示時間:
date;sleep?1m;date?
名稱:?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?
詳細的內容如下:?
Time?Resources?
E?執行指令所花費的時間,格式是:[hour]:minute:second。請注意這個數字并不代表實際的?CPU?時間。?
e?執行指令所花費的時間,單位是秒。請注意這個數字并不代表實際的?CPU?時間。?
S?指令執行時在核心模式(kernel?mode)所花費的時間,單位是秒。?
U?指令執行時在使用者模式(user?mode)所花費的時間,單位是秒。?
P?執行指令時?CPU?的占用比例。其實這個數字就是核心模式加上使用者模式的?CPU?時間除以總時間。?
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。對同一個系統來說這是個常數?
IO?Resources?
F?此程序的主要記憶體頁錯誤發生次數。所謂的主要記憶體頁錯誤是指某一記憶體頁已經置換到置換檔(swap?file)中,而且已經分配給其他程序。此時該頁的內容必須從置換檔里再讀出來。?
R?此程序的次要記憶體頁錯誤發生次數。所謂的次要記憶體頁錯誤是指某一記憶體頁雖然已經置換到置換檔中,但尚未分配給其他程序。此時該頁的內容并未被破壞,不必從置換檔里讀出來?
W?此程序被交換到置換檔的次數?
c?此程序被強迫中斷(像是分配到的?CPU?時間耗盡)的次數?
w?此程序自愿中斷(像是在等待某一個?I/O?執行完畢,像是磁碟讀取等等)的次數?
I?此程序所輸入的檔案數?
O?此程序所輸出的檔案數?
r?此程序所收到的?Socket?Message?
s?此程序所送出的?Socket?Message?
k?此程序所收到的信號?(?Signal?)數量?
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?[-V]?
說明:?uptime?提供使用者下面的資訊,不需其他參數:?
現在的時間?
系統開機運轉到現在經過的時間?
連線的使用者數量?
最近一分鐘,五分鐘和十五分鐘的系統負載?
參數:?-V?顯示版本資訊。?
范例:?uptime?
其結果為:?
10:41am?up?5?days,?10?min,?1?users,?load?average:?0.00,?0.00,?1.99?
名稱: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?
使用權限:?所有使用者?
使用方式:?finger?[options]?user[@address]?
說明:finger?可以讓使用者查詢一些其他使用者的資料。會列出來的資料有:
Login?Name?
User?Name?
Home?directory?
Shell?
Login?status?
mail?status?
.plan?
.project?
.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?
名稱:login?
這個命令都不會就不要干算了!呵呵我也不在這里多費筆墨耽誤大家美好青春了^_^?
名稱:passwd?
使用權限:所有使用者?
使用方式:passwd?[-k]?[-l]?[-u?[-f]]?[-d]?[-S]?[username]?
說明:用來更改使用者的密碼?
參數:?
-k?
-l?
-u?
-f?
-d?關閉使用者的密碼認證功能,?使用者在登入時將可以不用輸入密碼,?只有具備?root?權限的使用者方可使用.?
-S?顯示指定使用者的密碼認證種類,?只有具備?root?權限的使用者方可使用.?
[username]?指定帳號名稱.?
名稱:who?
使用權線:所有使用者都可使用?
使用方式:who?-?[husfV]?[user]?
說明:顯示系統中有那些使用者正在上面,顯示的資料包含了使用者?ID,使用的終端機,從那邊連上來的,上線時間,呆滯時間,CPU?使用量,動作等等。?
把計:
-h:不要顯示標題列?
-u:不要顯示使用者的動作/工作?
-s:使用簡短的格式來顯示?
-f:不要顯示使用者的上線位置?
-V:顯示程式版本?
名稱:/etc/aliases?
使用權限:系統管理者?
使用方式:?請用?newaliases?更新資料庫?
說明:?
sendmail?會使用一個在?/etc/aliases?中的檔案做使用者名稱轉換的動作。當?sendmail?收到一個要送給?xxx?的信時,它會依據?aliases檔的內容送給另一個使用者。這個功能可以創造一個只有在信件系統內才有效的使用者。例如?mailing?list?就會用到這個功能,在?mailinglist?中,我們可能會創造一個叫?redlinux@link.ece.uci.edu?的?mailinglist,但實際上并沒有一個叫?redlinux?的使用者。實際?aliases?檔的內容是將送給這個使用者的信都收給?mailing?list?處理程式負責分送的工作。?
/etc/aliases?是一個文字模式的檔案,sendmail?需要一個二進位格式的?/etc/aliases.db。newaliases?的功能傳是將?/etc/aliases?轉換成一個?sendmail?所能了解的資料庫。范例:?
#?newaliases?
下面命令會做相同的事,?
#?sendmail?-bi?
相關命令:?
mail,?mailq,?newaliases,?sendmail?
”?mail?[返回]?
名稱: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?user1@email.address?
mail?user1@email.address?user2?
將?mail.txt?的內容寄給?user2?同時?cc?給?user1?。如果將這一行指令設成?cronjob?就可以定時將備忘錄寄給系統使用者。?
mail?-s?標題?-c?user1?user2?<?mail.txt?
指令:mesg?
使用權限:所有使用者?
使用方式:mesg?[y|n]?
說明?:?決定是否允許其他人傳訊息到自己的終端機介面?
把計?:?
y:允許訊息傳到終端機介面上。?
n:不允許訊息傳到終端機介面上?。?
如果沒有設定,則訊息傳遞與否則由終端機界面目前狀態而定。?
例子:
改變目前訊息設定,改成不允許訊息傳到終端機介面上:
mesg?n?
與?mesg?相關的指令有:?talk,write,wall。?
名稱:/etc/aliases?
使用權限:系統管理者?
使用方式:?newaliases?
說明:?
sendmail?會使用一個在?/etc/aliases?中的檔案做使用者名稱轉換的動作。當?sendmail?收到一個要送給?xxx?的信時,它會依據?aliases檔的內容送給另一個使用者。這個功能可以創造一個只有在信件系統內才有效的使用者。例如?mailing?list?就會用到這個功能,在?mailinglist?中,我們可能會創造一個叫?redlinux@link.ece.uci.edu?的?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:預備對談的使用者帳號,如果該使用者在其他機器上,則可輸入?person@machine.name?
ttyname:如果使用者同時有兩個以上的?tty?連線,可以自行選擇合適的?tty?傳訊息?
例子.1:
與現在機器上的使用者Rollaend對談,此時?Rollaend?只有一個連線:
talk?Rollaend?
接下來就是等Rollaend回應,若Rollaend接受,則Rollaend輸入?`talk?jzlee`即可開始對談,結束請按?ctrl+c?
例子.2?:與linuxfab.cx上的使用者Rollaend對談,使用pts/2來對談:
talk?Rollaend@linuxfab.cx?pts/2
接下來就是等Rollaend回應,若Rollaend接受,則Rollaend輸入?`talk?jzlee@jzlee.home`即可開始對談,結束請按?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?
接下來就是將訊息打上去,結束請按?ctrl+c?
例子.2?:傳訊息給?Rollaend,Rollaend?的連線有?pts/2,pts/3:
write?Rollaend?pts/2
接下來就是將訊息打上去,結束請按?ctrl+c?
注意:若對方設定?mesg?n,則此時訊席將無法傳給對方?
名稱: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?
名稱: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將?ls?的優先序加?10?并執行?
注意:優先序?(priority)?為作業系統用來決定?CPU?分配的參數,Linux?使用『回合制(round-robin)』的演算法來做?CPU?排程,優先序越高,所可能獲得的?CPU時間就越多。?
名稱: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?使用率?
%MEM:?占用的記憶體使用率?
VSZ:?占用的虛擬記憶體大小?
RSS:?占用的記憶體大小?
TTY:?終端的次要裝置號碼?(minor?device?number?of?tty)?
STAT:?該行程的狀態:?
D:?不可中斷的靜止?(通悸□□縝b進行?I/O?動作)?
R:?正在執行中?
S:?靜止狀態?
T:?暫停執行?
Z:?不存在但暫時無法消除?
W:?沒有足夠的記憶體分頁可分配?
<:?高優先序的行程?
N:?低優先序的行程?
L:?有記憶體分頁分配并鎖在記憶體內?(即時系統或捱A?I/O)?
START:?行程開始時間?
TIME:?執行的時間?
COMMAND:所執行的指令?
范例:?
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?
使用權限:所有使用者?
使用方式:?
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?
....?
名稱: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?
名稱: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?
名稱: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?
指令:clear?
用途:清除螢幕用。?
使用方法:在?console?上輸入?clear。?
名稱:?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;?
名稱: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?
compress?-d?source.dat.Z?
名稱:?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?[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?
--?將一個工作由印表機貯列中移除?用法?
/usr/bin/lprm?[P]?[file...]?
說明?
尚未完成的印表機工作會被放在印表機貯列之中,這個命令可用來將常未送到印表機的工作取消。由于每一個印表機都有一個獨立的貯列,你可以用?-P?這個命令設定想要作用的印列機。如果沒有設定的話,會使用系統預設的印表機。?
這個命令會檢查使用者是否有足夠的權限刪除指定的檔案,一般而言,只有檔案的擁有者或是系統管理員才有這個權限。?
范例?
將印表機?hpprinter?中的第?1123?號工作移除?
lprm?-Phpprinter?1123?
將第?1011?號工作由預設印表機中移除?
lprm?1011?
名稱:?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?的磁片。并且省略確認的步驟。
名稱:?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?image)。當然對一個實體磁碟機下這個參數是沒有意義的。?
-H?隱藏磁區的數目。這通常適用在格式化硬碟的分割區時,因為通常一個分割區的前面還有分割表。這個參數未經測試,能不用就不用。?
-n?磁碟序號?
-r?根目錄的大小,單位是磁區數。這個參數只對?FAT12?和?FAT16?有效。?
-B?使用所指定的檔案或是設備的開機磁區做為這片磁片或分割區的開機磁區。當然當中的硬體參數會隨之更動。?
-k?盡量保持原有的開機磁區。?
-0?第?0?軌的資料傳輸率?
-A?第?0?軌以外的資料傳輸率?
-2?使用?2m?格式?
-1?不使用?2m?格式?
范例:?
mformat?a:?
這樣會用預設值把?a:?(就是?/dev/fd0)里的磁碟片格式化。?
名稱:?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
總結
以上是生活随笔為你收集整理的LINUX学习第一周的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10环境下适应pip安装autob
- 下一篇: 菜鸟教程Linux ps,Linux p