作者:Candace(美),Terry 來(lái)源: 類(lèi)別:軟件使用 添加日期:2002.07.06 今日/總瀏覽: 252/622
名稱(chēng):cat
使用權限:所有使用者
使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName
說(shuō)明:把檔案串連接后傳到基本輸出(螢幕或加 > fileName 到另一個(gè)檔案)
參數:
-n 或 --number 由 1 開(kāi)始對所有輸出的行數編號
-b 或 --number-nonblank 和 -n 相似,只不過(guò)對于空白行不編號
-s 或 --squeeze-blank 當遇到有連續兩行以上的空白行,就代換為一行的空白行
-v 或 --show-nonprinting
范例:
cat -n textfile1 > textfile2 把 textfile1 的檔案內容加上行號后輸入 textfile2 這個(gè)檔案里
cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的檔案內容加上行號(空白行不加)之后將內容附加到 textfile3
名稱(chēng) : cd
使用權限 : 所有使用者
使用方式 : cd [dirName]
說(shuō)明 : 變換工作目錄至 dirName。 其中 dirName 表示法可為絕對路徑或相對路徑。若目錄名稱(chēng)省略,則變換至使用者的 home directory (也就是剛 login 時(shí)所在的目錄)。
另外,"~" 也表示為 home directory 的意思,"." 則是表示目前所在的目錄,".." 則表示目前目錄位置的上一層目錄。
范例 : 跳到 /usr/bin/ :
cd /usr/bin
跳到自己的 home directory :
cd ~
跳到目前目錄的上上兩層 :
cd ../..
指令名稱(chēng) : chmod
使用權限 : 所有使用者
使用方式 : chmod [-cfvR] [--help] [--version] mode file...
說(shuō)明 : Linux/Unix 的檔案存取權限分為三級 : 檔案擁有者、群組、其他。利用 chmod 可以藉以控制檔案如何被他人所存取。
把計 :
mode : 權限設定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬于同一個(gè)群體(group)者,o 表示其他以外的人,a 表示這三者皆是。
+ 表示增加權限、- 表示取消權限、= 表示唯一設定權限。
r 表示可讀取,w 表示可寫(xiě)入,x 表示可執行,X(qián) 表示只有當該檔案是個(gè)子目錄或者該檔案已經(jīng)被設定過(guò)為可執行。
-c : 若該檔案權限確實(shí)已經(jīng)更改,才顯示其更改動(dòng)作
-f : 若該檔案權限無(wú)法被更改也不要顯示錯誤訊息
-v : 顯示權限變更的詳細資料
-R : 對目前目錄下的所有檔案與子目錄進(jìn)行相同的權限變更(即以遞回的方式逐個(gè)變更)
--help : 顯示輔助說(shuō)明
--version : 顯示版本
范例 :將檔案 file1.txt 設為所有人皆可讀取 :
chmod ugo+r file1.txt
將檔案 file1.txt 設為所有人皆可讀取 :
chmod a+r file1.txt
將檔案 file1.txt 與 file2.txt 設為該檔案擁有者,與其所屬同一個(gè)群體者可寫(xiě)入,但其他以外的人則不可寫(xiě)入 :
chmod ug+w,o-w file1.txt file2.txt
將 ex1.py 設定為只有該檔案擁有者可以執行 :
chmod u+x ex1.py
將目前目錄下的所有檔案與子目錄皆設為任何人可讀取 :
chmod -R a+r *
此外chmod也可以用數字來(lái)表示權限如 chmod 777 file
語(yǔ)法為:chmod abc file
其中a,b,c各為一個(gè)數字,分別表示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的權限
指令名稱(chēng) : chown
使用權限 : root
使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file...
說(shuō)明 : Linux/Unix 是多人多工作業(yè)系統,所有的檔案皆有擁有者。利用 chown 可以將檔案的擁有者加以改變。一般來(lái)說(shuō),這個(gè)指令只有是由系統管理者(root)所使用,一般使用者沒(méi)有權限可以改變別人的檔案擁有者,也沒(méi)有權限可以自己的檔案擁有者改設為別人。只有系統管理者(root)才有這樣的權限。
把計 :
user : 新的檔案擁有者的使用者 IDgroup : 新的檔案擁有者的使用者群體(group)-c : 若該檔案擁有者確實(shí)已經(jīng)更改,才顯示其更改動(dòng)作-f : 若該檔案擁有者無(wú)法被更改也不要顯示錯誤訊息-h : 只對于連結(link)進(jìn)行變更,而非該 link 真正指向的檔案-v : 顯示擁有者變更的詳細資料-R : 對目前目錄下的所有檔案與子目錄進(jìn)行相同的擁有者變更(即以遞回的方式逐個(gè)變更)--help : 顯示輔助說(shuō)明--version : 顯示版本
范例 :
將檔案 file1.txt 的擁有者設為 users 群體的使用者 jessie :
chown jessie:users file1.txt
將目前目錄下的所有檔案與子目錄的擁有者皆設為 users 群體的使用者 lamport :
chmod -R lamport:users *
名稱(chēng):cp
使用權限:所有使用者
使用方式:
cp [options] source dest
cp [options] source... directory
說(shuō)明:將一個(gè)檔案拷貝至另一檔案,或將數個(gè)檔案拷貝至另一目錄。
把計
-a 盡可能將檔案狀態(tài)、權限等資料都照原狀予以復制。
-r 若 source 中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地。
-f 若目的地已經(jīng)有相同檔名的檔案存在,則在復制前先予以刪除再行復制。
范例:
將檔案 aaa 復制(已存在),并命名為 bbb :
cp aaa bbb
將所有的C語(yǔ)言程式拷貝至 Finished 子目錄中 :
cp *.c Finished
名稱(chēng):cut
使用權限:所有使用者
用法: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
名稱(chēng) : find
用法 : find
使用說(shuō)明 :
將檔案系統內符合 expression 的檔案列出來(lái)。你可以指要檔案的名稱(chēng)、類(lèi)別、時(shí)間、大小、權限等不同資訊的組合,只有完全相符的才會(huì )被列出來(lái)。
find 根據下列規則判斷 path 和 expression,在命令列上第一個(gè) - ( ) , ! 之前的部份為 path,之后的是 expression。如果 path 是空字串則使用目前路徑,如果 expression 是空字串則使用 -print 為預設 expression
expression 中可使用的選項有二三十個(gè)之多,在此只介紹最常用的部份。
-mount, -xdev : 只檢查和指定目錄在同一個(gè)檔案系統下的檔案,避免列出其它檔案系統中的檔案
-amin n : 在過(guò)去 n 分鐘內被讀取過(guò)
-anewer file : 比檔案 file 更晚被讀取過(guò)的檔案
-atime n : 在過(guò)去 n 天過(guò)讀取過(guò)的檔案
-cmin n : 在過(guò)去 n 分鐘內被修改過(guò)
-cnewer file :比檔案 file 更新的檔案
-ctime n : 在過(guò)去 n 天過(guò)修改過(guò)的檔案
-empty : 空的檔案-gid n or -group name : gid 是 n 或是 group 名稱(chēng)是 name
-ipath p, -path p : 路徑名稱(chēng)符合 p 的檔案,ipath 會(huì )忽略大小寫(xiě)
-name name, -iname name : 檔案名稱(chēng)符合 name 的檔案。iname 會(huì )忽略大小寫(xiě)
-size n : 檔案大小 是 n 單位,b 代表 512 位元組的區塊,c 表示字元數,k 表示 kilo bytes,w 是二個(gè)位元組。-type c : 檔案類(lèi)型是 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 的檔案列出來(lái)。
# find . -name "*.c"
將目前目錄其其下子目錄中所有一般檔案列出
# find . -ftype f
將目前目錄及其子目錄下所有最近 20 分鐘內更新過(guò)的檔案列出
# find . -ctime -20
名稱(chēng):less
使用權限:所有使用者
使用方式:
less [Option] filename
說(shuō)明:
less 的作用與 more 十分相似,都可以用來(lái)瀏覽文字檔案的內容,不同的是 less 允許使用者往回卷動(dòng)
以瀏覽已經(jīng)看過(guò)的部份,同時(shí)因為 less 并未在一開(kāi)始就讀入整個(gè)檔案,因此在遇上大型檔案的開(kāi)啟時(shí),會(huì )比一般的文書(shū)編輯器(如 vi)來(lái)的快速。
范例:
指令名稱(chēng) : ln
使用權限 : 所有使用者
使用方式 : ln [options] source dist,其中 option 的格式為 :
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
[--help] [--version] [--]
說(shuō)明 : Linux/Unix 檔案系統中,有所謂的連結(link),我們可以將其視為檔案的別名,而連結又可分為兩種 : 硬連結(hard link)與軟連結(symbolic link),硬連結的意思是一個(gè)檔案可以有多個(gè)名稱(chēng),而軟連結的方式則是產(chǎn)生一個(gè)特殊的檔案,該檔案的內容是指向另一個(gè)檔案的位置。硬連結是存在同一個(gè)檔案系統中,而軟連結卻可以跨越不同的檔案系統。
ln source dist 是產(chǎn)生一個(gè)連結(dist)到 source,至于使用硬連結或軟鏈結則由參數決定。
不論是硬連結或軟鏈結都不會(huì )將原本的檔案復制一份,只會(huì )占用非常少量的磁碟空間。
-f : 鏈結時(shí)先將與 dist 同檔名的檔案刪除-d : 允許系統管理者硬鏈結自己的目錄-i : 在刪除與 dist 同檔名的檔案時(shí)先進(jìn)行詢(xún)問(wèn)-n : 在進(jìn)行軟連結時(shí),將 dist 視為一般的檔案-s : 進(jìn)行軟鏈結(symbolic link)-v : 在連結之前顯示其檔名-b : 將在鏈結時(shí)會(huì )被覆寫(xiě)或刪除的檔案進(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
名稱(chēng):locate
使用權限:所有使用者
使用方式: locate [-q] [-d ] [--database=]
locate [-r ] [--regexp=]
locate [-qv] [-o ] [--output=]
locate [-e ] [-f ] <[-l ] [-c]
<[-U ] [-u]>
locate [-Vh] [--version] [--help]
說(shuō)明:
locate 讓使用者可以很快速的搜尋檔案系統內是否有指定的檔案。其方法是先建立一個(gè)包括系統內所有檔案名稱(chēng)及路徑的資料庫,之后當尋找時(shí)就只需查詢(xún)這個(gè)資料庫,而不必實(shí)際深入檔案系統之中了。
在一般的 distribution 之中,資料庫的建立都被放在 contab 中自動(dòng)執行。一般使用者在使用時(shí)只要用
# locate your_file_name
的型式就可以了。 參數:
-u
-U
建立資料庫,-u 會(huì )由根目錄開(kāi)始,-U 則可以指定開(kāi)始的位置。
-e
將
排除在尋找的范圍之外。
-l
如果 是 1.則啟動(dòng)安全模式。在安全模式下,使用者不會(huì )看到權限無(wú)法看到的檔案。這會(huì )始速度減慢,因為 locate 必須至實(shí)際的檔案系統中取得檔案的權限資料。
-f
將特定的檔案系統排除在外,例如我們沒(méi)有到理要把 proc 檔案系統中的檔案放在資料庫中。
-q
安靜模式,不會(huì )顯示任何錯誤訊息。
-n
至多顯示 個(gè)輸出。
-r
使用正規運算式 做尋找的條件。
-o
指定資料庫存的名稱(chēng)。
-d
指定資料庫的路徑
-h
顯示輔助訊息
-v
顯示更多的訊息
-V
顯示程式的版本訊息 范例:
locate chdrv : 尋找所有叫 chdrv 的檔案
locate -n 100 a.out : 尋找所有叫 a.out 的檔案,但最多只顯示 100 個(gè)
locate -u : 建立資料庫
名稱(chēng) : ls
使用權限 : 所有使用者
使用方式 : ls [-alrtAFR] [name...]
說(shuō)明 : 顯示指定工作目錄下之內容(列出目前工作目錄所含之檔案及子目錄)。
-a 顯示所有檔案及目錄 (ls內定將檔案名或目錄名稱(chēng)開(kāi)頭為"."的視為隱藏檔,不會(huì )列出)
-l 除檔案名稱(chēng)外,亦將檔案型態(tài)、權限、擁有者、檔案大小等資訊詳細列出
-r 將檔案以相反次序顯示(原定依英文字母次序)
-t 將檔案依建立時(shí)間之先后次序列出
-A 同 -a ,但不列出 "." (目前目錄) 及 ".." (父目錄)
-F 在列出的檔案名稱(chēng)后加一符號;例如可執行檔則加 "*", 目錄則加 "/"
-R 若目錄下有檔案,則以下之檔案亦皆依序列出
范例:
列出目前工作目錄下所有名稱(chēng)是 s 開(kāi)頭的檔案,愈新的排愈后面 :
ls -ltr s*
將 /bin 目錄以下所有目錄及檔案詳細資料列出 :
ls -lR /bin
列出目前工作目錄下所有檔案及目錄;目錄于名稱(chēng)后加 "/", 可執行檔于名稱(chēng)后加 "*" :
ls -AF
名稱(chēng):more
使用權限:所有使用者
使用方式:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
說(shuō)明:類(lèi)似 cat ,不過(guò)會(huì )以一頁(yè)一頁(yè)的顯示方便使用者逐頁(yè)閱讀,而最基本的指令就是按空白鍵(space)就往下一頁(yè)顯示,按 b 鍵就會(huì )往回(back)一頁(yè)顯示,而且還有搜尋字串的功能(與 vi 相似),使用中的說(shuō)明文件,請按 h 。
參數:-num 一次顯示的行數
-d 提示使用者,在畫(huà)面下方顯示 [Press space to continue, q to quit.] ,如果使用者按錯鍵,則會(huì )顯示 [Press h for instructions.] 而不是 嗶 聲
-l 取消遇見(jiàn)特殊字元 ^L(送紙字元)時(shí)會(huì )暫停的功能
-f 計算行數時(shí),以實(shí)際上的行數,而非自動(dòng)換行過(guò)后的行數(有些單行字數太長(cháng)的會(huì )被擴展為兩行或兩行以上)
-p 不以卷動(dòng)的方式顯示每一頁(yè),而是先清除螢幕后再顯示內容
-c 跟 -p 相似,不同的是先顯示內容再清除其他舊資料
-s 當遇到有連續兩行以上的空白行,就代換為一行的空白行
-u 不顯示下引號 (根據環(huán)境變數 TERM 指定的 terminal 而有所不同)
+/ 在每個(gè)檔案顯示前搜尋該字串(pattern),然后從該字串之后開(kāi)始顯示
+num 從第 num 行開(kāi)始顯示
fileNames 欲顯示內容的檔案,可為復數個(gè)數
范例:
more -s testfile 逐頁(yè)顯示 testfile 之檔案內容,如有連續兩行以上空白行則以一行空白行顯示。
more +20 testfile 從第 20 行開(kāi)始顯示 testfile 之檔案內容。
名稱(chēng):mv
使用權限:所有使用者
使用方式:
mv [options] source dest
mv [options] source... directory
說(shuō)明:將一個(gè)檔案移至另一檔案,或將數個(gè)檔案移至另一目錄。
參數:-i 若目的地已有同名檔案,則先詢(xún)問(wèn)是否覆蓋舊檔。
范例:
將檔案 aaa 更名為 bbb :
mv aaa bbb
將所有的C語(yǔ)言程式移至 Finished 子目錄中 :
mv -i *.c
名稱(chēng):rm
使用權限:所有使用者
使用方式:rm [options] name...
說(shuō)明:刪除檔案及目錄。
把計
-i 刪除前逐一詢(xún)問(wèn)確認。
-f 即使原檔案屬性設為唯讀,亦直接刪除,無(wú)需逐一確認。
-r 將目錄及以下之檔案亦逐一刪除。
范例:
刪除所有C語(yǔ)言程式檔;刪除前逐一詢(xún)問(wèn)確認 :
rm -i *.c
將 Finished 子目錄及子目錄中所有檔案刪除 :
rm -r Finished
名稱(chēng):rmdir
使用權限:于目前目錄有適當權限的所有使用者
使用方式: rmdir [-p] dirName
說(shuō)明: 刪除空的目錄。
參數: -p 是當子目錄被刪除后使它也成為空目錄的話(huà),則順便一并刪除。
范例:
將工作目錄下,名為 AAA 的子目錄刪除 :
rmdir AAA
在工作目錄下的 BBB 目錄中,刪除名為 Test 的子目錄。若 Test 刪除后,BBB 目錄成為空目錄,則 BBB 亦予刪除。
rmdir -p BBB/Test
名稱(chēng):split
使用權限:所有使用者
使用方式:split [OPTION] [INPUT [PREFIX]]
說(shuō)明:
將一個(gè)檔案分割成數個(gè)。而從 INPUT 分割輸出成固定大小的檔案,其檔名依序為 PREFIXaa, PREFIXab...;PREFIX 預設值為 ****x。若沒(méi)有 INPUT 檔或為 ****-,則從標準輸入讀進(jìn)資料。
匡兜
-b, --bytes=SIZE
SIZE 值為每一輸出檔案的大小,單位為 byte。
-C, --line-bytes=SIZE
每一輸出檔中,單行的最大 byte 數。
-l, --lines=NUMBER
NUMBER 值為每一輸出檔的列數大小。
-NUMBER
與 -l NUMBER 相同。
--verbose
于每個(gè)輸出檔被開(kāi)啟前,列印出偵錯資訊到標準錯誤輸出。
--help
顯示輔助資訊然后離開(kāi)。
--version
列出版本資訊然后離開(kāi)。
SIZE 可加入單位: b 代表 512, k 代表 1K, m 代表 1 Meg。
范例:
PostgresSQL 大型資料庫備份與回存:
因 Postgres 允許表格大過(guò)你系統檔案的最大容量,所以要將表格 dump 到單一的檔案可能會(huì )有問(wèn)題,使用 split進(jìn)行檔案分割。
% pg_dump dbname | split -b 1m - filename.dump.
重新載入
% createdb dbname
% cat filename.dump.* | pgsql dbname
名稱(chēng):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 ...]
說(shuō)明:
touch 指令改變檔案的時(shí)間記錄。 ls -l 可以顯示檔案的時(shí)間記錄。
參數:
a 改變檔案的讀取時(shí)間記錄。
m 改變檔案的修改時(shí)間記錄。
c 假如目的檔案不存在,不會(huì )建立新的檔案。與 --no-create 的效果一樣。
f 不使用,是為了與其他 unix 系統的相容性而保留。
r 使用參考檔的時(shí)間記錄,與 --file 的效果一樣。
d 設定時(shí)間與日期,可以使用各種不同的格式。
t 設定檔案的時(shí)間記錄,格式與 date 指令相同。
--no-create 不會(huì )建立新檔案。
--help 列出指令格式。
--version 列出版本訊息。
范例:
最簡(jiǎn)單的使用方式,將檔案的時(shí)候記錄改為現在的時(shí)間。若檔案不存在,系統會(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
名稱(chēng) : at
使用權限 : 所有使用者
使用方式 : at -V [-q queue] [-f file] [-mldbv] TIME
說(shuō)明 : at 可以讓使用者指定在 TIME 這個(gè)特定時(shí)刻執行某個(gè)程式或指令,TIME 的格式是 HH:MM其中的 HH 為小時(shí),MM 為分鐘,甚至你也可以指定 am, pm, midnight, noon, teatime(就是下午 4 點(diǎn)鍾)等口語(yǔ)詞。
如果想要指定超過(guò)一天內的時(shí)間,則可以用 MMDDYY 或者 MM/DD/YY 的格式,其中 MM 是分鐘,DD 是第幾日,YY 是指年份。另外,使用者甚至也可以使用像是 now + 時(shí)間間隔來(lái)彈性指定時(shí)間,其中的時(shí)間間隔可以是 minutes, hours, days, weeks
另外,使用者也可指定 today 或 tomorrow 來(lái)表示今天或明天。當指定了時(shí)間并按下 enter 之后,at 會(huì )進(jìn)入交談模式并要求輸入指令或程式,當你輸入完后按下 ctrl+D 即可完成所有動(dòng)作,至于執行的結果將會(huì )寄回你的帳號中。
把計 :
-V : 印出版本編號
-q : 使用指定的佇列(Queue)來(lái)儲存,at 的資料是存放在所謂的 queue 中,使用者可以同時(shí)使用多個(gè) queue,而 queue 的編號為 a, b, c... z 以及 A, B, ... Z 共 52 個(gè)
-m : 即使程式/指令執行完成后沒(méi)有輸出結果, 也要寄封信給使用者
-f file : 讀入預先寫(xiě)好的命令檔。使用者不一定要使用交談模式來(lái)輸入,可以先將所有的指定先寫(xiě)入檔案后再一次讀入
-l : 列出所有的指定 (使用者也可以直接使用 atq 而不用 at -l)
-d : 刪除指定 (使用者也可以直接使用 atrm 而不用 at -d)
-v : 列出所有已經(jīng)完成但尚未刪除的指定
例子 :
三天后的下午 5 點(diǎn)鍾執行 /bin/ls :
at 5pm + 3 days /bin/ls
三個(gè)星期后的下午 5 點(diǎn)鍾執行 /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 !
名稱(chēng):cal
使用權限:所有使用者
使用方式:cal [-mjy] [month [year]]
說(shuō)明:
顯示日歷。若只有一個(gè)參數,則代表年份(1-9999),顯示該年的年歷。年份必須全部寫(xiě)出:********cal 89 將不會(huì )是顯示 1989 年的年歷。使用兩個(gè)參數,則表示月份及年份。若沒(méi)有參數則顯示這個(gè)月的月歷。
1752 年 9 月第 3 日起改用西洋新歷,因這時(shí)大部份的國家都采用新歷,有 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]#
名稱(chēng) : crontab
使用權限 : 所有使用者
使用方式 :
crontab [ -u user ] filecrontab [ -u user ] { -l | -r | -e }
說(shuō)明 :
crontab 是用來(lái)讓使用者在固定時(shí)間或固定間隔執行程式之用,換句話(huà)說(shuō),也就是類(lèi)似使用者的時(shí)程表。-u user 是指設定指定 user 的時(shí)程表,這個(gè)前提是你必須要有其權限(比如說(shuō)是 root)才能夠指定他人的時(shí)程表。如果不使用 -u user 的話(huà),就是表示設定自己的時(shí)程表。
餐數 :
-e : 執行文字編輯器來(lái)設定時(shí)程表,內定的文字編輯器是 VI,如果你想用別的文字編輯器,則請先設定 VISUAL 環(huán)境變數來(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 表示要執行的程式。
當 f1 為 * 時(shí)表示每分鐘都要執行 program,f2 為 * 時(shí)表示每小時(shí)都要執行程式,其余類(lèi)推
當 f1 為 a-b 時(shí)表示從第 a 分鐘到第 b 分鐘這段時(shí)間內要執行,f2 為 a-b 時(shí)表示從第 a 到第 b 小時(shí)都要執行,其余類(lèi)推
當 f1 為 */n 時(shí)表示每 n 分鐘個(gè)時(shí)間間隔執行一次,f2 為 */n 表示每 n 小時(shí)個(gè)時(shí)間間隔執行一次,其余類(lèi)推
當 f1 為 a, b, c,... 時(shí)表示第 a, b, c,... 分鐘要執行,f2 為 a, b, c,... 時(shí)表示第 a, b, c...個(gè)小時(shí)要執行,其余類(lèi)推
使用者也可以將所有的設定先存放在檔案 file 中,用 crontab file 的方式來(lái)設定時(shí)程表。
例子 :
每月每天每小時(shí)的第 0 分鐘執行一次 /bin/ls :
0 7 * * * /bin/ls
在 12 月內, 每天的早上 6 點(diǎn)到 12 點(diǎn)中,每隔 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 點(diǎn) 20 分, 2 點(diǎn) 20 分, 4 點(diǎn) 20 分....執行 echo "haha"
20 0-23/2 * * * echo "haha"
注意 :
當程式在你所指定的時(shí)間執行后,系統會(huì )寄 給你,顯示該程式執行的內容,若是你不希望收到這樣的信,請在每一行空一格之后加上 > /dev/null 2>&1 即可。
名稱(chēng) : date
使用權限 : 所有使用者
使用方式 :
date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]
說(shuō)明 :
date 可以用來(lái)顯示或設定系統的日期與時(shí)間,在顯示方面,使用者可以設定欲顯示的格式,格式設定為一個(gè)加號后接數個(gè)標記,其中可用的標記列表如下 :
時(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:mmscreen.width-300)this.width=screen.width-300'>s [AP]M)
%s : 從 1970 年 1 月 1 日 00:00:00 UTC 到目前為止的秒數
%S : 秒(00..61)
%T : 直接顯示時(shí)間 (24 小時(shí)制)
%X : 相當于 %H:%M:%S
%Z : 顯示時(shí)區
日期方面 :
%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 : 年份的最后兩位數字 (00.99)
%Y : 完整年份 (0000..9999)
若是不以加號作為開(kāi)頭,則表示要設定時(shí)間,而時(shí)間格式為 MMDDhhmm[[CC]YY][.ss],其中 MM 為月份,DD 為日,hh 為小時(shí),mm 為分鐘,CC 為年份前兩位數字,YY 為年份后兩位數字,ss 為秒數
把計 :
-d datestr : 顯示 datestr 中所設定的時(shí)間 (非系統時(shí)間)
--help : 顯示輔助訊息
-s datestr : 將系統時(shí)間設為 datestr 中所設定的時(shí)間
-u : 顯示目前的格林威治時(shí)間
--version : 顯示版本編號
例子 :
顯示時(shí)間后跳行,再顯示目前日期 :
date +%T%n%D
顯示月份與日數 :
date +%B %d
顯示日期與設定時(shí)間(12:34:56) :
date --date 12:34:56
注意 :
當你不希望出現無(wú)意義的 0 時(shí)(比如說(shuō) 1999/03/07),則可以在標記中插入 - 符號,比如說(shuō) date +%-H:%-M:%-S 會(huì )把時(shí)分秒中無(wú)意義的 0 給去掉,像是原本的 08:09:04 會(huì )變?yōu)?8:9:4。另外,只有取得權限者(比如說(shuō) root)才能設定系統時(shí)間。
當你以 root 身分更改了系統時(shí)間之后,請記得以 clock -w 來(lái)將系統時(shí)間寫(xiě)入 CMOS 中,這樣下次重新開(kāi)機時(shí)系統時(shí)間才會(huì )持續抱持最新的正確值。
名稱(chēng) : sleep
使用權限 : 所有使用者
使用方式 : sleep [--help] [--version] number[smhd]
說(shuō)明 : sleep 可以用來(lái)將目前動(dòng)作延遲一段時(shí)間
參數說(shuō)明 :
--help : 顯示輔助訊息
--version : 顯示版本編號
number : 時(shí)間長(cháng)度,后面可接 s、m、h 或 d
其中 s 為秒,m 為 分鐘,h 為小時(shí),d 為日數
例子 :
顯示目前時(shí)間后延遲 1 分鐘,之后再次顯示時(shí)間 :
date;sleep 1m;date
名稱(chēng): time
使用權限: 所有使用者
使用方式: time [options] COMMAND [arguments]
說(shuō)明: time 指令的用途,在于量測特定指令執行時(shí)所需消耗的時(shí)間及系統資源等資訊。例如 CPU 時(shí)間、記憶體、輸入輸出等等。需要特別注意的是,部分資訊在 Linux 上顯示不出來(lái)。這是因為在 Linux 上部分資源的分配函式與 time 指令所預設的方式并不相同,以致于 time 指令無(wú)法取得這些資料。
把計
-o or --output=FILE
設定結果輸出檔。這個(gè)選項會(huì )將 time 的輸出寫(xiě)入 所指定的檔案中。如果檔案已經(jīng)存在,系統將覆寫(xiě)其內容。
-a or --append
配合 -o 使用,會(huì )將結果寫(xiě)到檔案的末端,而不會(huì )覆蓋掉原來(lái)的內容。
-f FORMAT or --format=FORMAT
以 FORMAT 字串設定顯示方式。當這個(gè)選項沒(méi)有被設定的時(shí)候,會(huì )用系統預設的格式。不過(guò)你可以用環(huán)境變數 time 來(lái)設定這個(gè)格式,如此一來(lái)就不必每次登入系統都要設定一次。
一般設定上,你可以用
t
表示跳欄,或者是用
n
表示換行。每一項資料要用 % 做為前導。如果要在字串中使用百分比符號,就用 。(學(xué)過(guò) C 語(yǔ)言的人大概會(huì )覺(jué)得很熟悉)
time 指令可以顯示的資源有四大項,分別是:
Time resources
Memory resources
IO resources
Command info
詳細的內容如下:
Time Resources
E 執行指令所花費的時(shí)間,格式是:[hour]:minutescreen.width-300)this.width=screen.width-300'>econd。請注意這個(gè)數字并不代表實(shí)際的 CPU 時(shí)間。
e 執行指令所花費的時(shí)間,單位是秒。請注意這個(gè)數字并不代表實(shí)際的 CPU 時(shí)間。
S 指令執行時(shí)在核心模式(kernel mode)所花費的時(shí)間,單位是秒。
U 指令執行時(shí)在使用者模式(user mode)所花費的時(shí)間,單位是秒。
P 執行指令時(shí) CPU 的占用比例。其實(shí)這個(gè)數字就是核心模式加上使用者模式的 CPU 時(shí)間除以總時(shí)間。
Memory Resources
M 執行時(shí)所占用的實(shí)體記憶體的最大值。單位是 KB
t 執行時(shí)所占用的實(shí)體記憶體的平均值,單位是 KB
K 執行程序所占用的記憶體總量(stack+data+text)的平均大小,單位是 KB
D 執行程序的自有資料區(unshared data area)的平均大小,單位是 KB
p 執行程序的自有堆疊(unshared stack)的平均大小,單位是 KB
X 執行程序間共享內容(shared text)的平均值,單位是 KB
Z 系統記憶體頁(yè)的大小,單位是 byte。對同一個(gè)系統來(lái)說(shuō)這是個(gè)常數
IO Resources
F 此程序的主要記憶體頁(yè)錯誤發(fā)生次數。所謂的主要記憶體頁(yè)錯誤是指某一記憶體頁(yè)已經(jīng)置換到置換檔(swap file)中,而且已經(jīng)分配給其他程序。此時(shí)該頁(yè)的內容必須從置換檔里再讀出來(lái)。
R 此程序的次要記憶體頁(yè)錯誤發(fā)生次數。所謂的次要記憶體頁(yè)錯誤是指某一記憶體頁(yè)雖然已經(jīng)置換到置換檔中,但尚未分配給其他程序。此時(shí)該頁(yè)的內容并未被破壞,不必從置換檔里讀出來(lái)
W 此程序被交換到置換檔的次數
c 此程序被強迫中斷(像是分配到的 CPU 時(shí)間耗盡)的次數
w 此程序自愿中斷(像是在等待某一個(gè) I/O 執行完畢,像是磁碟讀取等等)的次數
I 此程序所輸入的檔案數
O 此程序所輸出的檔案數
r 此程序所收到的 Socket Message
s 此程序所送出的 Socket Message
k 此程序所收到的信號 ( Signal )數量
Command Info
C 執行時(shí)的參數以及指令名稱(chēng)
x 指令的結束代碼 ( Exit Status )
-p or --portability
這個(gè)選項會(huì )自動(dòng)把顯示格式設定成為:
real %e
user %U
sys %S
這么做的目的是為了與 POSIX 規格相容。
-v or --verbose
這個(gè)選項會(huì )把所有程式中用到的資源通通列出來(lái),不但如一般英文語(yǔ)句,還有說(shuō)明。對不想花時(shí)間去熟習格式設定或是剛剛開(kāi)始接觸這個(gè)指令的人相當有用。
范例:
利用下面的指令
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:mmscreen.width-300)this.width=screen.width-300'>s or mscreen.width-300)this.width=screen.width-300'>s): 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
名稱(chēng): uptime
使用權限: 所有使用者
使用方式: uptime [-V]
說(shuō)明: uptime 提供使用者下面的資訊,不需其他參數:
現在的時(shí)間
系統開(kāi)機運轉到現在經(jīng)過(guò)的時(shí)間
連線(xiàn)的使用者數量
最近一分鐘,五分鐘和十五分鐘的系統負載
參數: -V 顯示版本資訊。
范例: uptime
其結果為:
10:41am up 5 days, 10 min, 1 users, load average: 0.00, 0.00, 1.99
名稱(chēng):chfn
使用權限:所有使用者
用法: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]
名稱(chēng):chsh
使用權限:所有使用者
用法:shell>> chsh
說(shuō)明:更改使用者 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 [返回]
名稱(chēng): finger
使用權限: 所有使用者
使用方式: finger [options] user[@address]
說(shuō)明:finger 可以讓使用者查詢(xún)一些其他使用者的資料。會(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 指令并不限定于在同一伺服器上查詢(xún),也可以尋找某一個(gè)遠端伺服器上的使用者。只要給一個(gè)像是 E-mail address 一般的地址即可。
把計
-l
多行顯示。
-s
單行顯示。這個(gè)選項只顯示登入名稱(chēng),真實(shí)姓名,終端機名稱(chēng),閑置時(shí)間,登入時(shí)間,辦公室號碼及電話(huà)號碼。如果所查詢(xún)的使用者是遠端伺服器的使用者,這個(gè)選項無(wú)效。
范例:下列指令可以查詢(xún)本機管理員的資料:
finger root
其結果如下:
Login: root Name: root
Directory: /root Shell: /bin/bash
Never logged in.
No mail.
No Plan.
名稱(chēng):last
使用權限:所有使用者
使用方式:shell>> last [options]
說(shuō)明:顯示系統開(kāi)機以來(lái)獲是從每月初登入者的訊息
把計
-R 省略 hostname 的欄位
-num 展示前 num 個(gè)
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
名稱(chēng):login
這個(gè)命令都不會(huì )就不要干算了!呵呵我也不在這里多費筆墨耽誤大家美好青春了^_^
名稱(chēng):passwd
使用權限:所有使用者
使用方式:passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]
說(shuō)明:用來(lái)更改使用者的密碼
參數:
-k
-l
-u
-f
-d 關(guān)閉使用者的密碼認證功能, 使用者在登入時(shí)將可以不用輸入密碼, 只有具備 root 權限的使用者方可使用.
-S 顯示指定使用者的密碼認證種類(lèi), 只有具備 root 權限的使用者方可使用.
[username] 指定帳號名稱(chēng).
名稱(chēng) : who
使用權線(xiàn) : 所有使用者都可使用
使用方式 : who - [husfV] [user]
說(shuō)明 : 顯示系統中有那些使用者正在上面,顯示的資料包含了使用者 ID,使用的終端機,從那邊連上來(lái)的,上線(xiàn)時(shí)間,呆滯時(shí)間,CPU 使用量,動(dòng)作等等。
把計 :
-h : 不要顯示標題列
-u : 不要顯示使用者的動(dòng)作/工作
-s : 使用簡(jiǎn)短的格式來(lái)顯示
-f : 不要顯示使用者的上線(xiàn)位置
-V : 顯示程式版本
名稱(chēng):/etc/aliases
使用權限:系統管理者
使用方式: 請用 newaliases 更新資料庫
說(shuō)明:
sendmail 會(huì )使用一個(gè)在 /etc/aliases 中的檔案做使用者名稱(chēng)轉換的動(dòng)作。當 sendmail 收到一個(gè)要送給 xxx 的信時(shí),它會(huì )依據 aliases檔的內容送給另一個(gè)使用者。這個(gè)功能可以創(chuàng )造一個(gè)只有在信件系統內才有效的使用者。例如 mailing list 就會(huì )用到這個(gè)功能,在 mailinglist 中,我們可能會(huì )創(chuàng )造一個(gè)叫 redlinux@link.ece.uci.edu 的 mailinglist,但實(shí)際上并沒(méi)有一個(gè)叫 redlinux 的使用者。實(shí)際 aliases 檔的內容是將送給這個(gè)使用者的信都收給 mailing list 處理程式負責分送的工作。
/etc/aliases 是一個(gè)文字模式的檔案,sendmail 需要一個(gè)二進(jìn)位格式的 /etc/aliases.db。newaliases 的功能傳是將 /etc/aliases 轉換成一個(gè) sendmail 所能了解的資料庫。范例:
# newaliases
下面命令會(huì )做相同的事,
# sendmail -bi
相關(guān)命令:
mail, mailq, newaliases, sendmail
” mail [返回]
名稱(chēng):mail
使用權限:所有使用者
使用方式:mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] user1 [user 2 ...]
說(shuō)明:
mail 不僅只是一個(gè)指令, mail 還是一個(gè)電子郵件程式,不過(guò)利用 mail 來(lái)讀信的人應該很少吧!對于系統管理者來(lái)說(shuō) mail 就很有用,因為管理者可以用 mail 寫(xiě)成 script ,定期寄一些備忘錄提醒系統的使用者。
參數:
i 忽略 tty 的中斷訊號。 (interrupt)
I 強迫設成互動(dòng)模式。 (Interactive)
v 列印出訊息,例如送信的地點(diǎn)、狀態(tài)等等。 (verbose)
n 不讀入 mail.rc 設定檔。
s 郵件標題。
c cc 郵件地址。
b bcc 郵件地址。
范例:
將信件送給一個(gè)或以上的電子郵件地址,由于沒(méi)有加入其他的選項,使用者必須輸入標題與信件的內容等。而 user2 沒(méi)有主機位置,就會(huì )送給郵件伺服器的 user2 使用者。
mail user1@email.address
mail user1@email.address user2
將 mail.txt 的內容寄給 user2 同時(shí) cc 給 user1 。如果將這一行指令設成 cronjob 就可以定時(shí)將備忘錄寄給系統使用者。
mail -s 標題 -c user1 user2 < mail.txt
指令:mesg
使用權限 : 所有使用者
使用方式 : mesg [y|n]
說(shuō)明 : 決定是否允許其他人傳訊息到自己的終端機介面
把計
y : 允許訊息傳到終端機介面上。
n : 不允許訊息傳到終端機介面上 。
如果沒(méi)有設定,則訊息傳遞與否則由終端機界面目前狀態(tài)而定。
例子 :
改變目前訊息設定,改成不允許訊息傳到終端機介面上 :
mesg n
與 mesg 相關(guān)的指令有: talk,write,wall。
名稱(chēng):/etc/aliases
使用權限:系統管理者
使用方式: newaliases
說(shuō)明:
sendmail 會(huì )使用一個(gè)在 /etc/aliases 中的檔案做使用者名稱(chēng)轉換的動(dòng)作。當 sendmail 收到一個(gè)要送給 xxx 的信時(shí),它會(huì )依據 aliases檔的內容送給另一個(gè)使用者。這個(gè)功能可以創(chuàng )造一個(gè)只有在信件系統內才有效的使用者。例如 mailing list 就會(huì )用到這個(gè)功能,在 mailinglist 中,我們可能會(huì )創(chuàng )造一個(gè)叫 redlinux@link.ece.uci.edu 的 mailinglist,但實(shí)際上并沒(méi)有一個(gè)叫 redlinux 的使用者。實(shí)際 aliases 檔的內容是將送給這個(gè)使用者的信都收給 mailing list 處理程式負責分送的工作。
/etc/aliases 是一個(gè)文字模式的檔案,sendmail 需要一個(gè)二進(jìn)位格式的 /etc/aliases.db。newaliases 的功能傳是將 /etc/aliases 轉換成一個(gè) sendmail 所能了解的資料庫。
參數:沒(méi)有任何參數。 范例:
# newaliases
下面命令會(huì )做相同的事,
# sendmail -bi
相關(guān)命令:
mail, mailq, newaliases, sendmail
名稱(chēng) : talk
使用權限 : 所有使用者
使用方式 :
talk person [ttyname]
說(shuō)明 : 與其他使用者對談
把計 :
person : 預備對談的使用者帳號,如果該使用者在其他機器上,則可輸入 person@machine.name
ttyname : 如果使用者同時(shí)有兩個(gè)以上的 tty 連線(xiàn),可以自行選擇合適的 tty 傳訊息
例子.1 :
與現在機器上的使用者Rollaend對談,此時(shí) Rollaend 只有一個(gè)連線(xiàn) :
talk Rollaend
接下來(lái)就是等Rollaend回應,若Rollaend接受,則Rollaend輸入 ****talk jzlee****即可開(kāi)始對談,結束請按 ctrl+c
例子.2 :與linuxfab.cx上的使用者Rollaend對談,使用pts/2來(lái)對談 :
talk Rollaend@linuxfab.cx pts/2
接下來(lái)就是等Rollaend回應,若Rollaend接受,則Rollaend輸入 ****talk jzlee@jzlee.home****即可開(kāi)始對談,結束請按 ctrl+c
注意 : 若螢幕的字會(huì )出現不正常的字元,試著(zhù)按 ctrl+l 更新螢幕畫(huà)面。
名稱(chēng) : wall
使用權限 : 所有使用者
使用方式 :
wall [ message ]
使用說(shuō)明:
wall 會(huì )將訊息傳給每一個(gè) mesg 設定為 yes 的上線(xiàn)使用者。當使用終端機介面做為標準傳入時(shí), 訊息結束時(shí)需加上 EOF (通常用 Ctrl+D)
例子 :
傳訊息"hi" 給每一個(gè)使用者 :
wall hi
名稱(chēng) : write
使用權限 : 所有使用者
使用方式 :
write user [ttyname]
說(shuō)明 : 傳訊息給其他使用者
把計 :
user : 預備傳訊息的使用者帳號
ttyname : 如果使用者同時(shí)有兩個(gè)以上的 tty 連線(xiàn),可以自行選擇合適的 tty 傳訊息
例子.1 :
傳訊息給 Rollaend,此時(shí) Rollaend 只有一個(gè)連線(xiàn) :
write Rollaend
接下來(lái)就是將訊息打上去,結束請按 ctrl+c
例子.2 :傳訊息給 Rollaend,Rollaend 的連線(xiàn)有 pts/2,pts/3 :
write Rollaend pts/2
接下來(lái)就是將訊息打上去,結束請按 ctrl+c
注意 : 若對方設定 mesg n,則此時(shí)訊席將無(wú)法傳給對方
名稱(chēng):kill
使用權限:所有使用者
使用方式:
kill [ -s signal | -p ] [ -a ] pid ...
kill -l [ signal ]
說(shuō)明:kill 送出一個(gè)特定的信號 (signal) 給行程 id 為 pid 的行程根據該信號而做特定的動(dòng)作, 若沒(méi)有指定, 預設是送出終止 (TERM) 的信號
把計
-s (signal) : 其中可用的訊號有 HUP (1), KILL (9), TERM (15), 分別代表著(zhù)重跑, 砍掉, 結束; 詳細的信號可以用 kill -l
-p : 印出 pid , 并不送出信號
-l (signal) : 列出所有可用的信號名稱(chēng)
范例:
將 pid 為 323 的行程砍掉 (kill) :
kill -9 323
將 pid 為 456 的行程重跑 (restart) :
kill -HUP 456
名稱(chēng):nice
使用權限:所有使用者
使用方式:nice [-n adjustment] [-adjustment] [--adjustment=adjustment] [--help] [--version] [command [arg...]]
說(shuō)明:以更改過(guò)的優(yōu)先序來(lái)執行程式, 如果未指定程式, 則會(huì )印出目前的排程優(yōu)先序, 內定的 adjustment 為 10, 范圍為 -20 (最高優(yōu)先序) 到 19 (最低優(yōu)先序)
把計
-n adjustment, -adjustment, --adjustment=adjustment 皆為將該原有優(yōu)先序的增加 adjustment
--help 顯示求助訊息
--version 顯示版本資訊
范例:
將 ls 的優(yōu)先序加 1 并執行 :
nice -n 1 ls
將 ls 的優(yōu)先序加 10 并執行 :
nice ls將 ls 的優(yōu)先序加 10 并執行
注意 : 優(yōu)先序 (priority) 為作業(yè)系統用來(lái)決定 CPU 分配的參數,Linux 使用『回合制(round-robin)』的演算法來(lái)做 CPU 排程,優(yōu)先序越高,所可能獲得的 CPU時(shí)間就越多。
名稱(chēng):ps
使用權限:所有使用者
使用方式:ps [options] [--help]
說(shuō)明:顯示瞬間行程 (process) 的動(dòng)態(tài)
參數:
ps 的參數非常多, 在此僅列出幾個(gè)常用的參數并大略介紹含義
-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: 該行程的狀態(tài):
D: 不可中斷的靜止 (通悸□□縝b進(jìn)行 I/O 動(dòng)作)
R: 正在執行中
S: 靜止狀態(tài)
T: 暫停執行
Z: 不存在但暫時(shí)無(wú)法消除
W: 沒(méi)有足夠的記憶體分頁(yè)可分配
<: 高優(yōu)先序的行程
N: 低優(yōu)先序的行程
L: 有記憶體分頁(yè)分配并鎖在記憶體內 (即時(shí)系統或捱A I/O)
START: 行程開(kāi)始時(shí)間
TIME: 執行的時(shí)間
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]
名稱(chēng):pstree
使用權限:所有使用者
使用方式:
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ì )只顯示該使用者所擁有的行程
參數:
-a 顯示該行程的完整指令及參數, 如果是被記憶體置換出去的行程則會(huì )加上括號
-c 如果有重覆的行程名, 則分開(kāi)列出 (預設值是會(huì )在前面加上 *
范例:
pstree
init-+-amd
|-apmd
|-atd
|-]
%pstree -p
init(1)-+-amd(447)
|-apmd(105)
|-atd(339)
%pstree -c
init-+-amd
|-apmd
|-atd
|-
| |-
| |-
| |-
名稱(chēng):renice
使用權限:所有使用者
使用方式:renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]
說(shuō)明:重新指定一個(gè)或多個(gè)行程(Process)的優(yōu)先序(一個(gè)或多個(gè)將根據所下的參數而定)
把計
-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)先序號碼加 1 :
renice +1 987 -u daemon root -p 32
注意 : 每一個(gè)行程(Process)都有一個(gè)唯一的 (unique) id
名稱(chēng):top
使用權限:所有使用者
使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
說(shuō)明:即時(shí)顯示 process 的動(dòng)態(tài)
把計
d : 改變顯示的更新速度,或是在交談式指令列( interactive command)按 s
q : 沒(méi)有任何延遲的顯示速度,如果使用者是有 superuser 的權限,則 top 將會(huì )以最高的優(yōu)先序執行
c : 切換顯示模式,共有兩種模式,一是只顯示執行檔的名稱(chēng),另一種是顯示完整的路徑與名稱(chēng)S : 累積模式,會(huì )將己完成或消失的子行程 ( dead child process ) 的 CPU time 累積起來(lái)
s : 安全模式,將交談式指令取消, 避免潛在的危機
i : 不顯示任何閑置 (idle) 或無(wú)用 (zombie) 的行程
n : 更新的次數,完成后將會(huì )退出 top
b : 批次檔模式,搭配 "n" 參數一起使用,可以用來(lái)將 top 的結果輸出到檔案內
范例:
顯示更新十次后退出 ;
top -n 10
使用者將不能利用交談式指令來(lái)對行程下命令 :
top -s
將更新顯示二次的結果輸入到名稱(chēng)為 top.log 的檔案里 :
top -n 2 -b < top.log
名稱(chēng):skill
使用權限:所有使用者
使用方式: skill [signal to send] [options] 選擇程序的規則
說(shuō)明:
送個(gè)訊號給正在執行的程序,預設的訊息為 TERM (中斷) , 較常使用的訊息為 HUP , INT , KILL , STOP , CONT ,和 0
訊息有三種寫(xiě)法:分別為 -9 , -SIGKILL , -KILL , 可以使用 -l 或 -L 已列出可使用的訊息。
一般參數:
-f 快速模式/尚未完成
-i 互動(dòng)模式/ 每個(gè)動(dòng)作將要被確認
-v 詳細輸出/ 列出所選擇程序的資訊
-w 智能警告訊息/ 尚未完成
-n 沒(méi)有動(dòng)作/ 顯示程序代號
參數:選擇程序的規則可以是, 終端機代號,使用者名稱(chēng),程序代號,命令名稱(chēng)。
-t 終端機代號 ( tty 或 pty )
-u 使用者名稱(chēng)
-p 程序代號 ( pid )
-c 命令名稱(chēng) 可使用的訊號:
以下列出已知的訊號名稱(chēng),訊號代號,功能。
名稱(chēng) (代號) 功能/ 描述
ALRM 14 離開(kāi)
HUP 1 離開(kāi)
INT 2 離開(kāi)
KILL 9 離開(kāi)/ 強迫關(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)生與內容相關(guān)的行為
TTIN 停止 /產(chǎn)生與內容相關(guān)的行為
TTOU 停止 /產(chǎn)生與內容相關(guān)的行為
STOP 停止 /強迫關(guān)閉
CONT 從新啟動(dòng) /如果在停止狀態(tài)則從新啟動(dòng),否則忽略
PWR 忽略 /在某些系統中會(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
名稱(chēng):expr
使用權限:所有使用者
### 字串長(cháng)度
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
### 字串真實(shí)重現
shell>> expr quote thisisatestformela
thisisatestformela
名稱(chēng): tr
### 1.比方說(shuō)要把目錄下所有的大寫(xiě)檔名換為小寫(xiě)檔名?
似乎有很多方式,"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 ### 去掉有關(guān) t.e.s.t
this
man
man
test
e
### 4.取代字串
shell>> tr -s "this" "TEST"
this
TEST
th
TE
指令:clear
用途:清除螢幕用。
使用方法:在 console 上輸入 clear。
名稱(chēng): reset, tset
使用方法: tset [-IQqrs] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal]
使用說(shuō)明:
reset 其實(shí)和 tset 是一同個(gè)命令,它的用途是設定終端機的狀態(tài)。一般而言,這個(gè)命令會(huì )自動(dòng)的從環(huán)境變數、命令列或是其它的組態(tài)檔決定目前終端機的型態(tài)。如果指定型態(tài)是 ? 的話(huà),這個(gè)程式會(huì )要求使用者輸入終端機的型別。
由于這個(gè)程式會(huì )將終端機設回原始的狀態(tài),除了在 login 時(shí)使用外,當系統終端機因為程式不正常執行而進(jìn)入一些奇怪的狀態(tài)時(shí),你也可以用它來(lái)重設終端機o 例如不小心把二進(jìn)位檔用 cat 指令進(jìn)到終端機,常會(huì )有終端機不再回應鍵盤(pán)輸入,或是回應一些奇怪字元的問(wèn)題。此時(shí)就可以用 reset 將終端機回復至原始狀態(tài)。選項說(shuō)明:
-p
將終端機類(lèi)別顯示在螢幕上,但不做設定的動(dòng)作。這個(gè)命令可以用來(lái)取得目前終端機的類(lèi)別。
-e ch
將 erase 字元設成 ch
-i ch
將中斷字元設成 ch
-k ch
將刪除一行的字元設成 ch
-I
不要做設定的動(dòng)作,如果沒(méi)有使用選項 -Q 的話(huà),erase、中斷及刪除字元的目前值依然會(huì )送到螢幕上。
-Q
不要顯示 erase、中斷及刪除字元的值到螢幕上。
-r
將終端機類(lèi)別印在螢幕上。
-s
將設定 TERM 用的命令用字串的型式送到終端機中,通常在 .login 或 .profile 中用
范例:
讓使用者輸入一個(gè)終端機型別并將終端機設到該型別的預設狀態(tài)。
# 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;
名稱(chēng):compress
使用權限:所有使用者
使用方式:compress [-dfvcV] [-b maxbits] [file ...]
說(shuō)明:
compress 是一個(gè)相當古老的 unix 檔案壓縮指令,壓縮后的檔案會(huì )加上一個(gè) .Z 延伸檔名以區別未壓縮的檔案,壓縮后的檔案可以以 uncompress 解壓。若要將數個(gè)檔案壓成一個(gè)壓縮檔,必須先將檔案 tar 起來(lái)再壓縮。由于 gzip 可以產(chǎn)生更理想的壓縮比例,一般人多已改用 gzip 為檔案壓縮工具。
參數:
c 輸出結果至標準輸出設備(一般指熒幕)
f 強迫寫(xiě)入檔案,若目的檔已經(jīng)存在,則會(huì )被覆蓋 (force)
v 將程式執行的訊息印在熒幕上 (verbose)
b 設定共同字串數的上限,以位元計算,可以設定的值為 9 至 16 bits 。由于值越大,能使用的共同字串就 越多,壓縮比例就越大,所以一般使用預設值 16 bits (bits)
d 將壓縮檔解壓縮
V 列出版本訊息
范例:
將 source.dat 壓縮成 source.dat.Z ,若 source.dat.Z 已經(jīng)存在,內容則會(huì )被壓縮檔覆蓋。
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 ,若檔案已經(jīng)存在,使用者按 y 以確定覆蓋檔案,若使用 -df 程式則會(huì )自動(dòng)覆蓋檔案。由于系統會(huì )自動(dòng)加入 .Z 為延伸檔名,所以 source.dat 會(huì )自動(dòng)當作 source.dat.Z 處理。
compress -d source.dat
compress -d source.dat.Z
名稱(chēng): lpd
使用權限: 所有使用者
使用方式:lpd [-l] [#port]
lpd 是一個(gè)常駐的印表機管理程式,它會(huì )根據 /etc/printcap 的內容來(lái)管理本地或遠端的印表機。/etc/printcap 中定義的每一個(gè)印表機必須在 /var/lpd 中有一個(gè)相對應的目錄,目錄中以 cf 開(kāi)頭的檔案表示一個(gè)等待送到適當裝置的印表工作。這個(gè)檔案通常是由 lpr 所產(chǎn)生。
lpr 和 lpd 組成了一個(gè)可以離線(xiàn)工作的系統,當你使用 lpr 時(shí),印表機不需要能立即可用,甚至不用存在。lpd 會(huì )自動(dòng)監視印表機的狀況,當印表機上線(xiàn)后,便立即將檔案送交處理。這個(gè)得所有的應用程式不必等待印表機完成前一工作。
參數:
-l: 將一些除錯訊息顯示在標準輸出上。
#port: 一般而言,lpd 會(huì )使用 getservbyname 取得適當的 TCP/IP port,你可以使用這個(gè)參數強迫 lpd 使用指定的 port。
范例:
這個(gè)程式通常是由 /etc/rc.d 中的程式在系統啟始階段執行。
名稱(chēng) lpq
-- 顯示列表機貯列中未完成的工作 用法
lpq [l] [P] [user]
說(shuō)明
lpq 會(huì )顯示由 lpd 所管理的列表機貯列中未完成的項目。
范例
范例 1. 顯示所有在 lp 列表機貯列中的工作
# lpq -PlpRank Owner Job Files Total Size1st root 238 (standard input) 1428646 bytes
相關(guān)函數
lpr,lpc,lpd
名稱(chēng): lpr
使用權限: 所有使用者
使用方式:lpr [ -P printer ]
將檔案或是由標準輸入送進(jìn)來(lái)的資料送到印表機貯列之中,印表機管理程式 lpd 會(huì )在稍后將這個(gè)檔案送給適當的程式或裝置處理。lpr 可以用來(lái)將料資送給本地或是遠端的主機來(lái)處理。
參數:
-p Printer: 將資料送至指定的印表機 Printer,預設值為 lp。
范例:
將 。
lpr -Plp
名稱(chēng): lprm
-- 將一個(gè)工作由印表機貯列中移除 用法
/usr/bin/lprm [P] [file...]
說(shuō)明
尚未完成的印表機工作會(huì )被放在印表機貯列之中,這個(gè)命令可用來(lái)將常未送到印表機的工作取消。由于每一個(gè)印表機都有一個(gè)獨立的貯列,你可以用 -P 這個(gè)命令設定想要作用的印列機。如果沒(méi)有設定的話(huà),會(huì )使用系統預設的印表機。
這個(gè)命令會(huì )檢查使用者是否有足夠的權限刪除指定的檔案,一般而言,只有檔案的擁有者或是系統管理員才有這個(gè)權限。
范例
將印表機 hpprinter 中的第 1123 號工作移除
lprm -Phpprinter 1123
將第 1011 號工作由預設印表機中移除
lprm 1011
名稱(chēng): fdformat
使用權限: 所有使用者
使用方式:fdformat [-n] device
使用說(shuō)明 :
對指定的軟碟機裝置進(jìn)行低階格式化。使用這個(gè)指令對軟碟格式化的時(shí)候,最好指定像是下面的裝置:
/dev/fd0d360 磁碟機 A: ,磁片為 360KB 磁碟
/dev/fd0h1440 磁碟機 A: ,磁片為 1.4MB 磁碟
/dev/fd1h1200 磁碟機 B: ,磁片為 1.2MB 磁碟
如果使用像是 /dev/fd0 之類(lèi)的裝置,如果里面的磁碟不是標準容量,格式化可能會(huì )失敗。在這種情況之下,使用者可以用 setfdprm 指令先行指定必要參數。
參數:
-n 關(guān)閉確認功能。這個(gè)選項會(huì )關(guān)閉格式化之后的確認步驟。
范例:
fdformat -n /dev/fd0h1440
將磁碟機 A 的磁片格式化成 1.4MB 的磁片。并且省略確認的步驟。
名稱(chēng): 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:
在已經(jīng)做過(guò)低階格式化的磁片上建立 DOS 檔案系統。如果在編譯 mtools 的時(shí)候把 USE_2M 的參數打開(kāi),部分與 2M 格式相關(guān)的參數就會(huì )發(fā)生作用。否則這些參數(像是 S,2,1,M)不會(huì )發(fā)生作用。
參數:
-t 磁柱(synlider)數
-h 磁頭(head)數
-s 每一磁軌的磁區數
-l 標簽
-F 將磁碟格式化為 FAT32 格式,不過(guò)這個(gè)參數還在實(shí)驗中。
-I 設定 FAT32 中的版本號。這當然也還在實(shí)驗中。
-S 磁區大小代碼,計算方式為 sector = 2^(大小代碼+7)
-c 磁叢(cluster)的磁區數。如果所給定的數字會(huì )導致磁叢數超過(guò) FAT 表的限制,mformat 會(huì )自動(dòng)放大磁區數。
-s
-M 軟體磁區大小。這個(gè)數字就是系統回報的磁區大小。通常是和實(shí)際的大小相同。
-a 如果加上這個(gè)參數,mformat 會(huì )產(chǎn)生一組 Atari 系統的序號給這塊軟碟。
-X 將軟碟格式化成 XDF 格式。使用前必須先用 xdfcopy 指令對軟碟作低階格式化的動(dòng)作。
-C 產(chǎn)生一個(gè)可以安裝 MS-DOS 檔案系統的磁碟影像檔(disk image)。當然對一個(gè)實(shí)體磁碟機下這個(gè)參數是沒(méi)有意義的。
-H 隱藏磁區的數目。這通常適用在格式化硬碟的分割區時(shí),因為通常一個(gè)分割區的前面還有分割表。這個(gè)參數未經(jīng)測試,能不用就不用。
-n 磁碟序號
-r 根目錄的大小,單位是磁區數。這個(gè)參數只對 FAT12 和 FAT16 有效。
-B 使用所指定的檔案或是設備的開(kāi)機磁區做為這片磁片或分割區的開(kāi)機磁區。當然當中的硬體參數會(huì )隨之更動(dòng)。
-k 盡量保持原有的開(kāi)機磁區。
-0 第 0 軌的資料傳輸率
-A 第 0 軌以外的資料傳輸率
-2 使用 2m 格式
-1 不使用 2m 格式
范例:
mformat a:
這樣會(huì )用預設值把 a: (就是 /dev/fd0)里的磁碟片格式化。
名稱(chēng): 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 ]
說(shuō)明: 建立 DOS 檔案系統。 device 指你想要建立 DOS 檔案系統的裝置代號。像是 /dev/hda1 等等。 block_count 則是你希望配置的區塊數。如果 block_count 沒(méi)有指定則系統會(huì )自動(dòng)替你計算符合該裝置大小的區塊數。
參數:
-c 建立檔案系統之前先檢查是否有壞軌。
-l 從得定的檔案中讀取壞軌記錄。
-f 指定檔案配置表(FAT , File Allocation Table)的數量。預設值為 2 。目前 Linux 的 FAT 檔案系統不支援超過(guò) 2 個(gè) FAT 表。通常這個(gè)不需要改。
-F 指定 FAT 表的大小,通常是 12 或是 16 個(gè)位元組。12 位元組通常用于磁碟片,16 位元組用于一般硬碟的分割區,也就是所謂的 FAT16 格式。這個(gè)值通常系統會(huì )自己選定適當的值。在磁碟片上用 FAT16 通常不會(huì )發(fā)生作用,反之在硬碟上用 FAT12 亦然。
-i 指定 Volume ID。一般是一個(gè) 4 個(gè)位元組的數字,像是 2e203a47 。如果不給系統會(huì )自己產(chǎn)生。
-m 當使用者試圖用這片磁片或是分割區開(kāi)機,而上面沒(méi)有作業(yè)系統時(shí),系統會(huì )給使用者一段警告訊息。這個(gè)參數就是用來(lái)變更這個(gè)訊息的。你可以先用檔案編輯好,然后用這個(gè)參數指定,或是用
-m -
這樣系統會(huì )要求你直接輸入這段文字。要特別注意的是,檔案里的字串長(cháng)度不要超過(guò) 418 個(gè)字,包括展開(kāi)的跳欄符號(TAB)和換行符號(換行符號在 DOS 底下算兩個(gè)字元!)
-n 指定 Volume Name,就是磁碟標簽。如同在 DOS 底下的 format 指令一樣,給不給都可以。沒(méi)有預設值。
-r 指定根目錄底下的最大檔案數。這里所謂的檔案數包括目錄。預設值是在軟碟上是 112 或是 224 ,在硬碟上是 512。沒(méi)事不要改這個(gè)數字。
-s 每一個(gè)磁叢(cluster)的磁區數。必須是 2 的次方數。不過(guò)除非你知道你在作什么,這個(gè)值不要亂給。
-v 提供額外的訊息
范例:
mkdosfs -n Tester /dev/fd0 將 A 槽里的磁碟片格式化為 DOS 格式,并將標簽設為 Tester
注:以上資料均來(lái)自于電子工業(yè)出版社《LINUX寶典大全》