【正文】
至用戶登錄時的工作目錄。 29 改變工作目錄 cd ~user 改變目錄位置至用戶的工作目錄。 cd ../user 改變目錄位置至相對路徑 user 的目錄下。 cd ~ 改變目錄位置至用戶登錄時的工作目錄。 cp file1 dir1 將文件 file1 復(fù)制到目錄 dir1 下,文件名 仍為 f i l e 1。 cp /tmp/file1 file2 將目錄 /tmp 下的文件 file1 復(fù)制到 當(dāng)前目錄下,文件名為 f i l e 2。 32 移動或更改文件、目錄名稱 語法: mv 源地址目的地址 例如: mv file1 file2 將文件 f i l e 1更名為 f i l e 2。 mv dir1 dir2 將目錄 dir1 更改為目錄 d i r 2。 34 刪除目錄 語法: rmdir 目錄名或 rm 目錄名 例如: rmdir dir1 刪除目錄 d i r 1,但 dir1 下必須沒有文件 存在,否則無法刪除。 35 刪除文件 語法: rm 文件名 例如: rm file1 刪除文件名為 file1 的文件。 rm f* 刪除文件名中以 f 為字首的所有文件。 38 分頁查看文件內(nèi)容 語法: more 文件名或 cat 文件名 | more 例如: more file1 以分頁方式查看文件名 file1 的內(nèi)容。 39 查看目錄所占磁盤容量 語法 : du [s] 目錄 例如 : du dir1 顯示目錄 dir1 的總?cè)萘考捌渥幽夸浀娜萘? (以 KB 為單位 )。 40 文件傳輸 1. 拷貝文件或目錄至遠(yuǎn)程工作站 語法: rcp [r] 源地址主機(jī)名 :目的地址 例如: rcp file1 doc:/home/user 將文件 f i l e 1拷貝到工作站 doc 路徑 /home/user 下。 41 文件傳輸 2. 自遠(yuǎn)程工作站,拷貝文件或目錄 語法: rcp [r] 主機(jī)名 :源地址目的地址 例如: rcp doc:/home/user/file1 file2 將工作站 d o c路徑 /home/user 下的文件 file 1,拷貝到當(dāng)前工作站的 目錄下,文件名為 file 2。 42 文件傳輸 3. 本地工作站與遠(yuǎn)程工作站之間的文件傳輸 必須擁有遠(yuǎn)程工作站的帳號及密碼,才可進(jìn)行傳輸工作。 Name (doc:username): 輸入帳號 Password (doc:userpassword): 輸入密碼 ftp help 列出 ftp 文件傳輸時可使用的命令。 ftp !pwd 列出本地工作站當(dāng)前所在的目錄位置。 43 文件傳輸 ftp dir 列出遠(yuǎn)程工作站當(dāng)前目錄下的所有文件名。 ftp pwd 列出遠(yuǎn)程工作站當(dāng)前所在的目錄位置。 ftp get file1 將遠(yuǎn)程工作站的文件 f i l e 1拷貝到本地工作站 中。 ftp mget *.c 將遠(yuǎn)程工作站中擴(kuò)展文件名為 c 的所有文件拷 貝到本地工作站中。 ftp prompt 切換交互式指令 (使用 mput/mget 時不是每個文 件皆詢問 y e s / n o )。 ftp bye 結(jié)束 ftp 工作。 45 文件權(quán)限設(shè)定 1. 改變文件或目錄的讀、寫、執(zhí)行權(quán)限 語法: chmod [R] mode name n a m e :文件名或目錄名。 r r e a d (讀 ), w w r i t e (寫 ) x e x e c u t e (執(zhí)行 ) u u s e r (當(dāng)前用戶 ), g g r o u p(組) o o t h e r(其他用戶)。 chmod 700 file1 對于文件 f i l e 1,設(shè)定只有所有者 可以讀、寫和執(zhí)行的權(quán)利。 chmod g+x file3 對于文件 f i l e 3,增加工作組使用 者可執(zhí)行的權(quán)利。 47 文件權(quán)限設(shè)定 2.改變文件或目錄的所有權(quán) 語法: chown [R] 用戶名 name n a m e:文件名或目錄名。 chown R user dir1 將目錄 d i r 1及其子目錄下面的 所有文件改為用戶 user 所有。 chgrp R image dir1 將目錄 d i r 1及其子目錄下面的 所有文件,改為 image 工作組所有。 51 文件的鏈接 同一文件,可擁有一個以上的名稱,也就是把一個 文件進(jìn)行鏈接。 52 文件中字符串查尋 語法: grep string file 例如: grep abc file1 尋找文件 f i l e 1中包含字符串 abc 所 在行的文本內(nèi)容。 語法: which mand 顯示命令的路徑,及使用者 所定義的別名。 語法: find searchpath name filename print 搜尋 指定路徑下某文件的路徑。 54 比較文件或目錄的內(nèi)容 語法: d i ff [r] name1 name2 name1 name2:可同時為文件名或目錄名。 d i ff r dir1 dir2 比較目錄 dir1 與 dir2 內(nèi)各文件的不 同之處。 例如: set a PRINTER=sp 設(shè)定自 sp 打印機(jī)打印資料。 56 文件打印輸出 語法: enscript [P打印機(jī)名 ] 文件名 例如: enscript file3 或 enscript Psp file3 自 s p打印機(jī)打印 文件 f i l e 3。 58 打印機(jī)控制命令 2. 刪除打印機(jī)內(nèi)的打印作業(yè) ( 用戶僅可刪除自己的 打印作業(yè) ) 語法: lprm [P打印機(jī)名 ] 用戶名或作業(yè)編號 例如: lprm user或 lprm Psp user 刪除 s p打印機(jī)中用戶 user 的打印作業(yè),此時用戶名必須為 u s e r。 59 進(jìn)程控制命令 1.查看系統(tǒng)中的進(jìn)程 語法: ps [aux] 例如 : p s或 ps x 查看系統(tǒng)中,屬于自己的進(jìn)程。 ps aux 查看系統(tǒng)中,包含系統(tǒng)內(nèi)部的及所有用戶的 進(jìn)程。 例如 : kill 456或 kill 9 456 終止進(jìn)程號為 456 的進(jìn)程。 例如 : cc amp。 62 進(jìn)程控制命令 語法:按下 C o n t r o l + Z鍵,暫停正在執(zhí)行的進(jìn) 程。 例如 : cc ^ Z S t o p p e d b g 63 進(jìn)程控制命令 4. 查看正在后臺中執(zhí)行的進(jìn)程 語法: j o b s 64 進(jìn)程控制命令 5. 結(jié)束或終止后臺中的進(jìn)程 語法: kill %n n:利用 j o b s命令查看出的后臺作業(yè)號 例如: kill % 終止在后臺中的第一個進(jìn)程。 65 shell變量 1. 查看外殼變量的設(shè)定值 語法: set 查看所有外殼變量的設(shè)定值。 66 shell變量 2. 設(shè)定外殼變量 語法: set var = value 例如 : set term=vt100 設(shè)定外殼變量 t e r m為 VT100 型終 端。 68 環(huán)境變量 1. 查看環(huán)境變量的設(shè)定值 語法: s e t 查看所有環(huán)境變量的設(shè)定值。 例如 : echo $PRINTER 顯示環(huán)境變量 PRINTER 的設(shè)定 值。 70 環(huán)境變量 3. 刪除環(huán)境變量 語法: unset NAME 例如 : unset PRINTER 刪除環(huán)境變量 P R I N T E R的設(shè)定 值。 語法: alias name 查看指定的 name 命令的別名。 ls atl 72 別名 2. 定義命令的別名 語法: alias name?mand line? 例如 : alias dir ?ls l? 將命令 ls l 定義別名為 d i r。 unalias * 刪除所有別名的設(shè)定。 75 歷史命令 2. 查看命令記錄表的內(nèi)容 語法: h i s t o r y 76 歷史命令 3. 使用命令記錄表 語法: !! 重復(fù)執(zhí)行前一個命令。 例如: mail s “mail test” file1 將文件 file1 當(dāng)做信件的內(nèi)容,主題名稱為 mail test,送給收信人。 例如 : ls l list 將執(zhí)行 “ ls l” 命令的結(jié)果寫入文件 list 中。 例如: ls lg ! list 將執(zhí)行 “ ls lg” 命令的結(jié)果覆蓋寫入文 件 list 中。 文件將命令執(zhí)行時屏幕上所產(chǎn)生的 任何信息寫入指定的文件中。 error 將編譯 文件時所產(chǎn)生的任 何信息寫入文件 error 中。 例如 : ls lag list 將執(zhí)行 “ ls lag” 命令的結(jié)果附加到文件 list 中。 文件將命令執(zhí)行時屏幕上所產(chǎn)生的任何信息 附加到指定的文件中。 error 將編譯 文件時屏幕所產(chǎn)生的任何 信息附加到文件 error 中。 例如: ls Rl | more 以分頁方式列出當(dāng)前目錄及其子目錄下 所有文件的名稱。 84 重定向和管道命令 ps | sort | more ps | sort | more kill –1 1234 2amp。1 85 第三章 shell程序設(shè)計 ? 交互式程序。 ? 腳本程序( shell script) 編寫 shell腳本文件,并執(zhí)行。 ? [set]匹配方括號中任何一個單個的字符。 ? {}匹配花括號中的任何一個字符串。 88 腳本程序 !/bin/sh This file looks through all the files in the current directory for the string POSIX, and then displays those files to the standard output. 89 腳本程序 For file in * do if grep –q POSIX $file then more $file fi Done exit 0 90 運(yùn)行腳本程序 ? chmod +x 給所有用戶添加執(zhí)行權(quán)限 ? ./ 91 shell程序設(shè)計的語法 ? 變量:字符串、數(shù)字、環(huán)境和參數(shù) ? 條件: shell中的布爾值 ? 程序控制: if、 elif、 for、 while、 until、 case等 ? 命令表 ? 函數(shù) ? 內(nèi)建在 shell中的命令 ? 獲取某個命令的執(zhí)行結(jié)果 ? 即時文檔( here文檔) 92 變量 在 shell里,使用變量之前不需要事先對它做出聲明。在默認(rèn)情況下,所有變量的值被認(rèn)為是字符串。 shell的變量名是大小寫敏感的。 93 變量 $ salutation=Hello $ echo $salutation Hello $ salutation=“Yes Dear” $ echo $salutation Yes Dear $ salutation=7+5 $ echo $salutation 7+5 94 引號的用法 一般情況下,參數(shù)之間是用空白字符分隔的,如一個空格、制表符或換行符等。帶有 “ $”字符的變量表達(dá)式放在雙引號里,表達(dá)式會替換為它的值。在 “ $”字符前面加一個 “ \”字符取消它的特殊意義。環(huán)境變量通常使用大寫字母作名字。 $HOME 當(dāng)前用戶的登陸子目錄 $PATH 以冒號分隔的用來搜索命令的子目錄清單 $PS1 命令行提示符 $PS2 輔助提示符,用來提示后續(xù)輸入 99 環(huán)境變量 $IFS 輸入?yún)^(qū)的分隔符。 $1,$2,… 腳本程序的第一個參數(shù)、第二個參數(shù)、 … $* 全體參數(shù)組成的清單,各參數(shù)之間用環(huán)境變量 IFS中的第一個