一、個人帳號及簽入、簽退方式

UNIX是一個多人多功的作業系統,因為是「多人」,所以使用者必須要有一個「帳號」才能被� 像進入 UNIX 環境中工作,而這個進入自己帳號的動作就是所謂的「簽入」。

在以往習慣上,一般使用者常常採用 NCSA 通訊軟體由 PC 簽入工作站,即在 DOS 提示符號下鍵入如下指令: 英文模式下

        telnet [工作站]

中文模式下(需先進入中文系統)
        ncutel [工作站]
nctutel [工作站]
nsysutel [工作站]

另外,您也可以利用視窗環境下,包括 WIDOWS 3.1及 WINDOWS 95、或是麥金塔 PC,的各種通訊軟體,如 SPTNET、NETTERM... 等等連上 UNIX 主機,如:

  而無論你採用何種方式,在連接上之後,您都將依序被詢問:

1. Login:    (請輸入帳號名稱 )
2. Password:   (請輸入密碼 )

若帳號名稱與密碼無誤,就可以順利地進入個人的帳號中。要注意的是:在 UNIX 環境中,包括帳號與密碼的輸入,每個字母的大小寫並不互通,因此若輸入帳號或密碼時 大小寫搞錯,便無法順利進入帳號中。

至於「簽退」則是指離開自己帳號的動作, 可使用的指令有 exit、logout,或按功能鍵 CTRL-d。

附註:
計算機中心現有 Y11、Y12、...Y16 等七部工作站提供給同學使用,只要是辦妥註冊手續的同學就可以在這些工作站上擁有一個帳號,帳號名稱為:

    大學部:字母 u 加個人學號,如 u830101。
    碩士班:字母 g 加個人學號,如g831012。
    博士班:字母 d 加個人學號,如 d832005。
密碼則是個人的身分證編號 ( 開頭的英文字母須大寫 ); 至於教職員則需提出申請,在建好帳號後另行通知。

二、HOME DIRECTORY 的觀念

unix 乃是一多人多功的作業系統,也就是說,在同一個時間內, 通常會有許多人在同樣一部機器上、進行著許多不同的工作。 因此, UNIX不可能讓所有的使用者都進入根目錄,隨心所欲的做各人想做的事,而造 成使用者間檔案狀態的衝突。

針對這個問題, UNIX 的解決方式是:將磁碟空間做一完整的規劃,給每一個使用者都能有一個完全屬於他自己的磁碟空間,不致於有破壞別人檔案或檔案被別人破壞的情況發生,而這個屬於個人的磁碟空間(一 個目錄),就是個人使用者的 Home Directory。

個人的 Home Directory 的位置通常是因系統管理者的規劃而有所不同,如建在 /usr2/u/cc、/usr2/u/ee 底下等等( '/' 即相當於 DOS 中的 '\',代表根目錄或路徑中目錄間的區隔符號),UNIX 是以變數 HOME 來儲存帳號的 Home Directory 的所在位置,您可在 UNIX �6境中以下列指令得知帳號 Home Directory 的位置:

      echo $HOME

另外,無論我們將目錄更換到那個位置,只要使用 'cd' 指令、不加任何參數,即可回到自己的 Home Directory 目錄中。

三、UNIX基本指令

1. man [CMD]

可查閱命令[CMD]的用途、語法、參數及相關訊息,如

            man ls  或   man rm
即可查看 ls 或 rm 指令之用法,另 man intro' 可查看在 UNIX 中所有的可使用指令。

2. passwd

可更改自己的密碼,以減少被入侵的機會。此指令執行後,需先輸入舊密碼,在核對無誤後才開始輸入新密碼,如:

       Old password:    (輸入原來的舊密碼)
       New password:    (輸入想要的新密碼)
       Retype new password:     (再輸入一次新密碼以做確認)
3. touch [FILE]

產生一個檔案大小為0的空檔案。

4. mkdir [DIR]

產生一新的空目錄,[dir]為目錄名稱。

5. rmdir [DIR]

刪除一空目錄(若要刪除的不是空目錄,則用rm -r [DIR]指令加以刪除)。

6. cd [DIR]

可更換現行目錄,若不指定目錄名稱(只下'cd'),則是將現行目錄更換到自己的HOME DIRECTORY。

7. pwd

顯示目前所在的目錄位置。

8. ls [-al] [DIR]

顯示現行目錄或指定目錄的檔案資料,若加上'-a'參數可將隱藏檔(檔名以'.'開頭的檔案)的資料一併顯示;若加上'-l'參數則可顯示較詳細的檔案資料,如檔案擁有者、檔案大小、產生日期... 等。

9. rm [FILE]

刪除一個或多個檔案,若加上'-r'參數則可刪除一目錄及此目錄下的所有檔案。

10. mv [FILES1] [ [FILES2] or [DIR]] ]

將[FILES1]改名為[FILES2],或將它的位置移到[DIR]目錄下。

11. cp [FILES1] [ [[FILES2] OR [DIR]] ]

將[FILES1]拷貝一份、命名為[FILES2]或放到[DIR]目錄下,且[[FILES2] or [dir]]是不能省略的,若要將某一檔案拷貝到現行目錄中,請下 cp [FILE] .

12. echo [STRING]

在畫面上顯示一字串或一變數內容,如

            echo $HOME     顯示HOME變數之內容
            echo $SHELL    顯示SHELL變數之內容
13. cat [FILE]

顯示檔案的內容、且不分頁。

14. more [FILE] 或 pg [FILE]

分頁顯示檔案內容,超過一頁的檔案可用跳到下一頁、'b'跳回上一頁、'q'停止檔案的顯示。

15. clear

清除畫面上所有訊息。

16. grep [STRING] [FILE]

在檔案中尋找某一字串、並將含有此字串的那行資料顯示在畫面上,如:

            grep jlin /etc/passwd
也可用'|'附加於某一指令之後,作用在於過濾將出現的訊息,如
            ls -al|grep log
即只顯示檔案資料中含有'log'這個字串的那幾行資料。

17. whereis [COMMAND]

當您不清楚某一命令的所在路徑時,可用這個指令幫忙尋找,此指令功能與which指令類似。

18. find

根據檔名(-name)或其他特性尋找檔案的所在,並不侷於命令檔的尋找,如

            find / -name passwd -print
即自根(/)開始、往下尋找檔名為passwd的檔案、並將之列印到螢幕上(-print)。

19. ps

顯示各process的編號(PID)、執行狀態等,如命令是IDLE、TERMINATED、SLEEP或RUNNABLE。

20. kill [-9] [PID]

將屬於自已的某一個PROCESS刪除,不再執行。

21. df

顯示所簽入機器上有那些檔案系統(類似DOS的磁碟)、及各檔案系統空間的使用情況。

22. quota -v

可看出某位使用者磁碟空間、檔案個數的配額及配額使用上的情況,如:

    Disk quotas for jlin (uid 108):
    Filesystem     usage  quota  limit    timeleft  files  quota  limit  timeleft
    /a/thccy14/usr4/oz
                    6410  25000  30000                104    950   1000
若 usage 超過 quota,表示所使用的磁碟空間已超過配額,此時須趕快清除不必要的檔案,否則系統將在期限到期(從超過配額起七天後)隨機刪除您的檔案,且使用的磁碟空間若 超過配額,在使用電子郵件收信時也會有不能收信的情況發生,須特別注意。

23. nslookup [IP or DOMAIN NAME]

以主機的IP、DOMAIN NAME或別名(ALIAS)三者之一查詢這部主機的這三種資料。

24. ping [IP]

可傳送一些訊息到網路上某一定點,以是否收到一些回應來測視所在位置和這一定點間網路是否通暢。

25. who or w

列出所有在線上的使用者,及其簽入時間、地點、及正在進行中的指令。

26. finger [ID]@[MACHINE]

觀察在某部機器上的某個使用者的情況,如最後一次簽入的時間、看信的時間...。

27. chsh

改變簽入時所用的shell(為unix的命令編譯器),常見的shell如sh、csh、tcsh、bash...等,當執行此命令時將被詢問: New shell: 此時,請輸入shell的完整路徑,如/bin/csh(可參考/etc/shells檔案的內容)。

四、檔案的MODE

UNIX檔案系統中,檔案及目錄名稱並不像DOS系統有不能超過8個字元的限制,也沒有副檔名,使用者可視自己的需要決定檔名的形式與長度。 此外,UNIX檔案系統的最大特色在於:它系統下的每一個檔案或目錄都有它們自己的mode:當您以'ls -l'指令查看檔案狀況時,應該會看到如下的類似訊息:

    drwxrwx---  2 jlin        512 Dec 31 08:39  Mail
    -rw-r--r--  1 jlin        191 Feb  2 14:43  memm
    -rwxrwxrwx  1 jlin         13 Feb 16 12:26  test
訊息中的第一個字元顯示檔案的種類,它可能是:
    d    表示是一個目錄
    -    表示是一般的檔案
    l    做了跨檔案系統連結(SYMBOLIC LINK)的檔案或目錄
接下來的九個字母則依序分為三組,分別代表檔案擁有者(USER)、與檔案擁有者屬於同一個group的使用者(Group)、其他使用者(Others)等三組使用者對這個檔案的存取權限,而每一組 的三個字元依次代表該組使用者對這個檔案讀(read,代表數字是4)、寫(write、代表數字是2)、執行(execute、代表數字是1)的權利,若位置上出現'-',則表示它所代表的權限是 被禁止的。如上述的

由於UNIX檔案系統的這種特性,我們可藉著對檔案或目錄'mode'的控制,而達到控制檔案保密性的目的。檔案擁有者可使用如下指令來改變檔案及目錄的'mode':

    chmod nnn [FILE]
其中nnn三個數字依次代表user、group與Others的權利狀態,n最大為7、最小為0,是各權限代表數字的和。
        n           權利狀態
        ─          ────
        0           ---  ( 0+0+0 )
        1           --x  ( 0+0+1 )
        2           -w-  ( 0+2+0 )
        3           -wx  ( 0+2+1 )
        4           r--  ( 4+0+0 )
        5           r-x  ( 4+0+1 )
        6           rw-  ( 4+2+0 )
        7           rwx  ( 4+2+1 )
如執行
        chmod 444 test
則test的mode變成
    -r--r--r--  1 jlin         13 Feb 16 12:26  test
對所有的使用者來說,test都是一個read only的檔案,如此我們就可依檔案的重要性及安全性的考慮,開放自己的檔案,以期達到資源共享,或關閉自己的檔案,以達到機密性與安全性的要求。

五、檔案的連結

因使用上的需要,我們必須讓某一個檔案同時存放在許多不同的路徑下,但若使用'cp'指令,把這個檔案拷貝到各路徑下,則同一份資料就佔據了多份的磁碟空 間,不旦造成磁碟空間的浪費,且當檔案內容需做更動時,我們也必需一一加以修正,既麻煩又可能會有遺漏,實非良策。

在UNIX系統中,我們可用'ln'指令做檔案的連結以解決上述的困擾,指令的下法為:

    ln [FILE1] [FILE2]
即把[FILE1]這個檔案資料在磁碟中存放的起始位置存放到[FILE2]中,換句話說,[FILE2]的內容只是一個指標,它指向[FILE1]的資料儲存區,當使用者呼叫[FILE2]時,系統就到它所記載的位置上讀取 [FILE1]的資料來使用,若資料經過修改後存檔,也是存到它所記載的指標位置。

這個作法可以使各路徑下所有連結起來的檔案,能做同步的修改,避免操作上的麻煩或遺漏,同時也可以避免同一資料重複使用磁碟空間、造成浪費,為UNIX檔案系統的一大特色。

PS. 若欲連結的兩個檔案分屬兩個不同的檔案系統,則連結時須加上'-s'參數,做所謂Symbolic Link,如:

        ln -s [FILE1] [FILE2]

六、VI編輯器的使用

vi是UNIX系統內附的全螢幕編輯器,只要您的機器使用UNIX作業系統,您就幾乎一定有vi可以使用,vi在使用時分為三個模式:

1. 文字輸入模式(Text Input Mode)
2. 命令模式(Command Mode)
3. 列命令模式(Last Line Mode)
當我們以'vi [FILE]'指令進入vi編輯器時,就是在命令模式狀態下,此時可使用游標鍵在資料區內移動游標,但無法輸入資料,必須以下列任一命令鍵進入文字編輯模式,才能輸入資料:

    a    Append Data
    A    Append Data on the End of th Line
    i    Insert Data
    o    Insert a New Line Below
    O    Insert a New Line Above

進入文字編輯模式後,即可開始編輯,在編輯過程中,可用[return]鍵換行,用[backspace]刪除游標前的字元,游標鍵則失去功能,您將發現使用游標鍵只會看到一些亂碼,此時按 [esc]就會再回到命令模式,游標鍵的功能也再度恢復。

在命令模式中除了上述a、i、o、O等指令外,尚有:

    dd    刪除一行
    dw    刪除一個字組(word)
    x     刪除一個字元,'4x'即相當於下'xxxx'
    r     將游標所在位置的字元更改成稍後輸入的字元
    R     將一字組更換為稍後輸入的字組
    u     取消前一個指令,恢復未下指令前之狀況
    U     取消之前下過的所有指令
    /[STRING]   在資料中尋找[STRING]這個字串,
    若有重覆尋找的必要,可按'n,(next)繼續尋找下一個符合的字串。
    CTRL-f    游標往前跳24行
    CTRL-b    游標往回跳24行
如果現在我們位於命令模式中,我們就可使用以下的列命令(一律以':'為開頭):

    :r [FILE]    將[FILE]的內容插入游標所在處。
    :w           將資料存起來,但不離開編輯畫面。
    :wq          將資料存檔並離開編輯畫面。
    :q!          離開編輯畫面,且更改的資料不存檔。
    :q           離開編輯畫面,資料未做任何更動。
附表. DOS 與 UNIX 常用指令對照表
DOS                  UNIX              Description
=================    ================    ===================
\                    /                   根目錄
.                    .                   現在所在目錄
..                   ..                  上一層目錄
attrib +r [FILE]     chmod 444 [FILE]    設定檔案的屬性
cd                   pwd                 顯示現行路徑
cd [DIR]             cd [DIR]            更換現行目錄位置
chkdsk               df, du, quota       顯示磁碟空間使用狀況
cls                  clear, tput clear   清除畫面上的訊息
command              sh                  啟動命令編譯器
comp [FILE1] [FILE2] cmp [FILE1] [FILE2] 比較兩檔案間之不同
copy [FILE1] [FILE2] cp [FILE1] [FILE2]  檔案之拷貝
date, time           date                顯示系統時間
del [FILE]           rm [FILES]          刪除檔案
deltree [DIR]        rm -r [DIR]         刪除一個目錄
dir                  ls -al              顯示目錄下的檔案資料
echo [STRING]        echo "[STRING]"       顯示一字串
exit                 exit                離開一命令編譯器
find "[STRING]" [FILE] grep [STRING] [FILES] 尋找一字串
md [DIR] mkdir [DIRS] 產生一目錄
more < [FILE] more [FILES] 分頁顯示檔案內容
move [FILE] [DIR] mv [FILE] [DIR] 改變檔案位置或檔名
print [FILES] lp [FILES] 列印檔案
                     lpr [FILES]
rd [DIR]             rmdir [DIRS]        刪除一空目錄
ren [FILE1] [FILE2]  mv [FILE1] [FILE2]  改變檔案名稱
set                  set                 列出環境變數
sort < [FILE]        sort [FILES]        將檔案排序
type [FILE]          cat [FILES]         不分頁顯示檔案內容
ver                  uname -a            顯示作業系統版本
備註:本中心所提供的工作站因未安裝印表機,所以上述的印表指令在本中心的工作站上是無法使用的。