ftp

概述

  1. 「文件傳送協定」 (FTP) 在本地和遠端主機之間傳送文件。
  2. FTP上傳期間,如果是覆寫遠端的舊檔,上傳前會先刪掉遠端的舊檔,傳送完成或傳送中斷,遠端的檔案才會產生。所以上傳期間,遠端的目的檔案是不能讀寫的,因為不存在。很簡單的檔案讀寫鎖定機制。
  3. 不會嘗試保留特定檔案系統的檔案屬性(如保護模式或修改時間)。
  4. 不允許循環地複製子目錄這樣的函數。
  5. 需要保存文件屬性或遞歸地複製子目錄,請使用 rcp 命令。
  6. 子命令可做:列出遠端目錄、更改當前的本地和遠端目錄、在單一請求中傳送多個文件、創建和除去目錄,以及轉義到本地 shell 執行 shell 命令。
  7. 不指定遠端主機 HostName 參數,ftp 命令會立即顯示 ftp> 提示符,等待 ftp 子命令。要連接遠端主機,請執行 open 子命令。
  8. $HOME/.netrc 中裝入巨集。如果 ftp 連接成功,ftp 會在當前目錄或主目錄中搜索本地的 $HOME/.netrc 文件。如果文件存在,ftp 會在文件中搜索啟動登錄過程的入口,在命令巨集定義中搜索遠端主機。如果 $HOME/.netrc 文件或自動登錄項不存在,或是系統已使用 securetcpip 命令保護起來, ftp 命令會提示用戶輸入用戶名和密碼。不論命令行中是否指定 HostName 參數,該指令都會顯示此提示。
  9. 一旦 ftp 完成自動登錄,如果巨集是在自動登錄項中定義的,ftp 命令就會執行init 巨集。如果init 巨集不存在或未包含 quit 或 bye 子命令,ftp 命令將顯示 ftp> 提示符並等待子命令。

FTP的命令行格式

ftp [ -d] [ -g ] [ -i ] [ -n ] [ -v] [ -f ] [ -k realm] [-q[-C]][ HostName [ Port ] ]
-v 顯示遠端伺服器的所有響應資訊;當 ftp 的輸出是到終端(如控制台或顯示)時,省略-v。如果 stdin 不是終端,除非用戶用帶有 -v 的 ftp 命令,或發送 verbose 子命令,否則 ftp 禁用詳細方式。
-n 限制ftp的自動登錄,即不使用.netrc文件
-d 使用調試方式;調試資訊發送給 syslogd 行程。如果您指定 -d 標誌,您必須編輯 /etc/syslog.conf 文件並添加下列中的一項:「user.info FileName」或「user.debug FileName」。
-g 取消萬用字元文件名。請參考 glob 子命令。

-i 關閉多文件傳送中的交互式提示。請參考 prompt、mget、mput 和 mdelete 子命令,以取得多文件傳送中的提示的描述。
-q 允許指定用戶: send_file 子例程必須用於在網路上發送文件。只有當文件在無保護的情況下以二進位方式發送時此標誌才適用。
-C 指定用戶
-f 導致轉發憑證。如果 Kerberos 5 不是當前認證方法,則此標誌將被忽略。
-k realm 如果遠端站的域不同於本地系統的域,系統將允許用戶指定遠端站的域。因此,域和 DCE 單元是同義的。如果 Kerberos 5 不是當前認證方法,則此標誌將被忽略。

Linux FTP本地端子命令


ftp在本地端使用的內部命令如下(中括號表示可選項):
  1. ![cmd[args]]:在本地機中執行交互shell,exit回到ftp環境,如:!ls*.zip. 
  2. $ macro-name[args]:執行巨集定義macro-name. 
  3. account[password]:提供登錄遠端系統成功後訪問系統資源所需的補充口令。 
  4. append local-file[remote-file]:將本地文件追加到遠端系統主機,若未指定遠端系統文件名,則使用本地文件名。文件名由 ntrans 子命令或 nmap 子命令進行改變。添加文件的時候, append 子命令使用 form、mode, struct、和 type 子命令設定值。
  5. ascii:使用ascii類型傳輸方式。type ascii 子命令的同義詞。
  6. bell:每個命令執行完畢後電腦響鈴一次。
  7. bin:使用二進位文件傳輸方式。type binary 子命令的同義詞。
  8. block:mode block 子命令的同義詞。
  9. bye:退出ftp會話過程。與 quit 子命令相同。
  10. carriage-control:form carriage-control 子命令的同義詞。
  11. case:在使用mget時,將遠端主機文件名中的大寫轉為小寫字母。其預設值為關閉(這樣 ftp 命令就會在本地目錄中按大寫格式寫入大寫的遠端文件名)。
  12. cd remote-dir:進入遠端主機目錄。
  13. cdup:進入遠端主機目錄的父目錄。
  14. chmod mode file-name:將遠端主機文件file-name的存取方式設置為mode,如: chmod 777 a.out 。 
  15. close:中斷與遠端伺服器的ftp會話(與open對應)。但不要退出 ftp 命令。已定義的巨集已被擦除。與disconnect 子命令相同。
  16. copylocal:切換本地拷貝。copylocal 預設值為關閉。ftp 通過向自身執行 ftp 操作確認您未置零文件(如相同的主機名和相同的路徑名)。將 copylocal 打開繞過這一檢查。
  17. cr:使用asscii方式傳輸文件時,將回車換行轉換為回行。
  18. debug[0 | 1]:設置調試方式,顯示發送至遠端主機的每條命令,如: deb up 3,若設為0,表示取消debug。調試資訊發送給 syslogd 行程。如果您指定 -d 標誌,您必須編輯 /etc/syslog.conf 文件並添加下列中的一項:「user.info FileName」或「user.debug FileName」。
  19. delete remote-file:刪除遠端主機文件。
  20. dir[remote-dir][local-file]:顯示遠端主機目錄,並將結果存入本地文件local-file。如果 RemoteDirectory 參數未指定,dir 子命令將列出當前遠端目錄的內容。如果 LocalFile 參數未指定或是一個 -(連字元),則 dir 子命令將顯示本地終端上的清單。
  21. disconnection:同close。
  22. ebcdic:type ebcdic 子命令的同義詞。
  23. exp_cmd 在常規的和試驗性的協定命令中切換。其預設值為關閉。
  24. file:struct file 子命令的同義詞。
  25. form [ carriage-control | non-print | telnet ]:指定文件傳送的格式。form 子命令修改 type 子命令,以便按指示的格式發送文件傳送。有效的參數為 carriage-control、non-print 和 telnet。預設為file方式。
  26. get remote-file[local-file]: 將遠端主機的文件remote-file傳至本地硬碟的local-file。如果 LocalFile 參數未指定,將在本地使用遠端文件名,並由 case、ntrans 和 nmap 子命令生成的任何設置進行改變。 ftp 命令在傳送文件時,將使用 type、form、mode 和 struct 子命令的當前設置。
  27. glob:設定mdelete,mget,mput可用萬用字元文件名,預設不用萬用字元文件名,同命令行的-g參數。
  28. hash:每傳輸1024位元組,顯示一個hash符號(#)。
  29. help[cmd]:顯示ftp內部命令cmd的幫助資訊,如:help get。請參考 ? 子命令。
  30. idle[seconds]:將遠端伺服器的休眠計時器設為[seconds]秒。
  31. image:設置二進位傳輸方式(同binary)。type image 子命令的同義詞。
  32. lcd[dir]:將本地工作目錄切換至dir。如果您未指定目錄,ftp 將使用主目錄。
  33. local M:type local M 子命令的同義詞。
  34. ls[remote-dir][local-file]:顯示遠端目錄remote-dir並存入本地文件local-file。如果 RemoteDirectory 參數未指定,ftp 命令將列出當前遠端目錄。如果 LocalFile 參數未指定或是一個 -(連字元),則 ftp 命令將顯示本地終端上的清單。
  35. macdef macro-name:定義一個巨集,遇到macdef下的空行(兩個連續的換行)時,巨集定義結束。巨集定義可多達 16 個,包含 4096 個字元。
    $ (美元符號)和 \ (反斜槓) 是 ftp 巨集中的特殊字元。跟隨一個或多個數字的 $ 符號將被調用行中對應的巨集參數所替換(請參考 $ 子命令)。$ 符號後緊隨字母 i 表示將要循環該巨集,$i 字元組合將被每一傳遞中連續的字元替換。
    第一個參數用於第一個傳遞,第二個參數用於第二個傳遞,依此類推。\ 符號會防止下一個字元的特殊處理。請使用 \ 符號關閉 $ 和 \.(反斜槓句點)符號的特殊意義。
  36. mdelete[remote-file]:刪除遠端主機文件。遠端文件名可用萬用字元。
  37. mdir remote-files local-file:與dir類似,但可指定多個遠端文件,如: mdir *.o.*.zipoutfile 。如果 RemoteDirectories 參數是用空格隔開的遠端目錄清單,則清單中最後一個參數必須是一個本地文件名或 -(連字元)。如果 LocalFile 參數是 -(連字元),mdir 子命令將顯示本地終端上的清單。如果交互式提示啟用(請參考 prompt 子命令),ftp 將提示用戶驗證最後一個參數是本地文件且不是遠端目錄。
  38. mget remote-files:傳輸多個遠端文件。使用 form、mode、struct 和 type 子命令的當前設置。
  39. mkdir dir-name:在遠端主機中建一目錄。
  40. mls remote-file local-file:同nlist,但可指定多個文件名。
  41. mode [ stream | block ]:設置文件傳送方式。如果參數未提供,則預設值為 stream。
  42. mode [ stream | block ]:設置文件傳送方式。如果參數未提供,則預設值為 stream。
  43. modtime file-name:顯示遠端主機文件的最後修改時間。
  44. mput local-file:將多個文件傳輸至遠端主機。使用 type、form、mode 和 struct 子命令的當前設置。
  45. newer file-name: 如果遠端機中file-name的修改時間比本地硬碟同名文件的時間更近,則重傳該文件。
  46. nlist[remote-dir][local-file]:顯示遠端主機目錄的文件清單,並存入本地硬碟的local-file。
  47. nmap[inpattern outpattern]:打開或關閉文件名映射機制, 使得文件傳輸時,文件中的某些字元相互轉換,如:nmap $1.$2.$3[$1,$2].[$2,$3],則傳輸文件a1.a2.a3時,文件名變為a1,a2。該命令特別適用於遠端主機為非UNIX機的情況。
    InPattern 參數為傳入的文件名指定了範本,該文件名有可能已根據 case 和 ntrans 設置處理過。可將從 $1 到 $9 的範本變數包含進 InPattern 參數。除 $(美元符號)和 \$ (反斜槓,美元符號)以外,InPattern 參數中的所有字元,都是按字面意義處理的,並用作 InPattern 變數之間的定界符。例如,如果 InPattern 參數是 $1. $2 且遠端文件名是 mydata.dat,則 $1 的值是 mydata,$2 的值是 dat。
    此 OutPattern 參數確定結果文件名。從 $1 到 $9 的變數將被它們從 InPattern 參數獲得的值替換,而變數 $0 將由原文件名替換。另外,如果 Sequence1 不為空,序列 [Sequence1,Sequence2] 將由 Sequence1 替換;否則它將由 Sequence2 的值替換。例如,子命令:
    nmap $1.$2.$3 [$1,$2].[$2,file]會從 myfile.data 或 myfile.data.old 中產生 myfile.data,從 myfile 中產生 myfile.file,從 .myfile中產生myfile.myfile。請使用 \ (反斜槓) 符號防止 OutPattern參數中 $(美元符號)、[(左括號)、](右括號)和 ,(逗號)的特殊意義。
  48. non-print:form non-print 子命令的同義詞。
  49. ntrans[inchars[outchars]]:打開或關閉文件名字元的翻譯機制,如ntrans1R,則文件名LLL將變為RRR。如果 InCharacters 參數指定的字串比 OutCharacters 參數指定的字串長,而且其在 OutCharacters 參數中無對應的字元,則 InCharacters 參數中的字元將被刪除。
  50. open host[port]:建立指定ftp伺服器連接,可指定連接連接埠。
  51. passive:進入被動傳輸方式。被動方式關閉時傳送文件(如 get、mget 和 put,或 mput),ftp 伺服器就會打開對客戶機的數據連接。在被動方式下,客戶機在發送和接收數據時打開對主機的數據連接。
  52. private:將保護級別設置為「private」。在此級別,數據的保護既完整而又機密。
  53. prompt:設置多個文件傳輸時的交互提示。如果交互式提示啟用(預設值)ftp 在檢索、發送或刪除文件(在 mget、mput, 和 mdelete)之前會進行驗證操作。
  54. protect:此指令會返回保護的當前級別。
  55. proxy ftp-cmd:在次要控制連接中,執行一條ftp命令,該命令允許連接兩個ftp伺服器,以在兩個伺服器間傳輸文件。第一條ftp命令必須為open,以首先建立兩個伺服器間的連接。請輸入 proxy ? 子命令,查看其它在二級連接中可執行的 ftp 子命令。
    下列子命令在由 proxy 子命令開頭時的表現會不一樣:
    open 子命令在自動登錄過程中不定義新的巨集。
    close 子命令不會擦除現存的巨集定義。
    get 和 mget 子命令從主連接中的主機上將文件傳送到二級連接的主機上。
    put、 mput 和 append 子命令從第二連接中的主機上將文件傳送到主連接的主機上。
    restart 子命令可由 proxy 命令進行處理。
    status 子命令顯示出準確的資訊。
    文件傳送要求第二連接上的 FTP 伺服器必須支援 PASV(passive)指令。
  56. put local-file[remote-file]:將本地文件local-file傳送至遠端主機 
  57. pwd:顯示遠端主機的當前工作目錄。
  58. quit:同bye,退出ftp會話。
  59. quote arg1,arg2...:將參數逐字發至遠端ftp伺服器,如:quote syst。執行remotehelp 或 quote help 子命令,均會顯示 String 參數的有效值清單。
    注意:涉及數據傳輸的「Quoting」命令會產生不可預見的結果。
  60. record:struct record 子命令的同義詞。
  61. recv remote-file[local-file]:同get。
  62. reget remote-file[local-file]:類似於get,但若local-file存在,則從上次傳輸中斷處續傳。
  63. reinitialize:刷新所有 I/O 對 FTP 會話進行重新初始化。按照用戶已開始 FTP 會話但未登錄到遠端主機的情況復位所有預設值。
  64. remotehelp [Subcommand] 請求從遠端 FTP 伺服器獲得幫助。
  65. rename [fromName][toName]:更改遠端主機文件名。
  66. reset:清除回答隊列。此子命令將使命令分析重新同步。
  67. restart marker:從指定的標誌marker處,重新開始get或put或append,如:restart 130。
  68. rmdir dir-name:刪除遠端主機目錄。
  69. runique:設置文件名唯一性存儲,若文件存在,則在原文件後加後綴..1,.2等。如果此功能為「關閉」狀態(預設值),ftp 命令會覆蓋本地文件。否則,如果本地文件名與為本地目的文件指定的名稱相同, ftp 將使用.1 修改為本地目的文件指定的名稱。如果本地文件已使用了新名稱,ftp 將把後綴 . 2 添加給所指定的名稱。如果本地文件已使用了此第二個名稱,則 ftp 命令會在找到唯一的文件名或未找到唯一文件名但到達 .99 之前繼續增加後綴。如果 ftp 命令找不到唯一的文件名,ftp 會報告錯誤,傳輸過程也不會發生。請注意 runique 子命令不會影響從 shell 命令產生的本地文件名。
  70. safe:將保護級別設置為「safe」。在此級別,數據的完整性會得到保護。
  71. send local-file[remote-file]:同put。
  72. sendport:切換對於 FTP PORT 指令的使用。
  73. site arg1,arg2...:將參數作為SITE命令逐字發送至遠端ftp主機。
  74. size file-name:顯示遠端主機文件大小,如:site idle 7200。
  75. status:顯示當前ftp狀態。
    status [file-name]:若未指定文件名,則顯示遠端主機的狀態,否則顯示文件狀態。
  76. stream:mode stream 子命令的同義詞。
  77. struct [ file | record ]:設置數據傳送結構類型。
  78. sunique:將遠端主機文件名存儲設置為唯一(與runique對應)。請注意遠端伺服器必須支援 STOU 指令。
  79. system:顯示遠端主機的作業系統類型。
  80. telnet:form telnet 子命令的同義詞。
  81. tenex:將文件傳輸類型設置為TENEX機的所需的類型。type tenex 子命令的同義詞。
  82. tick:設置傳輸時的位元組計數器。
  83. trace:設置包跟蹤。
  84. type [ ascii | binary | ebcdic | image | local M | tenex ]:設置文件傳送類型。預設為ascii,binary 類型可能會比 ascii 更有效。
    ascii 將文件傳送類型設置為網路 ASCII。此類型為預設值。
    binary文件傳送類型設置為二進位映像。此類型可能比 ASCII 傳送更有效。
    ebcdic將文件傳送類型設置為 EBCDIC。
    image 將文件傳送類型設置為二進位映像。此類型可能比 ASCII 傳送更有效。
    local M將文件傳送類型設置為本地。M 參數定義每電腦字位的十進位數。此參數沒有預設值。
    tenex 將文件傳送類型設置為 TENEX 機器需要的類型。
  85. umask[newmask]:將遠端伺服器的預設umask設置為newmask,如:umask3。
  86. user user-name[password][account]:向遠端主機表明自己的身份,需要口令時,必須輸入口令,如:user anonymous my@email。
  87. verbose:同命令行的-v參數,即設置詳盡報告方式,ftp伺服器的所有響應都將顯示給用戶,預設為on。
  88. ?[cmd]:同help

XP FTP 本地端對遠端下令

  1. append local-file[remote-file]:將本地文件追加到遠端系統主機,若未指定遠端系統文件名,則使用本地文件名。文件名由 ntrans 子命令或 nmap 子命令進行改變。添加文件的時候, append 子命令使用 form、mode, struct、和 type 子命令設定值。
  2. cd remote-dir:進入遠端主機目錄。
  3. cdup:進入遠端主機目錄的父目錄。
  4. chmod mode file-name:將遠端主機文件file-name的存取方式設置為mode,如: chmod 777 a.out 。 
  5. rename [fromName][toName]:更改遠端主機文件名。
  6. delete remote-file:刪除遠端主機文件。
  7. mdelete[remote-file]:刪除遠端主機文件。遠端文件名可用萬用字元。
  8. mkdir dir-name:在遠端主機中建一目錄。
  9. rmdir dir-name:刪除遠端主機目錄。
  10. dir[remote-dir][local-file]:顯示遠端目錄並存入本地文件local-file。如果 RemoteDirectory 參數未指定,dir 子命令將列出當前遠端目錄。如果 LocalFile 參數未指定或是一個 -(連字元),則 dir 子命令將顯示於本地終端上。
  11. ls [remote-dir][local-file]:顯示遠端目錄並存入本地文件local-file。如果 RemoteDirectory 參數未指定,ftp 將列出當前遠端目錄。如果 LocalFile 參數未指定或是一個 -(連字元),則 ftp 將顯示於本地終端上。
  12. mdir remote-files local-file:與dir類似,但可指定多個遠端文件,如: mdir *.o.*.zipoutfile 。如果 RemoteDirectories 參數是用空格隔開的遠端目錄清單,則清單中最後一個參數必須是一個本地文件名或 -(連字元)。如果 LocalFile 參數是 -(連字元),mdir 子命令將顯示本地終端上的清單。如果交互式提示啟用(請參考 prompt 子命令),ftp 將提示用戶驗證最後一個參數是本地文件且不是遠端目錄。
  13. mls remote-file local-file:同nlist,但可指定多個文件名。
  14. get remote-file[local-file]: 將遠端主機的文件remote-file傳至本地硬碟的local-file。如果 LocalFile 參數未指定,將在本地使用遠端文件名,並由 case、ntrans 和 nmap 子命令生成的任何設置進行改變。 ftp 命令在傳送文件時,將使用 type、form、mode 和 struct 子命令的當前設置。
  15. recv remote-file[local-file]:同get。
  16. mget remote-files:傳輸多個遠端文件。使用 form、mode、struct 和 type 子命令的當前設置。
  17. put local-file[remote-file]:將本地文件local-file傳送至遠端主機 
  18. mput local-file:將多個文件傳輸至遠端主機。使用 type、form、mode 和 struct 子命令的當前設置。
  19. quote arg1,arg2...:將參數逐字發至遠端ftp伺服器,如:quote syst。執行remotehelp 或 quote help 子命令,均會顯示 String 參數的有效值清單。

伺服器端命令

以下命令可辨識(* 代表 須再加參數):
CWD     XCWD    CDUP    XCUP    SMNT*   QUIT    PORT    PASV
EPRT    EPSV    ALLO*   RNFR    RNTO    DELE    MDTM    RMD
XRMD    MKD     XMKD    PWD     XPWD    SIZE    SYST    HELP
NOOP    FEAT    OPTS    AUTH    CCC*    CONF*   ENC*    MIC*
PBSZ    PROT    TYPE    STRU    MODE    RETR    STOR    STOU
APPE    REST    ABOR    USER    PASS    ACCT*   REIN*   LIST
尚待查:
  1. EPRT |proto|addr|port|
  2. EPSV 傳回某種port
  3. FEAT 傳回特點,如MDTM(文件最後修改時間)、REST STREAM、SIZE
  4. OPTS command [ options]
  5. CONF base64-data
  6. REST byte-count
  7. NLST [ (pathname)]:給出目錄下文件的名稱列表(此 FTP 請求和 ls 命令是同樣的)。
  8. SMNT* 回應不可應用,
  9. REIN* 回應不可應用,應為重新啟始
解說:
  1. CWD 改變工作目錄。
  2. CDUP 轉到當前工作目錄的父目錄。
  3. QUIT 終止會話。
  4. PORT 指定數據連接連接埠。
  5. PASV 為伺服器間的傳輸做準備。
  6. ALLO* 分配存儲器(空)。
  7. RNFR 指定重命名源文件名。
  8. RNTO 指定重命名目標文件名。
  9. DELE 刪除文件。
  10. MDTM 顯示文件最後的修改時間。
  11. RMD 除去目錄。
  12. MKD 創建目錄。
  13. PWD 顯示當前工作目錄。
  14. SIZE 返回當前文件的大小。
  15. SYST 顯示伺服器系統的作業系統類型。
  16. HELP 給出幫助資訊。
  17. NOOP 無操作。
  18. AUTH 指定認證 / 安全機制。
    ADAT 指定認證 / 安全數據。戰國策不認得的命令,但手冊上有。
  19. CCC* 指定清除命令通道。
  20. ENC* 指定私有保護命令。
  21. MIC* 指定完整性保護命令。
  22. PBSZ 指定保護緩衝區的大小。
  23. PROT 指定數據通道保護級別。
  24. TYPE 用 Type 參數指定數據傳輸類型。
  25. STRU 指定作為文件結構傳輸的數據結構。
  26. MODE 指定數據傳輸方式。
  27. RETR 檢索文件。(下載檔案)
  28. STOR 存儲文件。(上傳檔案)
  29. STOU 使用唯一的文件名存儲文件。
  30. APPE pathname:添加到文件。
  31. ABOR 終止前一次命令。
  32. USER 指定用戶名。
  33. PASS 指定密碼。
  34. ACCT* 指定帳戶(被忽略)。
  35. LIST 在目錄中給出列表文件(此 FTP 請求和 ls -lA 命令是同樣的)。
  36. XCUP 改變當前工作目錄的父目錄(通常不使用)。
  37. XCWD 改變當前目錄(通常不使用)。
  38. XMKD 創建目錄(通常不使用)。
  39. XPWD 列印當前工作目錄(通常不使用)。
  40. XRMD 除去目錄(通常不使用)。
  41. SITE 請求支援以下非標準的或者 UNIX 專用的命令:
  42. STAT 返回伺服器的狀態。
對遠端下指令的例子:
戰國策使用協定
    220 ProFTPD 1.3.0 Server (ProFTPD) [202.133.244.132]
COMMAND:>   USER pedu2org                登入
COMMAND:>   PASS ********                給密碼
COMMAND:>   TYPE I                       二進位傳輸
COMMAND:>   pwd                          顯示當前工作目錄
COMMAND:>   TYPE A                       文字傳輸
COMMAND:>   PORT 192,168,3,170,4,57
COMMAND:>   LIST                         列出目錄中文件
COMMAND:>   CWD httpdocs/edu             改變工作目錄至
COMMAND:>   pwd
COMMAND:>   TYPE A
COMMAND:>   PORT 192,168,3,170,4,58
COMMAND:>   LIST

COMMAND:>   RNFR jj                      改名從jj
COMMAND:>   RNTO /httpdocs/edu2/cache/jj 改名至...(結合上列命令,構成搬移目錄或文件)
COMMAND:>   REST 0                       350 Restarting at 0. Send STORE or RETRIEVE to initiate transfer
COMMAND:>   CDUP                         回上一層目錄

回應:   220 ProFTPD 1.3.0 Server (ProFTPD) [202.133.244.132]
指令:   USER pedu2org
指令:   PASS ********
指令:   CWD /httpdocs/edu2/
指令:   PWD
指令:   TYPE I
指令:   PASV                             進入被動模式(為伺服器間的傳輸做準備)
指令:   LIST
指令:   site chmod 755 edu2              改變屬性
指令:   RETR test.htm                    下載檔案
指令:   STOR test.html                   下傳檔案