一、前言

在 Internet 上的資源有許多種儲存方式,以大量檔案資料集中並分門別類儲存在
電腦主機內,提供網路上使用者上線取用,此種方式是為 FTP 檔案傳輸,而這一台存
有大量資料的電腦主機稱為檔案傳輸伺服器(FTP Server)。

在透過電話線使用 BBS 作檔案的上傳 (Upload) 與下載 (Download) 時必須經由
某種特別的傳輸協定 (如Xmodem,Ymodem,Kermit等) 來達成,而兩台在 Internet 上的
電腦主機也必須經由共同的網路檔案傳輸協定來進行檔案傳輸,FTP (File Transfer
Protocol) 即為網路檔案傳輸協定的原名,現在經由網路傳送接收檔案的動作亦可稱為
FTP。

在 Internet 上有許多的檔案伺服器,大部份是無條件地開放給使用者 (或稱作
Anonyimous FTP) ,使用者可利用在工作站上的 ftp 程式 (當然您必須要有帳號)
或是 NCSATEL 軟體內的 ftp 程式來存取檔案, 亦有些檔案伺服機會要求您輸入您
的 E'mail Address 作為密碼。

二、FTP 的使用

NCTUCCCA 是 Internet 上相當有名的網路檔案伺服機,IP-ADDRESS 是 140.113.
250.2,儲存的資料量非常大,以下就以此站為例解說 FTP 之使用:

1. 連接檔案伺服機:

UNIX 命令格式: ftp FTP-Server-Name/IP-address

即 unix> ftp NCTUCCCA 或
unix> ftp 140.113.250.2

DOS 命令格式: ftpbin FTP-Server-Name/IP-address

即 c:\ncsatel\ftpbin NCTUCCCA 或
c:\ncsatel\ftpbin 140.113.250.2

若有設定 Name-Server 或 IP-address 有加入 /etc/hosts (或config.tel) 中,
可以直接使用 FTP-Server-Name,否則就必須使用 IP-address。連接之後將出現如下
訊息:
Connected to Servers.nctu.edu.tw.
220 NCTUCCCA.NCTU.edu.tw(FTP.NCTU.edu.tw) Anonymous FTP Archives, WELCOME from
ccsun34.csie.nctu.edu.tw.
Name (NCTUCCCA:hschang): anonymous
^^^^^^^^^
在此輸入 username,在這裡是 anonymous FTP

331 Send your complete e-mail address ([email protected]) as password.
Password:[email protected]
^^^^^^^^^^^^^^^^^^^^^^^^
若是使用 anonymous FTP,則會要求您輸入 E'mail Address,若正確則有下面訊息:

230- Welcome [email protected]. Local time: Aug 30 21:52:42 1994.
230- It seems you are a newcomer.
230-
...
...
230-
230-Please read the file 00README.FTP
230- it was last modified on Sat Apr 2 01:40:37 1994 - 150 days ago
230 Guest login ok, access restrictions apply.
ftp>
上面的訊息提供一些對該站的說明,並告知使用者已經成功的連接到該站,假如上
面的步驟有錯誤,則可能出現如下的訊息:

530-
530- Sorry, the response 'Wrong E'mail Address' is not a valid e-mail
^^^^^^^^^^^^^^^^^^^^
這指您輸入的 E'mail Address 不是正確的

530- It is an anonymous ftp archive convention that you might be asked to
530- use your COMPLETE E-MAIL ADDRESS as your password. .......
...
...
530 Login incorrect.
Login failed.
ftp>

則指輸入之 password 不是所指定的 username 的。此時可利用 FTP 提供的 user
命令重新輸入 username 及 password。

FTP 命令格式: user [username]

即: ftp> user [username]

打入 user anonymous 後,FTP 會再要求 password (E'mail address),如果輸入
正確,則會再出現上列 login 成功的訊息。

2. FTP 常用指令說明:

ls 查看 Server 端的目錄或檔案

pwd 查看 Server 端目前所在的目錄

cd 變更 Server 端目前的目錄

cdup 變更 Server 端目前的目錄到上一目錄

lls 查看 Local 端的目錄或檔案

lcd 變更 Local 端目前的目錄

asc 設定傳輸模式為文字檔方式

bin 設定傳輸模式為二進位檔方式
get 將 Server 端的檔案拷貝至 Local 端現在目錄下

mget 拷貝多個 Server 端的檔案至 Local 端現在目錄下

put 將 Local 端的檔案拷貝至 Server 端現在目錄下

mput 拷貝多個 Local 端的檔案至 Server 端現在目錄下

delete 刪除 Server 端的檔案

mkdir 在 Server 端建立目錄

rmdir 刪除 Server 端的目錄

! shell 指令

!ls 查看 Local 端的目錄或檔案

prompt 變換交談模式 (on/off),

?,help 指令使用說明

bye 結束 FTP

下表是 FTP 的命令列表,可用 help 指令查詢用法:

! cr macdef proxy send
$ delete mdelete sendport status
account debug mdir put struct
append dir mget pwd sunique
ascii disconnect mkdir quit tenex
bell form mls quote trace
binary get mode recv type
bye glob mput remotehelp user
case hash nmap rename verbose
cd help ntrans reset ?
cdup lcd open rmdir
close ls prompt runique

3. 常用命令使用之例子:

ftp> pwd -- 顯示所在目錄
^^^
257 "/" is current directory.

ftp> ls -- 顯示所在目錄下的檔案或目錄
^^
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
00README.FTP
Chinese
Macintosh
NCTU
NeXT
Operating-Systems
PC
UNIX
USENET
X
ccc
computing-languages
documents
images
misc
packages
vendors
archive-info
00ls-lR
00ls-lR.gz
...tmp
...home
226 Transfer complete.
208 bytes received in 0.021 seconds (9.8 Kbytes/s)

上面所列出的目錄名是 NCTUCCCA 主要的資料分類,每個目錄底下都還有許多數
層的子目錄,有些目錄下還會再放有說明檔 (如 readme.txt 之類的檔名) 來說明該
目錄下的檔案或子目錄內容。在根目錄裡有幾個說明檔如下:

00README.FTP 對 NCTUCCCA FTP-Server 的簡單說明
00ls-lR 整個 FTP-Server 的目錄/檔案列表
00ls-lR.gz 00ls-lR 的壓縮檔
archive-info 內有 FTP-Server 的使用狀況說明及新增檔案列表

以下為主目錄的分類:

/Chinese 中文資料、軟體及文件,包含 Big5、CCCII、GB、HZ、
CNS 中文碼。
/Macintosh Macintosh 軟體區。
/NCTU 交通大學軟體區。
/NeXT NeXT 軟體區。
/Operating-Systems 各式作業系統,Linux,386BSD,NetBSD,bsd-sources。
/PC MSDOS 各式應用軟體。
/PC/os2 IBM OS2 軟體。
/PC/windows MicroSoft Windows 各式應用軟體。
/UNIX UNIX 及 GNU 軟體。
/USENET USENET archive 及 USENET 的問答集 (FAQ)。
/X X Windows 應用程式及 X11R4,X11R5 原始程式。
/archive-info 檔案資料庫的說明資料。
/computing-languages 各式電腦語言編譯程式。
/images GIF 圖形檔案及應用程式。
/packages hytelnet,kermit,news system,mail 等軟體。
/vendors 軟硬體供應商提供之軟體區。

ftp> cd PC -- 變更到 /PC 目錄下
^^^^^
250 Change exactly to the directory "/PC".

依次進入 /PC/windows/desktop 目錄下

ftp> cd windows -- 變更到 /PC/windows 目錄下
^^^^^^^^^^
250 Change to the parent of current working directory "/PC/windows".

ftp> cd desktop -- 變更到 /PC/windows/desktop 目錄下
^^^^^^^^^^
250 Change exactly to the directory "/PC/windows/desktop".

或直接進入 /PC/windows/desktop 目錄下

ftp> cd /PC/windows/desktop -- 變更到 /PC/windows/desktop 目錄下
^^^^^^^^^^^^^^^^^^^^^^^

ftp> ls -- 顯示目錄 /PC/windows 下的檔案或目錄
^^
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
vuepri31.zip
.
. skipped
.
tclock.zip
wmigr.zip
sspw31.zip
freedock.zip
cuseemez.exe
slideshw.zip
diamond.zip
colscr.zip
.
.
226 Transfer complete.
7625 bytes received in 0.98 seconds (7.6 Kbytes/s)

ftp> bin -- 設定二進位方式
^^^
200 Type set to I.
ftp> get freedock.zip -- 拷貝 freedock.zip 到 Local 端來
^^^^^^^^^^^^^^^^
200 PORT command successful.
150 Opening BINARY mode data connection for /PC/windows/desktop/freedock.zip
(114433 bytes).
226 Transfer complete.
local: freedock.zip remote: freedock.zip
114433 bytes received in 0.79 seconds (1.4e+02 Kbytes/s)

上面的訊息說明了被傳輸的檔名(含路徑)、傳輸模式、檔案大小、花費時間(傳輸
率) , remote 端即指 Server 端。若一次要拷貝多檔可用 mget,在 prompt on 的
情況下會要求您對每個符合的檔案作確認,回答 y(yes) 或 n(no) 確認。或可設定成
prompt off,則所有符合的檔案皆會被拷貝。

ftp> mget *.zip -- 拷貝所有 .zip 檔名的檔案
^^^^^^^^^^
mget vuepri31.zip?y -- Yes 拷貝
^
.
.

ftp> prompt -- 變更交談模式
^^^^^^
Interactive mode off -> 預設為 on,經 prompt 命令變更為 off

有些 FTP Server 會提供使用者上載 (upload)檔案的權力,put/mput 是將 Local
端的檔案拷貝到 Server 端的命令,使用方法如同 get/mget。

4. 尋找檔案

在龐大的檔案資料中,如何尋找到所需檔案呢? ls 命令亦提供檔案搜尋的功能,
可已檔名或部份檔名作為搜尋的關鍵字, ls 會從根目錄開使查詢,並根據設定的停止
搜尋條件停止搜尋。quote 是 FTP 內特別的命令,他會把 quote 後所接的字串傳送
到 Server 端,由 Server 端再處裡。搜尋命令用法如下:

FTP 命令格式:ls --關鍵字

FTP 命令格式:quote site find 關鍵字

設定停止的條件是以搜尋到的檔案數目計算,必須以 quote 指令設定最大搜尋數,
命令用法如下:

FTP 命令格式:quote site findmax #number

ftp> quote site findmax 4 -- 搜尋四個後停止
^^^^^^^^^^^^^^^^^^^^
200 Maximum (ftp) find hits set to 4.

ftp> ls --freedock.zip -- 尋找名為 freedock.zip 的檔案
^^^^^^^^^^^^^^^^^
200 PORT command successful.
200- starting locator of ftp.nctu.edu.tw Anonymous FTP Archives

Location: /PC/windows/desktop
FILE -r--r--r-- 114433 Jun 15 08:00 freedock.zip

200 end (max hits: 4. use 'quote site findmax your_max_hits' to change).

搜尋結果會將檔案所在目錄及檔案大小、更動時間顯示出,如果不只一個也會一
一列出。 ls 提供的檔案查詢是 ARCHIVE Server 提供的一部份,Archive Server
將在後面章節中介紹。

三、即時壓縮/解壓縮功能
為了節省儲存空間,大部份的檔案是經壓縮後儲存的。主要的壓縮檔型態為:

延伸檔名 (解)壓縮程式 作業系統
----------------------------------------------
.Z uncompress/compress UNIX
.gz or .z gunzip/gzip UNIX
.tar tar, tar.exe UNIX,DOS
.zip pkunzip.exe/pkzip.exe DOS
.arj arj.exe DOS
----------------------------------------------

對於 .Z .gz (.z) 兩種壓縮檔案型態,FTP 提供即時壓縮/解壓縮功能,Server
端原來的檔名若有 .Z .gz 的延伸檔名,若要直接拷貝解壓縮之後的檔則 get 後的
檔名不須再加 .Z .gz,FTP 會先解壓縮後再傳送過來。反之若 Server 端檔名原無
.Z .gz 延伸檔名,而在 get 後檔名加延伸名,FTP 就會先壓縮後再傳送過來。詳見
下表:

Server 端的檔名 get 的檔名 壓縮動作
------------- ------------- -----------------------------------
.Z Decompress file before transmitting
.Z Compress file before transmitting
.gz GUNZIP file before transmitting
.z GUNZIP file before transmitting
.gz GZIP file before transmitting
.z GZIP file before transmitting

四、ARCHIVE 檔案資料庫檢索系統簡介

Archive Server 能提供快速的檔案查詢,並將查詢結果回寄(E'mail)給使用者。
在交大亦有個 Archive Server 名為 ARCHIVE(192.83.166.10),須使用 telnet 的方
式連接進入。如同 FTP,使用者可利用在工作站上的 telnet 程式或是 NCSATEL
內的 telbin/nctutel 程式連接,並使用 Archive Server 提供之帳號。連接的指令
如下:

unix> telnet ARCHIVE (ARCHIVE.edu.tw)
^^^^^^^^^^^^^^

unix> telnet 192.83.166.10
^^^^^^^^^^^^^^^^^^^^
此時您可輸入之帳號有三個,hytelnet、archie、www 分別是三個查詢系統,
若輸入 archie 則進入檔案資料庫檢索系統:

NCTUCCCA.edu.tw Login:archie
^^^^^^

login 之後會出現簡單的使用說明,如 find、help、set、list、mail、bye 等常
用指令及系統初設值。

指令說明:

set search sub 設定不考慮英文字母大小寫

set search subcase 設定考慮英文字母大小寫

set search exact 設定完全一致的比對

set search regex 設定為一般字串比對

set maxhits 設定最大檢索數目

set mailto 設定寄發的 E'mail Address

list 列出本系統支援之所有檔案資料庫 (FTP Server)

find 檔案關鍵字檢索

help 輔助說明

whatis 檢索相關軟體名稱

mail 寄發檢索結果

nopager 取消分頁讀取

bye,quit,exit 離開本系統

Archie.TWNIC.NET> set search subcase -- 設定考慮英文字母大小寫
^^^^^^^^^^^^^^^^^^
Archie.TWNIC.NET> set maxhits 10 -- 設定最大檢索數目 10
^^^^^^^^^^^^^^
Archie.TWNIC.NET> find freedock -- 檢索檔案 freedock
^^^^^^^^^^^^^
# Search type: subcase.
# Your queue position: 1
# Estimated time for completion: 5 seconds.
working...

Host NCTUCCCA.edu.tw (192.83.166.10)
Last updated 16:39 31 Aug 1994

Location: /PC/windows/desktop
FILE -r--r--r-- 114433 bytes 16:00 15 Jun 1994 freedock.zip

Host ftp.ccu.edu.tw (140.123.1.3)
Last updated 20:58 29 Aug 1994

Location: /pub/msdos/windows/desktop
FILE -r--r--r-- 114433 bytes 03:51 16 Jun 1994 freedock.zip

Host ftp.nsysu.edu.tw (140.117.11.3)
Last updated 21:27 29 Aug 1994

Location: /pub1/nsysu/pc/win3/desktop
FILE -rw-r--r-- 114433 bytes 03:51 16 Jun 1994 freedock.zip

在三個 FTP Sever 內都找到名為 freedock* 的檔名,分別為:

Host NCTUCCCA.edu.tw (192.83.166.10) /PC/windows/desktop/freedock.zip
Host ftp.ccu.edu.tw (140.123.1.3) /pub/msdos/windows/desktop/freedock.zip
Host ftp.nsysu.edu.tw (140.117.11.3) /pub1/nsysu/pc/win3/desktop/freedock.zip

Archie.TWNIC.NET> mail [email protected] -- 寄發檢索結果
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Archie.TWNIC.NET> list -- 列出本系統支援之所有檔案資料庫 (FTP Server)
^^^^
您可利用此命令找出其它的 ftp server 或 archive server

Archie.TWNIC.NET> quit -- 離開本系統
^^^^
# Bye.

補充 ftp指定port登入

執行ftp指定後,再ftp>下輸入open ip port即可

ftp> open 192.168.1.1 21
已連線到 192.168.1.1。
220 Welcome to tony FTP service.
使用者 (tonyhack.dyndns-ip.com:(none)):

By admin

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料