UNIX基本指令字
命令格式 命令 [選項] [處理對象]
例: ls -la mydir
注意:
□ 命令一般是小寫字串,注意大小寫有別。
□ 選項通常以減號(-)再加上一個或數個字元表示,用來選擇一個命令的不同操作
□ 同一行可下數個命令,命令間應以分號隔開
□ 命令之後加上 & 可使該命令背景執行(初學者最好不要這樣) ⊙ 一般在 shell 下執行程式,我們必須等剛下過的指令執行結束後,才能繼續下一指令,這就是前景執行,如果程式執行時間太長,不想等待它,可將該程式放至背景執行,此時就可繼續做別的事了。
□ UNIX 命令列有不少保留字,如 "\", "&", "|", ">", "<", "(", ")", "/", "!", "$", "*", "’" 等,這些字元均有特殊解譯,如果命名或參數要用到保留字,請在保留字之前加上反斜線 "\",例如 \! 代表 !, \\ 代表 \ 。
□ 線上求助指令 -- man 可在線上用來查詢各種命令用法(manual page)的指令(同DOS的/?有點兒相似),格式是man 要查幫助的命令
例∶man ls 查詢 ls 這個指令的用法
man man 查詢 man 指令的用法 以下大部份指令僅列簡要說明,詳細用法可用 man 查詢。為節省篇幅,舉例不多,讀者需時常上機使用才能真正熟悉指令的用法。
檔案及目錄指令
和 DOS 相似,UNIX 采用階層式目錄管理結構,由根目錄( / )開始一層層將子目錄建下去,各階層目錄以 / 隔開(同DOS相反)
home directory∶使用者 login 時,工作目錄的位置,是由系統管理者所設定
"~" 符號代表自己的 home directory,例如 ~/myfile 是指自己 home 目錄下 myfile 這個檔案;~b82000/bin/qkmj 代表 b82000 的 home 目錄下, bin 目 錄內 qkmj 檔案
檔名有區分大小寫,長度可達 256 字元 (隨系統而異),且不限點號(.)的數目
隱藏檔∶檔名或目錄名以 . 開頭即為隱藏檔。
. 表示目前所在目錄 .. 表示上一層目錄
UNIX 的萬用字元有三種,’*’ 和 ’?’ 用法和 DOS 相同,另可用 [....] 代表區間內的任一字元,如 test[0-5] 即代表 test0, test1, ...,test5 的集合。
以下是 ls -l 指令輸出的例子,分別介紹各欄位的意義
total 63
drwx------ 4 b1503045 1536 Feb 13 16:37 Mail
drwx------ 2 b1503045 512 Jan 9 16:26 News
drwx------ 2 b1503045 512 Feb 7 00:46 bin
drwx------ 2 b1503045 1024 Nov 1 16:43 c
-rw------- 1 b1503045 3051 Feb 7 01:49 dial-up
-rw-r----- 1 b1503045 37106 Feb 13 02:00 wwwfaq1
drwx------ 2 b1503045 512 Aug 11 1994 doc
lrwxrwxrwx 1 b1503045 11 Sep 5 20:36 docs -> /remote/doc
drwxr-xr-x 2 b1503045 512 Feb 7 00:43 pub
↓━━┬━━↓ ━━┬━ ↓━┬━ ━━┬━━━
1 2 3 4 5 6 7
1 檔案形式∶
- 一般檔案。
d 目錄。
l 符號鏈結檔,(symbolic link file)用 ln -s 命令造成的,上例中 ,cd docs 和 cd /remote/doc 的效果是一樣的。
c 字元式周邊設備,以一個字元一個字元方式傳輸,如終端機。
b 區塊式周邊設備,能一次大量傳輸,如磁盤機。
s socket 檔。
2 檔案(文件和目錄)存取權限∶
共九個字元,每三個分為一組,共三組 rwx 的組合。 前三個 rwx 是檔案擁有人的權限,中間三個是所屬群體(group)的權限, 最後三個是其他人的使用權限。rwx 代表的意義如下∶
對檔案而言對目錄而言 r 可讀此檔 可得知目錄內有哪些檔案
w 可修改此檔 可在此目錄內建檔及殺檔(寫權利)
x 可執行此檔 可進入此目錄內 - 無此使用權 不能執行文件,同DOS不一樣,任何可執行程序都可運行,unix有限制的
所謂的所屬群體(group),就是同一個組的用戶,及使用同一個組名,其他人對此檔完全沒有存取權。 自己的檔案,可用 chmod 指令改變其存取權,有兩種使用方法
八進位法 -- chmod <八進位數> <檔案>
此方法共三個八進位數字,r=4,w=2, x=1,-=0。例如 -rwxr-xr-x 為 755,rw-r----- 為 640。如上例, 若 chmod 644 dial-up 即可將 dial-up 這個檔的存取權從 600 變成 644,亦即讓其他人均可讀此檔案。
其實最前面還有一個八進位數,但很少用到,其意義如下∶
4000 程式執行時,設定使用者識別碼(SUID)位元為
2000 程式執行時,設定使用者所屬團體識別碼(SGID)位元為
1000 sticky bit on,程式執行後會常駐記憶體。
符號法 -- chmod <who op 存儲權> [<who op 存儲權>] <檔案>
who:
u (user) 檔案擁有者
g (group) 所屬 group
o (other) 其他使用者
a (all) 包括 u, g, o
op:
+ 加上存取權
- 除去存取權
= 重新設定存取權
存取權:
r, w, x, s, t (常用前三者)
例如: chmod u-w wwwfaq1 讓自己不能更改 wwwfaq1 這個檔案
chmod a+x a+r bin 允許所有人進入 bin 目錄並可查看有那些檔案。
3 檔案連結(link)次數。
4 檔案擁有者。超級使用者(系統管理員)為 root。
5 檔案大小,單位為 byte。
6 檔案內容最近一次更新時間。
7 檔案名稱。