茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1671181 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_60D_00021.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

小企鵝開談 : [分享]UNIX 作業系統操作簡介

發表者 討論內容
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[分享]UNIX 作業系統操作簡介
UNIX 作業系統操作簡介

UNIX 是個多人多工作業系統。另外,UNIX 有很多種,如 AT&T UNIX (SVR4)、

SunOS 4.1.3、HP-UX R8、AIX V3、 XENIX、Linux 等等,國內學校工作站以使用

SunOS 為主流,各系統大同小異,以下介紹其基本指令的操作。

○ 第一節 命令格式 ○
命令 [選項] [處理對像]
例: ls -la mydir

□ 命令一般是小寫字串,注意大小寫有別。

□ 選項通常以減號(-)再加上一個或數個字元表示,用來選擇一個命令的不同操作

□ 同一行可下數個命令,命令間應以分號隔開。

□ 命令之後加上 & 可使該命令背景執行。

⊙ 一般在 shell 下執行程式,我們必須等剛下過的指令執行結束後,才能繼

續下指令,這就是前景執行,如果程式執行時間太長,不想等待它,可將該

程式放至背景執行,此時就可繼續做別的事了。

□ UNIX 命令列有不少保留字,如 "", "&", "|", "", "<", "(", ")", "/",

"!", "$", "*", "'" 等,這些字元均有特殊解譯,如果命名或參數要用到保留

字,請在保留字之前加上反斜線 "",例如 ! 代表 !, \ 代表 。

□ 線上求助指令 -- man 可在線上用來查詢各種命令用法(manual page)的指令

例︰man ls 查詢 ls 這個指令的用法

man man 查詢 man 指令的用法

以下大部份指令僅列簡要說明,詳細用法可用 man 查詢。為節省篇幅,舉例不

多,讀者需時常上機使用才能真正熟悉指令的用法。
○ 第二節 檔案及目錄指令 ○
□ 和 DOS 相似,UNIX 采用階層式目錄管理結構,由根目錄( / )開始一層層將子

目錄建下去,各階層目錄以 / 隔開。

□ 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

↓══┬══↓ ══┬═ ═┬═ ══┬═══ ══┬══□檔案形式︰

- 一般檔案。d 目錄。

l 符號鍊結檔,(symbolic link file)用 ln -s 命令造成的,上例中

,cd docs 和 cd /remote/doc 的效果是一樣的。

c 字元式周邊設備,以一個字元一個字元方式傳輸,如終端機。

b 區塊式周邊設備,能一次大量傳輸,如磁盤機。

s socket 檔。

檔案存取權限︰共九個字元,每三個分為一組,共三組 rwx 的組合。

前三個 rwx 是檔案擁有人的權限,中間三個是所屬群體(group)的權限,

最後三個是其他人的使用權限。rwx 代表的意義如下︰

對檔案而言 對目錄而言

r 可讀此檔 可得知目錄內有哪些檔案

w 可修改此檔 可在此目錄內建檔及殺檔

x 可執行此檔 可進入此目錄內

- 無此使用權 無此使用權

⊙ 所謂的所屬群體(group),在台大計中 ccsun 工作站,同系學生定為

同一 group;在系計中 cctwin 工作站,同年級學生定為同一 group。

⊙ 以上例而言,wwwfaq1 這個檔案自己可以讀寫,同一 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)位元為 on

2000 程式執行時,設定使用者所屬團體識別碼(SGID)位元為 on

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 目錄並可查看有哪些檔案。

檔案連結(link)次數。

檔案擁有者。超級使用者(系統管理員)為 root。

檔案大小,單位為 byte。

檔案內容最近一次更新時間。

□ 檔案名稱。□ 指令簡介

⊙ ls 列出目錄內檔案名稱(如 DOS 的 dir/w)

ls -l 除了列出檔名外,並列出檔案屬性及擁有者、檔案大小及建立時間等資訊

ls -a 列出所有檔案,包括隱藏檔

ls -R 遞回地列出所有檔案(子目錄內所有檔案亦列出)

ls -F 依檔案格式分類

可執行檔檔名後加'*',目錄名稱後加上'/',link檔檔名加上'@'

⊙ pwd 查詢目前所在之目錄名稱

⊙ cd 更換目前工作目錄位置

若只打 cd 不加目錄名,則回到自己的 home directory

回到上一層目錄,必須打 cd .. ,cd 和 .. 中間要有空白

⊙ cat 查看文字檔內容

⊙ more 以一頁一頁方式顯示一個文字檔

當最後一行出現 --more(16%)-- ,表示你已看了 16% 的文章。此

時可用 more 內的指令︰

space 往下捲動一頁

Enter 往下捲動一行,若先鍵入數字再按Enter可下卷指定的行數

q 或 Q 停止輸出,回到系統提示符號

h 顯示可用指令及其功能

⊙ cp <原始檔 <複製檔 就是 copy 啦!

⊙ mv <原始檔 <目的檔 若原始檔和目的檔在同一目錄下,可更改檔名,

若加上路徑名,可在目錄間搬移檔案

⊙ rm 刪除檔案,若加上 -i 會徵求確認後刪除

rm -r <目錄名 刪除該目錄及該目錄之下的所有檔案

rm -rf 同上,但不會先徵求確認

注︰UNIX沒有undelete,殺檔前請確定你的大腦很清醒

⊙ mkdir 建立子目錄

⊙ rmdir 刪除子目錄,目錄內須無檔案

⊙ chmod 設定檔案或目錄的存取權限

⊙ lpr 將檔案放進 printer queue 中等候列表

⊙ lpq 顯示 printer queue 的內容

⊙ lp 列印資料

⊙ lpstat 查詢列印狀態與印表機相關資訊

⊙ pr 文字檔之格式化輸出□ 進階指令

⊙ grep 於檔案中尋找特定字串

例︰grep fopen *.c 可印出所有 *.c 檔案中,有 fopen 字串的那一行。

⊙ tail 印出檔案最後 10 行內容

tail -200 印出檔案最後 200 行內容

⊙ which 查詢某個執行檔是放在那個路徑之下

⊙ od 以八進位察看檔案內容

⊙ ln 連接(link)檔案

ln -s symbolic link

⊙ wc 計算檔案的行數、字數及字元數

⊙ touch 更改檔案修改或被存取時間

⊙ diff 檔案比較

⊙ find 檔案搜尋

⊙ df 顯示可使用之檔案儲存空間及檔案數目

⊙ du 計算磁盤機使用情形

⊙ umask 建檔時,取消部份存取權

⊙ tee 將 stdin 輸出到 stdout 並複製一份於檔案中
○ 第三節 通信指令 ○□ 指令簡介

⊙ rusers 查看有哪些人上機

⊙ ku 比 rusers 更好用,並提供 finger, talk, write, mail 等功能。

⊙ mesg y 接受其他使用者訊息(系統預設值)

mesg n 拒絕其他使用者訊息

⊙ talk 線上一對一交談系統,對方必須在線上才能使用,可讓同一主機或

使用相同網路協定的不同主機的使用者交談,若要使用中文請用ctalk。

○例如,若你使用台大計中工作站,發現你的朋友 b2503000 正在

使用 ccsun22 這台機器,可下 talk b2503000@ccsun22 這個指

令,接著等待回音,若對方願意和你聊天,則螢幕畫面將會分為

上下兩部份,上半部份為自己輸入的訊息,下半部份則是對方的應答。

○按下 Ctrl-C 可結束對話

○若 b2503000 要和你聊天時,會出現如下畫面

Message from Talk_Daemon at 11:21

talk: connection requested by b2503000@ccsun22

talk: respond with talk b2503000@ccsun22

若想回答請輸入 talk b2503000@ccsun22 再按 Enter 即可

○此時若螢幕內容混亂,在某些軟體中可按 Ctrl-L 重繪螢幕文字

,若你正在編輯文件,該文件也不會受影響,仍可繼續編輯。

○若你不想和他 talk ,可用 mesg n 命令拒絕。

○若遠方機器與本地機器相容,亦可使用此命令和遠方機器使用者

聊天,例如︰talk u8234567@ccsun19.cc.nctu.edu.tw

即可和交大 ccsun19 上的 u8234567 聊天

⊙ finger 可查詢本地機器或遠方機器使用者簡要資料

例︰finger b1503045@cc.ntu.edu.tw

⊙ mail 讀取及傳送電子郵件

以下指令可利用 mail 傳送文字檔

mail user < filename

⊙ write 送訊息給其他在系統中的使用者,也可視為功能較差的 talk 程式

,記得按 Ctrl-D 結束

⊙ rlogin,rsh,telnet 遠端登錄(login)□ 進階指令

⊙ vacation 自動回應來信
○ 第四節 系統資訊 ○□ 指令簡介

⊙ quota -v 察看自己可用磁盤空間大小(單位︰KB)及檔案個數

⊙ date 現在的日期、時間

⊙ who 查詢目前和你使用同一機器的有哪些人及login時間地點

⊙ w 查詢目前上機者詳細狀況

⊙ whoami 察看自己帳號名稱

⊙ groups [帳號名] 查看某人的 group

⊙ yppasswd 更改密碼

⊙ ypchsh 更改自己的 login shell

⊙ ypchfn 更改自己的全名(full name,不是帳號名)

⊙ cal 印出月曆或年歷

⊙ tty 顯示目前所用終端機名稱

⊙ history 查看自己下過的指令□ 進階指令

⊙ nslookup 向 Name Server 查詢 hostname 及 IP
○ 第五節 處理程序(Process)的控制 ○□ 指令簡介

⊙ ps 顯示 process 的狀態(process status)

PID 欄︰即 ProcessID,一個正在執行的程式在系統中的唯一編號

Owner欄︰該 process 的擁有者

⊙ kill 停止處理程序,通常先用 ps 命令查得 Process ID,再殺之

kill -9 立即停止一個 process

kill -9 -1 殺掉系統內所有屬於自己的 process

○ 若在工作站上無法離線時,可先 login 另一台工作站,然後再 rsh

到原來當掉的工作站,下 kill -9 -1 指令即可正常退出。

⊙ jobs 列出現在正在執行的工作

⊙ fg 將中止的 job 回到前景繼續執行

⊙ bg 背景執行□ 進階指令

⊙ at 在指定時間執行命令

⊙ batch 依序執行多個命令

⊙ crontab 要求系統定期執行特定命令

⊙ nice 調整 process 的優先權

⊙ nohup 使 process 在 logout 後繼續執行
○ 第六節 其他命令 ○□ 指令簡介

⊙ cc C Compiler

⊙ compress 將檔案壓縮成 *.Z 格式

⊙ uncompress 將 *.Z 格式的壓縮檔解壓

⊙ alias 替命令取別名

例︰alias dir 'ls -al'

以後打 dir 就等同於下 ls -al 命令

⊙ set 查看或設定 shell 變數

○ 這裡介紹幾個重要的變數︰

home︰你的 home directory.

path︰和 DOS 的 path 變數功能一樣,系統會順著 path 中的目錄

去找可執行檔。

term︰終端機形態,常用 vt100、vt102、ansi。

○ set <變數名=<設定值 就可以設定變數的值,$<變數名 代表此變數

的值。例如︰set term=vt100 ; set path=($home/bin $path)

另外須注意 path 的第一個目錄最好不要設為 . ,這是系統安全的考量

⊙ setenv 查看或設定環境變數

⊙ echo 回應訊息到標準輸出

⊙ sort 資料排序

⊙ su 權限轉換為指定使用者

⊙ banner 放大特定字串

⊙ calendar 重要事項提醒

⊙ spell 拼字檢查

⊙ sleep 暫停一段時間不使用 CPU(通常用在 Shell Script)

⊙ test 測試檔案型態或檢查字串、數值大小(通常用在 Shell Script)

⊙ wait 等待 process 執行結束(通常用在 Shell Script)
○ 第七節 終端機常用控制鍵 ○
□ Ctrl-C 中斷程式的執行。

Ctrl-Z 暫停程式的執行,稍後可下 fg 或 bg 指令繼續,若未下 fg 或

bg 指令繼續執行,該 process 仍會留在系統內。

Ctrl-S 或 Pause 鍵 螢幕暫停輸出

Ctrl-Q 螢幕恢復輸出

Ctrl-D EOT (End of Transmission)

□ 有時候按了鍵盤,螢幕卻沒任何反應,看起來好像當機,可能就是不小心按了

Ctrl-S 鍵,此時按 Ctrl-Q 就可恢復正常。

□ 若你輸入中文時,螢幕卻出現亂碼,請先於 UNIX 提示符號下打 stty pass8,

系統就不會過濾字元的 bit7(the most significant bit)。

□ 若你進編輯器或者其他的全螢幕程式,出現螢幕文字上卷的問題時,請先於

UNIX 提示符號下打 stty rows 24 或 resize 就可恢復正常。
○ 第八節 管道(pipe)及輸出入重導(redirection) ○
□ UNIX 把輸出入設備亦視為檔案,這些設備可能是鍵盤,螢幕,印表機,也可以

是磁盤檔,以下是 UNIX 的標準輸出入設備︰

⊙ 標準輸入(stdin)

平時為鍵盤,可用 < 轉向。

例︰mail b82000 < myfile 可將 myfile 檔案寄給 b82000

⊙ 標準輸出(stdout)

平時為螢幕,可用 轉向,用 可將結果附加(append)在檔案尾端。

例︰finger b81045 myfile 可將查詢結果寫在 myfile 檔案上。

⊙ 標準錯誤輸出(stderr)

平時為螢幕,如 stdout 被轉向,仍可在螢幕看到錯誤訊息。 stderr 可用

& 轉向,用 & 將錯誤訊息附加在檔案尾端。

□ 管道︰管道的符號是 "|",用來連接兩個命令。"|" 左邊指令的輸出作為 "|"

右邊指令的輸入。例︰ls -l .. | more 可將上一層目錄內容以一頁一頁方式

輸出;who | grep b.503 | sort | more 可將目前上線的電機系學生名單經過

排序後分頁輸出。
○ 第九節 Shell 與 Shell Script 簡介 ○
□ DOS 的 COMMAND.COM 就是一種 shell,負責解譯你所下的指令並執行它。同樣

的,UNIX 上也有這樣的東東,它是在你成功 login 以後由系統自動啟動的。

UNIX 上有不少種 shell,sh, csh, ksh, tcsh, bash 等皆是,一般都是用csh

,login shell 可用 ypchsh 命令改變,但你必須先知道你要換的新殼子在那

個目錄下。tcsh 有類似 DOSKEY 的功能,值得推 。

□ DOS 中有所謂的批次檔,用以方便處理一些例行工作。UNIX 也有批次處理,它

就叫做 Shell Script,而且比 DOS 的批次檔強很多,寫法幾乎是一個高階語

言。Shell Script 是個文字檔,但其地位和其它的命令或可執行檔是完全相同

的,只要用 chmod 指令將 Shell Script 存取權設為可執行即可。欲知 Shell

Script 寫法及其相關細節,請參閱 manual page 或 UNIX 相關書籍。

□ $home 目錄下的 .login 檔就是一個典型的 Shell Script,類似 DOS 的

autoexec.bat。
○ 第十節 X Window 視窗系統簡介 ○
□ 若你在工作站主機 login,可打 startx 或 openwin 指令進入 X Window 系統

,進入 XWindow 後按滑鼠左鍵或右鍵不放,可看到系統選單,選擇你要執行的

程式,選 Exit 就可離開 XWindow 系統。進入 X Window 後可啟動 cxterm 就有中文視窗。

□ X Window 系統大而繁雜,但操作上不難,欲深入 解其功能可參閱 X Window

的標準本 <The X Window System, Volume 3: X Window System User's Guide

for X11R5 。網路上也有免費的 X Window 入門指南中文本,可進各大gopher

站查閱或抓取。
前一個主題 | 下一個主題 | 頁首 | | |



Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|