TCP/IP 與 Internet 網路:第十二章 檔案傳輸系統 上一頁 下一頁
12-6 FTP 交談命令
FTP 交談命令是讓使用者和 FTP Server 端之間以交談式模式輸入的命令,它提供較高層次的人機介面,讓使用者更容易操作 FTP 伺服器,譬如檔案刪除、變更目錄、刪除目錄等等交談式命令。一般欲進入 FTP 交談模式,可直接在系統下執行 ftp 命令,然後直接輸入 FTP 交談命令,範例如下:
[tsnien@linux-1 tsnien]$ ftp ftp> ? Commands may be abbreviated. Commands are:
! debug mdir sendport site $ dir mget put size account disconnect mkdir pwd status append exit mls quit struct ascii form mode quote system bell get modtime recv sunique binary glob mput reget tenex bye hash newer rstatus tick case help nmap rhelp trace cd idle nlist rename type cdup image ntrans reset user chmod lcd open restart umask close ls prompt rmdir verbose cr macdef passive runique ? delete mdelete proxy send |
我們大略由上列命令名稱都可知道它的功能為何,但是我們還是將較常用的命令條列如表 12-2。
表 12-2 常用之FTP 交談命令
命令名稱 |
功 能 說 明 |
? |
顯示命令(help)。 |
! |
執行本機命令,如 ! ls 表示執行本機上的 ls 命令。 |
ascii |
設定 ASCII 模式傳輸,使用於文字檔案傳輸。 |
binary |
設定二進位模式傳輸,一般使用於執行檔或影像檔傳輸。 |
bye |
結束 FTP 連線。 |
cd |
切換伺服器的工作目錄。 |
close |
關閉 FTP 連線。 |
debug |
進入偵錯模式。 |
delete |
刪除遠端伺服器檔案。 |
dir |
顯示遠端伺服器工作目錄下的檔案和目錄清單。 |
get |
下載一個檔案 |
mdelete |
刪除多個遠端檔案。 |
mget |
下載多個檔案。 |
mkdir |
在遠端伺服器建立目錄。 |
mput |
上傳多個檔案到遠端伺服器。 |
open |
開啟 FTP 連線。 |
put |
上傳一個檔案到遠端伺服器。 |
pwd |
顯示目前遠端伺服器的工作目錄。 |
rmdir |
刪除遠端伺服器的目錄。 |
status |
顯示目前連線狀態。 |
type |
設定檔案傳輸模式。 |
user |
登入 FTP 伺服器使用者名稱(如 user tsnien)。 |
如果要觀察雙方傳輸的運作情形,可以用 debug 命令,使雙方運作進入 Debug 模式。我們開啟一個 FTP 連線並上傳一個檔案到伺服端作為範例,來觀察雙方運作的情形如下:(粗體加底線為輸入命令)
[tsnien@linux-1 tsnien]$ ftp ftp> debug Debugging on (debug=1). ftp> open 163.15.2.30 Connected to 163.15.2.30. 220 linux-2.cu.edu.tw FTP server (Version wu-2.6.1-18) ready. Name (163.15.2.30:tsnien): tsnien ---> USER tsnien 331 Password required for tsnien. Password: ---> PASS XXXX 230 User tsnien logged in. ---> SYST 215 UNIX Type: L8 Remote system type is UNIX. Using binary mode to transfer files. ftp> put test1.c local: test1.c remote: test1.c ---> TYPE I 200 Type set to I. ftp: setsockopt (ignored): Permission denied ---> PORT 163,15,2,62,4,3 200 PORT command successful. ---> STOR test1.c 150 Opening BINARY mode data connection for test1.c. 226 Transfer complete. 43 bytes sent in 0.0158 secs (2.7 Kbytes/sec) ftp> |
由以上我們可以觀察出,FTP 交談命令和 FTP 命令的轉換過程,以及命令執行後的 FTP 訊息回覆(如 220、200)(如果沒有執行 debug 就無法完全觀察到)。譬如,登入時轉換成 USER 命令;要求密碼換成 PASS 命令;執行傳輸檔案命令(put)後,客戶端送出 TYPE I 設定傳輸模式、 PORT 指定資料連線位址,並進入聆聽狀態,再執行傳輸命令(STOR)。