□ 一.  關於Internet Archie服務系統-- 讓您輕鬆找到您所要的檔案

   不管多麼完整的資料庫, 假如沒有一個非常好的檢索方法, 那資料庫
的作用可必然大打折扣了, 這情況用在電腦資料庫或者一般圖書資料都一
樣適用, 試想一個沒有檢索方法的康熙字典會是個什麼樣子!

   Archie 就是這樣的工具, 它讓您在浩翰的資料裡, 搜尋您要的東西,
告訴您資料在那裡, 及如何取得它。具體的說, Archie是個專精於”代客
尋檔”的伺服器, 取得Archie服務的管道也有很多種, 包括電子信件、
Archie請求程式或者用Telnet與該伺服器連線等等, 本節只有示範Telnet
的操作, 至於用E-mail的方法請參考第一章第六節。

    Archie所提供的檔案收尋服務, 是針對FTP檔案庫的收藏而言, 而不是
不是一般資料庫的檢索服務。有些時候, 當您想取得某一個不完全知道檔
案名稱的檔案(比方叫做kermit* 什麼的), 或者您知道檔案名稱但是不知
道何處可得等等情況, 您非倚重Archie的服務不可。

   目前查尋可得的FTP資料伺服器約近一千個, 但筆者猜, 實際數字一定
更多些, 在這麼多資料庫裡, 您能夠想像, 這不就真的是大海撈針嗎! 要
在這麼多的FTP資料伺服器裡尋找您要的檔案, 這會是一個巨大的任務! 究
竟Archie 是如何幫您辦到的呢?
         
   根據筆者從文件上閱讀的訊息, Archie 是這樣辦到的: Archie據說每
天晚上都會到各個FTP檔案庫去串門子, 順便帶些禮物回來 (該檔案庫的目
錄及檔名, 但不包括檔案內容) , 抓過來後將這些禮物儲存起來並作更新的
動作, 就這樣它在Internet下約有600個檔案庫裡一個個輪流, 以目前來說,
Archie 平均每月可以拜訪各FTP檔案庫一次。

    Archie自己的資料庫所典藏的, 就是這些抓回來的”檔案的檔案”, 當
您連線查詢時, 它就在自己的資料庫裡找,  (您不要誤以為它立刻去世界各
地瀏覽, 幫您找您要的東西! ) 找到後, 就將這些檔案的檔案呈現給您。


┌──────────────────────────────────────────┐
│ Host plaza.aarnet.edu.au    (139.130.4.6)   ← 資料庫地址                          │
│                                                                                    │
│ Last updated 14:39 27 May 1992              ← 最新更新日期                        │
│                                                                                    │
│ Location: /micros/mac/info-mac/Old/card     ← 所在目錄, 及下一行檔名              │
│                                                                                    │
│ FILE      rw-r--r--     22700  Jul  1  1991    chinese-chess.hqx.Z                 │
└──────────────────────────────────────────┘

    Archie就是這樣的一個系統。提醒讀者這仍是一套”發展中”的系統,
所以您不滿意的地方或閣下高見都可E-mail 給 archie-1@cs.mcgill.ca.。

    我們就開始試著操作看看。 (記性好的讀者一定想起來了, 上一節不就
是用Archie舉例的嗎! 您應該有從那得到一些概念吧。)

┌──────────────────────────────────────────┐
│ $ telnet archie.ncu.edu.tw     ← 連線archie 系統, 這是筆者常用的系統              │
│                                   本系統位於臺灣中央大學                           │
│ Trying 140.115.19.24 ...                                                           │
│ Connected to 140.115.19.24.                                                        │
│ Escape character is '^]'.                                                          │
│                                                                                    │
│ SunOS UNIX (sparc4)        (連線成功)                                              │
│                                                                                    │
│ login: archie                ← 用〞archie〞或者〞twarchie〞帳號進入系統           │
│                                 (〞twarchie〞使指令搜尋範圍只限於臺灣)             │
│ Last login: Thu Dec 30 11:37:17 from 140.114.78.200                                │
│ SunOS Release 4.1.1 (sparc15) #1: Tue Nov 12 05:15:31 CST 1991                     │
│                                                                                    │
│                   站名 ..... (略過)                                          │
│                                                                                    │
│ archie> set term chinese  ← 設定服務訊息以中文顯示                                │
│ archie> help  ← 我們可以從help 瞭解各指令的詳細使用方式                           │
│ Help這個指令可以給你各種不同標題的資訊,包括有那些可用的指令及如何去使用           │
│ 這些指令。告訴archie server 你的終端機型式和大小 (經由 "term" 這個變數)            │
│ ,以及使用 pager (經由 "pager" 這個變數) 可使你有較好的使用者介面。                │
│                                                                                    │
│ 可用的 help 標題有下列幾種:                                                       │
│                                                                                    │
│     about      - 對 archie server 的一些介紹                                       │
│     bugs       - 已知的 archie server 缺點及不良好的特徵                           │
│     bye        - 與 "quit" 指令功能相同                                            │
│     email      - 如何使用 archie server 的電子郵件                                 │
│     exit       - 與 "quit" 指令功能相同                                            │
│     help       - 本篇文章                                                          │
│     list       - 列出在 archie server 資料庫中的節點名稱                           │
│     mail       - 將輸出結果寄給使用者                                              │
│     nopagger   - *** 請使用 'unset pager' 指令                                     │
│     pager      - *** 請使用 'set pager' 指令                                       │
│     prog       - 在資料庫中搜尋某一個檔案                                          │
│     quit       - 離開 archie                                                       │
│     set        - 設定變數                                                          │
│     show       - 顯示各變數的值                                                    │
│     site       - 顯示某一個 archive site 中所有的檔案                              │
│     term       - *** 請使用 'set term ...' 指令                                    │
│ Press return for more:                                                             │
│     unset      - unset變數                                                         │
│     whatis     - 在軟體描述資料庫中搜尋某關鍵字                                    │
│                                                                                    │
│ 如果想得到上述某一標題的資訊,請鍵入                                               │
│     help                                                                    │
│                                                                                    │
│ 在 help prompt 之下,一個 '?' 符號會列出可用的次標題。                             │
│                                                                                    │
│                                                                                    │
│ Help topics available:                                                             │
│         about   bugs    bye     email                                              │
│         list    mail    nopager prog                                               │
│         regex   set     show    site                                               │
│         term    unset   whatis                                                     │
│                                                                                    │
└──────────────────────────────────────────┘
┌──────────────────────────────────────────┐
│ Help topic? prog   ← 這裡我想查詢〞prog〞指令的進一步訊息                         │
│ 'prog' 指令允許你針對某一個型式 (pattern) 去搜尋資料庫。                           │
│                                                                                    │
│ 用法:                                                                             │
│                                                                                    │
│     prog                                                               │
│                                                                                    │
│ 其中  的解釋必須看 'search' 這個變數的值。它可以以不同的方             │
│ 式進行搜尋。請參閱 'search' 變數的詳細 help 說明。                                 │
│                                                                                    │
│ prog 的輸出也可以以各種不同的方式進行排序,這必須看 'sortby' 變數的值才            │
│ 可決定。請參閱 'sortby' 變數的詳細說明。                                           │
│                                                                                    │
│                                                                                    │
│ Subtopics available for prog:                                                      │
│         regex                                                                      │
│                                                                                    │
└──────────────────────────────────────────┘
┌──────────────────────────────────────────┐
│ Help topic? mail   ← 查詢〞mail〞指令                                             │
│                                                                                    │
│ 'mail' 指令有兩種格式:                                                            │
│                                                                                    │
│     mail [,...]                                   │
│                                                                                    │
│ 上述格式是將最後執行的指令之輸出結果寄給指定的位址 (或是以逗號為                   │
│ 的一串地址) 。                                                                     │
│                                                                                    │
│     mail                                                                           │
│                                                                                    │
│ 上述格式則是將輸出結果寄給 "mailto" 變數所指定的位址。                             │
│                                                                                    │
│ 所有的 Internet 位址樣式皆可被了解。BITNET 節點使用下列的表示:                    │
│                                                                                    │
│     user@sitename.bitnet                                                           │
│                                                                                    │
│ UUCP 位址應該表示成                                                                │
│                                                                                    │
│     user@sitename.uucp                                                             │
│                                                                                    │
│ 假如你想要寄到一個 Internet IP 位址的話,則請使用 '[]'。                           │
│                                                                                    │
│                                                                                    │
│                                                                                    │
└──────────────────────────────────────────┘
┌──────────────────────────────────────────┐
│ Help topic? set term     查詢〞set term〞的詳細使用法                              │
│                                                                                    │
│ 'term' 這個變數告訴 archie 你所使用的終端機是何種型式、行及列的大小。這            │
│ 個資訊主要是要給 pager 所使用。                                                    │
│                                                                                    │
│ 用法:                                                                             │
│                                                                                    │
│    set term  [<#rows> [<#columns>]]                                 │
│                                                                                    │
│ 也就是說,終端機的型式是一定要給的參數,列和行的大小則不一定要定義。你             │
│ 可以只指定列的值,但是假如你想要改變行的大小的話,則你必須同時指定列和             │
│ 行的值。列和行的預設值各為 24 和 80。                                              │
│                                                                                    │
│ 例如:                                                                             │
│                                                                                    │
│    set term vt100                                                                  │
│                                                                                    │
│    set term xterm 60                                                               │
│                                                                                    │
│    set term xterm 24 100                                                           │
│                                                                                    │
│ 如果使用者想使用中文,必須先設定你的終端機型態。我們提供了四種中文終端             │
│ 機型態: chinese, cxterm, vt100-ch 及 vt102-ch。                                   │
│ Press return for more:                                                             │
│                                                                                    │
│ archie server可以以下列兩種方式接受使用者所定的終端機型態:                        │
│                                                                                    │
│ 1.在尚未進入 archie server 以前,先設定好你的中文終端機型態。                      │
│                                                                                    │
│ 例如:                                                                             │
│                                                                                    │
│     some-host% set term=chinese                                                    │
│     some-host% telnet archie.ncu.edu.tw                                            │
│                                                                                    │
│ 2.在 archie 中設定終端機型態。                                                     │
│                                                                                    │
│ 例如:                                                                             │
│                                                                                    │
│      archie> set term chinese                                                      │
│                                                                                    │
└──────────────────────────────────────────┘
┌──────────────────────────────────────────┐
│  archie> set term vt100    ← 設定終端機為英文的VT100型式(如此以外就沒有中文說明)  │
│  archie> help  ← 再試試看Archie使用英文來解說                                     │
│                                                                                    │
│   Help gives you information about various topics, including all the               │
│   commands that are available and how to use them.  Telling archie about           │
│   your terminal type and size (via the "term" variable) and to use the             │
│   pager (via the "pager" variable) is not necessary to use help, but               │
│   provides a somewhat nicer interface.                                             │
│                                                                                    │
│   Currently, the available help topics are:   以下是命令, 讀者稍微瀏覽即可         │
│                                               , 在後面筆者會有例子介紹             │
│      about   - a blurb about archie                                                │
│      bugs    - known bugs and undesirable features                                 │
│      bye     - same as "quit"                                                      │
│      email   - how to contact the archie email interface                           │
│      exit    - same as "quit"                                                      │
│      help    - this message                                                        │
│      list    - list the sites in the archie database                               │
│      mail    - mail output to a user                                               │
│      nopager - *** use 'unset pager' instead                                       │
│      pager   - *** use 'set pager' instead                                         │
│      prog    - search the database for a file                                      │
│      quit    - exit archie                                                         │
│      set     - set a variable                                                      │
│      show    - display the value of a variable                                     │
│      site    - list the files at an archive site                                   │
└──────────────────────────────────────────┘

    Archie的使用非常簡單, 您若有任何不懂, 或者您想進一步知道某指
令的詳細使用法, Archie的線上說明就是一個最好的幫手, 尤其當您有中
文連線的能力的時候。是這個原因, 以下我們只有示範操作, 而沒有額外
指令解說。

┌──────────────────────────────────────────┐
│  archie> set maxhits 5  ← 設定系統只要找到五個就停止搜尋                          │
│                             底下設定搜尋結果email給這兩個人                   │
│  archie> set mailto t900238@vm.cso.niu.edu, stud001@twnmoe10.bitnet                │
│  archie> show           ← 顯示設定狀況                                            │
│  # 'autologout' (type numeric) has the value '15'.                                 │
│  # 'mailto' (type string) has the value 't900238@vm.cso.niu.edu,                   │
│                                          stud001@twnmoe10.bitnet'.                 │
│  # 'maxhits' (type numeric) has the value '5'.     ←  注意maxhits及               │
│  # 'pager' (type boolean) is not set.                  mailto已更改                │
│  # 'search' (type string) has the value 'regex'.                                   │
│  # 'sortby' (type string) has the value 'none'.                                    │
│  # 'status' (type boolean) is set.                                                 │
│  # 'term' (type string) has the value 'dumb 24 80'.                                │
│                                                                                    │
│  archie> prog taiwan*music  ← 我們找台灣及音樂有關的任何東西                 │
│  # matches / % database searched:    0 /  0%             0 /  4%                   │
│      0 /-68%             0 /-64%                                                   │
│  # No matches were found.        ← 沒找到                                         │
│  archie> prog music*taiwan* ← 名字調過來, 再查                               │
│  # matches / % database searched:    0 /  0%             0 /  4%                   │
│      0 /-68%             0 /-64%                                                   │
│  # No matches were found.        ← 還是沒找到                                         │
└──────────────────────────────────────────┘

┌──────────────────────────────────────────┐
│  archie> set maxhits 20      ← 我們再重新設定搜尋20個                         │
│                                                                                    │
│  archie> prog ^Taiwan*    ← 我們找以Taiwan開頭的任何東西, 結果找到五個       │
│  # matches / % database searched:    0 /  0%             0 /  4%                   │
│      3 /-76%             3 /-72%             3 /-68%             5 /               │
│                                                                                    │
│  Host nic.funet.fi   (128.214.6.100)   ← Archie一找到就列印出來 (共五筆)          │
│  Last updated 06:28 16 Jul 1992                                                    │
│                                                                                    │
│      Location: /pub/doc/World-Factbook                                             │
│        FILE      rw-rw-r--      9789  Apr  4  1991   Taiwan                        │
│                                                                                    │
│  Host relay.cs.toronto.edu   (128.100.3.6)                                         │
│  Last updated 02:44 16 Jul 1992                                                    │
│                                                                                    │
│      Location: /doc/geography/world                                                │
│        FILE      rw-r--r--      9789  Mar 31  1991   Taiwan                        │
│                                                                                    │
│  Host ftp.uu.net   (137.39.1.9)                                                    │
│  Last updated 00:08  3 Jul 1992                                                    │
│                                                                                    │
│      Location: /doc/literature/obi/FoundingFathers                                 │
│        DIRECTORY rwxr-xr-x       512  Jun 12 21:39   Taiwan                        │
│                                                                                    │
│  Host van-bc.wimsey.bc.ca   (192.48.234.1)                                         │
│  Last updated 00:47 12 Jul 1992                                                    │
│                                                                                    │
│      Location: /usenet/comp.archives/auto/soc.culture.taiwan                       │
│        FILE      r--r--r--      7006  Jul  8 23:36                                 │
│        Taiwan-netnews-FTP-sites-Chinese-character-software                         │
│                                                                                    │
│  Host srawgw.sra.co.jp   (133.137.4.3)                                             │
│  Last updated 21:51 17 Jul 1992                                                    │
│                                                                                    │
│      Location: /.a/sranha-bp/arch/arch/comp.archives/auto/soc.culture.taiwan       │
│        FILE      rw-r--r--      7526  Jul  7 21:45                                 │
│        Taiwan-netnews-FTP-sites-Chinese-character-software                         │
│                                                                                    │
│  Host aix370.rrz.uni-koeln.de   (134.95.80.1)                                      │
│  Last updated 11:13 16 Jul 1992                                                    │
│                                                                                    │
│      Location: /.disk2/usenet/comp.archives/auto/soc.culture.taiwan                │
│        FILE      r--rw-r--      4274  Jul  8 06:00                                 │
│        Taiwan-netnews-FTP-sites-Chinese-character-software.Z                       │
│                                                                                    │
│  archie> mail  ← 找到後, 我們把它送給剛指定的兩個人                           │
│  # mailing results of "prog ^Taiwan.*" to t900238@vm.cso.niu.edu,                  │
│                stud001@twnmoe10.bitnet                                             │
└──────────────────────────────────────────┘


    依筆者經驗, 假如您已知道您要找的檔名 (這是最容易且最快的找法)
,Archie 會很快回應搜尋結果, 可是假如您不能確定檔名 (如上例) , 這
時就必須用些技巧了, 最好您事先設定搜尋數目, 不然系統自定值是1000,
很可能找很久都停不下來, 最糟糕的情況是當您沒法中斷搜尋時, 所以筆
者建議您先設定小數目像5或10來搜尋(maxhits), 不過仍依情況而異。以
上這一點對IBM VM/CMS 的用戶尤其重要, 因為閣下無法中斷搜尋, 您只能
讓 Archie一直找, 或者您不耐煩後中斷連線, 這樣中斷連線的作法是下下
之策。至於您若用Unix系統的telnet與Archie連線, CTRL-C 可以中斷搜尋
也可以中斷連線。

    另外值得一提的便是Unix的regular expression (中文大約可翻譯為
”正規表示法”) , 筆者上例中指定”^Taiwan*”就是應用這表示法來幫
忙設定檔名。您指定檔名時可以用一些符號來輔助, 此例”^Taiwan”便是
指定以Taiwan開頭的檔案, 注意, 系統內定值已忽略調大小寫 (當然您可
以改變) , 所以Taiwan與taiwan在此並無不同。關於這些檔名表示法, 這
對不熟悉Unix系統的人, 可能會有些小障礙, 不過幸好 Archie 系統本身
也有 regular expression 的線上輔助, 您鍵入 help regex 就可得到很
詳細的線上說明, 並且很多示範。一般而言, 若您指定 ”Taiwan”來搜尋
,Archie 會把檔名裡有taiwan字眼的檔案都列出來, 而不管其前後是否仍
有其它文字,像 kktaiwan report、taiwanese 都算符合這搜尋條件。

    基本上, Archie 只是架構在Unix上的一個應用軟體, 所以您所面對的
可以說完全是Unix的操作環境, 若您不熟Unix作業系統, 您一開始時難免
會操作不順, 您多光顧幾次Archie就能熟悉了, 這一點不需要擔心。筆者
稍舉一個例子, 若您發現您PC鍵盤上的倒退鍵不能倒退了, 這時試試
鍵 (刪除鍵) , 再不能, 試試Ctrl-H (Ctrl鍵與h鍵同時按)。另外提醒
VM/CMS 的使用者, 記得盡量不要使用大寫字母來操作, 因為Unix對大小寫
有不同的詮釋。

    閣下從Archie 搜尋得到結果後, 接下來, 您再透過FTP來擷取您所搜
尋的檔案。很簡單, 就只有兩個步驟, 先Archie後FTP。

    我們繼續找些其它東西:

┌──────────────────────────────────────────┐
│        archie> prog Taiwanese*   ← 找與Taiwanese有關的東西                        │
│        # matches / % database searched:    0 /  0%    0 /  4%~#3^C~@               │
│        ~#3Aborting...~@                                         ^^^^^              │
│                          您注意筆者按CTL-C中斷鍵停止搜尋 (〞^C〞符號便是)          │
│                                                                                    │
│        # No matches were found.         ←沒找到                                   │
│        # Mail command for "prog ^Taiwan.*" completed successfully                  │
└──────────────────────────────────────────┘

    Archie 有一個whatis的指命, 但您別誤會了它是百科全書的軟體,會
去CD-ROM裡找您要的答案且用語音輸出! 不, 它還沒這麼行, 基本上, 它
只尋找資料庫裡有的相關的文件, 把文件上的解釋拿出來給您看而已,別失
望了!

    mail指令把上一個指令 (注意, 只有上一個) 的結果E-mail到您指定
的地址, 這裡我們沒指定地址, 所以Archie會延用剛剛在set mailto所設
定的地址。


┌──────────────────────────────────────────┐
│        archie> mail                                                                │
│        archie> # mailing results of "site 140.111.2.22" to                         │
│                t900238@vm.cso.niu.edu, stud001@twnmoe10.bitnet                     │
│                                 沒東西可送, 因為上一個指令什麼也沒查到             │
│        # Mail command for "site 140.111.2.22" failed. No results to mail           │
│        archie> quit                                                                │
│        Connection closed by foreign host.                                          │
│        $     ← 回到Unix (shell) , 本例是透過Unix主機對外連線                      │
└──────────────────────────────────────────┘

    最後筆者重複摘錄剛剛ARCHIE.NCU.EDU.TW 的部分服務畫面, 這讓您
要利用Archie時可參考, 再提醒您, 儘量選擇離您最近的Archie連線, 讓
網路的負擔輕鬆些, 這樣子所有使用者才能蒙受高速傳輸的好處, 否則,抱
怨聲可就此起彼落了!

┌──────────────────────────────────────────┐
│    Australian users  : archie on archie.au (139.130.4.6), login "archie"           │
│    Canadian users   : archie on archie.mcgill.ca (132.206.2.3), login "archie"     │
│    European users   : archie on archie.funet.fi (128.214.6.100), login "archie"    │
│    UK users: archie on archie.doc.ic.ac.uk (146.169.11.3), login "archie"          │
│    US users: archie on archie.ans.net (147.225.1.2),                               │
│                        archie.sura.net (128.167.254.179),                          │
│                        archie.unl.edu (129.93.1.14),                               │
│                        archie.rutgers.edu (128.6.18.15), login "archie"            │
│    Israel :  archie.cs.huji.ac.il  ← 最後這兩行由筆者加入                         │
│    Asia Pacific     : archie.ncu.edu.tw                                            │
└──────────────────────────────────────────┘

    您若想知到更完整有關Archie server資料, 也很簡單, 您連線Archie
查一查 archie.site或類似的字眼, 大概就有了。

   ###  關於本文件的著作權及您被授權使用本文件的範圍 ###

   本文件的著作權人為曾瑞源先生。 關於本文件的使用, 您也被鼓勵將
   本文件拷貝到任何的Internet FTP檔案庫、Gopher、WWW、任何商業或
   業餘BBS站臺、或任何其他服務系統等等, 而無須知會作者, 無須支付
   任何費用給作者, 但在不違反以下聲明的情況下:

   1. 您被允許做任意數量的列印, 並將列印成品轉贈或轉移其他人, 唯
      不得收取高於實際列印成本的費用。
   2. 任何的轉出版、部份引用或摘錄需額外獲得作者授權, 換句話說,
      任何更動本著作原稿的動作, 在未經作者授權之前, 皆為不准。
   3. 若因本文件所包含的錯誤訊息對您造成損失, 您必須自行負責。
   4. 本著作權聲明為本著作的一部份, 任何將本著作與本聲明分離的
      動作, 已經違法。
   5. 關於本著作權聲明有語意不明確、或者其他未竟事宜, 請聯絡:
      Tzeng Ruey Yuan, 416 College Ave, DeKalb, IL 60115, USA
      或 電子信件地址 t90yuan@mp.cs.niu.edu






Web Page Copyright: 國立政治大學資訊科學系 連耀南 lien@cherry.cs.nccu.edu.tw  tseng.htm,  Sat Feb 5 07:26:49 CST 2011