Provided by: manpages-zh_1.5.1-1_all bug

NAME

     ftp - Internet 檔案傳輸程式 (file transfer program)

z (SYNOPSIS)
     ftp [-pinegvd] [host] pftp [-inegvd] [host]

 (DESCRIPTION)
     使用者通過 Ftp 這茧{式來使用 Internet 上的標準檔案傳輸協議 (File Transfer
     Protocol).  本程式允釣洏峈怞V遠端網站發送檔案, 或從遠端網站接收檔案.

     參數選項可以在命令行啟動ftp時指定, 也可以在ftp命令解釋模式下輸入.

     -p    使用被動模式進行數據傳輸. 如果你本地網路有防火牆,
           外部主機不能連接到你這茷廕, 這蚇龠絕N派上用場了.  本選項n求 ftp
           伺服器支持 PASV 命令.  如果使用 pftp 從命令行啟動 ftp,
           本選項是預設打開的.

     -i    進行多蚗仵袪擙卍鰡憧璊泵〞瑤T認提示.

     -n    一般,在啟動 ftp 時, ftp 會試著進行自動登入. 本選項可以關掉這茈能.
           如果 auto-login 弁鈳Q啟用的話,  ftp 會在使用者 home 目錄下的 .netrc
           (參.Xr netrc 5) 檔案中查找遠端主機上的使用者帳號.  如果 .netrc
           檔案中使用者帳號這一項不存在, ftp
           會提示使用者輸入遠端主機上的登入名
           (預設為使用者在本地機器上的帳號), 如果需n,
           還會提示你輸入密碼和用來登入的帳號. ??

           (譯者注: 使用本選項, 可以實現所謂的 "非交互式登入".  你可以試試下-
           掖o條命令:

           echo open ftp_server "\n" user my_name my_password "\n" dir "\n"
           bye | ftp -n 不能使用 rcp 的時, 可以用這條 ftp 命令來代替.)

     -e    如果被編譯成了 ftp 可執行格式, 本選項會關掉命令編輯和歷史命令弁;
           否則什麼也不做. ??

     -g    關掉檔名匹配弁.

     -v    顯示詳細信息. 本選項使得 ftp 顯示遠端伺服器的所有響應,
           並在數據傳輸完成後顯示傳輸數據的統p信息.

     -d    打開 debug 模式.

     從命令行啟動 ftp 時, 可指定欲與之通訊的遠端主機. 如果指定了, ftp
     會立即嘗試與遠端 FTP 伺服器建立連接; 否則, ftp 會進入其命令解釋模式,
     等待使用者進一步的指令.  ftp 在等待使用者指令時, 會顯示提示符 'ftp>'

     ftp 能夠識別以下的命令:

     ! [command [args]]
                 在本地機器上啟動一茈璊洩漳hell. 如果本命令帶有參數, 第一-
                 荌捊@為 shell 命令直接執行, 其它的參數成為這 shell
                 命令的參數.

     $ macro-name [args]
                 執行宏 macro-name 所指代的命令. 宏使用 macdef 命令來定義.
                 本命令中的參數不進行檔名匹配, 直接傳給這荍.

     account [passwd]
                 在你成扔n入以後, 本命令可以提供一茠加的密碼, 遠端系統會用這-
                 荓K碼來訪問某些資源.  如果不指定參數, 則會提示使用者輸入密碼;
                 輸入密碼時, 回顯會被禁止.

     append local-file [remote-file]
                 添加本地檔案到遠端機器上. 如果沒有指定 remote-file,
                 則本地檔名在經過 ntransnmap 轉換後, 作為遠端檔名使用.
                 在檔案傳輸過程中還會使用 type, forma, modestructure
                 的當前設置.

     ascii       將當前檔案傳輸方式設置為網路 ASCII 方式, 即文字模式.
                 這也是預設的檔案傳送方式.

     bell        每蚗仵袪e命令完成後響鈴提示.

     binary      將當前檔案傳輸方式設置為 binary image, 即二進制模式.

     bye         終止與當前 FTP 伺服器的連接, 退出 ftp. 檔案結束符 (譯者注:
                 ctrl-D) 有同樣的弁.

     case        轉換 case 狀態, 即遠端主機檔名大小寫轉換規則.  mget
                 命令會中用到本狀態.  case 狀態Y為 on,
                 遠端主機檔案傳輸到本地時, 檔名中的大寫字母會被轉換為小寫.
                 預設的 case 狀態為 off.  (譯者注: toggle 這茧我翻譯成轉換.
                 意思是說, 如果當前 case 狀態為 on, 你執行 case 這茤R令, case
                 狀態就轉成了 off; 如果當前為 off, 則會變成 on. 下同.)

     cd remote-directory
                 改變遠端機器上的當前目錄到 remote-directory.

     cdup        改變遠端機器上的當前目錄到其父目錄, 即其上級目錄.

     chmod mode file-name
                 將遠端系統上檔案 file-name 的權改為 mode.

     close       終止與當前遠端伺服器的 FTP 連接, 回到命令解釋模式.
                 所有定義的宏都會被清除.

     cr          轉換 cr 狀態, 即 ascii 方式下取檔案時的回車換行轉換規則.  用
                 ascii 方式獲取檔案時, 檔案內容被分割為一條條紀錄,
                 以回車換行符為分隔符; 如果 cr 狀態為 on, 回車換行符會被轉換為
                 UNIX 系統的單荋咻瘝.  非 UNIX 系統的純文字檔中可能含有單-
                 荋咻瘝; 在進行 ascii 方式的檔案傳輸時, 只有將 cr 狀態設置為
                 off, 這些單荋咻瘝聾~能與回車換行符區分開來.  cr 的預設狀態為
                 on.  (譯者注: 回車符的 ASCII 碼為 0D, 對應的 C 語言轉義字符為
                 \r; 換行符的 ASCII 碼為 0A , 對應的 C 語言轉義字符為 \n; UNIX
                 下的純文字檔, 換行的時埭N一荋咻瘝; DOS  下的純文字檔,
                 換行的時圇O兩茼r符: 回車 + 換行.  伺服器端 ftpd 在用 ascii
                 方式發送檔案時, 會先把單荋咻磏鉥型隻^車 + 換行,
                 再送到網路上傳輸; 客戶端 ftp 在用 ascii 方式接受檔案時, 如果
                 cr 狀態為 on, ftp 會把回車 + 換行轉換為單荋咻; 如果為 off,
                 則不進行這種轉換. 如果網上傳輸的數據中同時含有單荋咻璈M回車 +
                 換行, 你就一定n把 cr 狀態設為 off, 才能把數據儤邡回來; 否則,
                 取回來的單荋咻璈M回車 + 換行都轉換成了單荋咻,
                 你就分不清這兩種了. 還是使用 binary 最好.)

     delete remote-file
                 刪除遠端機器上的檔案 remote-file.

     debug [debug-value]
                 轉換 debugging 狀態, 即是否跟蹤每條指令.  debug-value
                 是可選的, 其峔茬]置跟蹤的級別.  當 debigging 狀態為 on 時,
                 ftp 會顯示每條送往遠端機器的指令, 並在顯示的指令前加上 '-->'

     dir [remote-directory] [local-file]
                 顯示遠端機器目錄 remote-director 下的檔名.  local-file 這-
                 荌捊O可選的.  如果指定了這荌捊, 本命令的顯示結果會保存在
                 local-file 這茈誚a檔案中.  如果 prompt 狀態為 on, ftp
                 會提示使用者確認最後這荌捊O用來存放 dir 顯示結果的本地檔案.
                 如果不指定 remote-director,
                 則本命令顯示遠端機器當前目錄下的檔名.  如果不指定 local-file,local-file 指定為 -, 則輸出結果顯示在你的終端上.

     disconnectclose.

     form format
                 將檔案傳輸格式設置為 format. 預設格式為 ``file''. ??

     get remote-file [local-file]
                 把遠端機器上的檔案 remote-file 取回到本地.
                 如果不指定本地檔名, 則遠端檔名在經過 case, ntransnmap
                 轉換後, 作為本地檔名使用. 檔案傳輸過程中會用到當前的 type,
                 form, mode,structure 狀態.

     glob        轉換 glob 狀態, 即在執行 mdelete, mgetmput 命令時,
                 是否進行檔名匹配. 如果 glob 狀態為 off, 則不進行檔名匹配.  對
                 mput 而言, 檔名匹配規則和本地的 csh(1) 檔名匹配一樣.  對
                 mdeletemget 而言, 每-
                 蚖滓旓鷑嘛犰W都分別在遠端機器上進行匹配,
                 匹配結果中的同名檔案不會合並.
                 目錄名匹配規則和檔名匹配規則不盡相同, 具體結果-
                 n取決於遠端系統和 ftp 伺服器.  你可以使用 'mls remote-files
                 -' 預先看看匹配結果是否如你所願.  注意: mgetmput
                 可能不會傳送子目錄. 想連著子目錄一起傳送, 你可以使用 binary
                 方式傳送這茪l目錄的 tar(1) 包.  (譯者注: 1、 檔案匹配是說, *n
                 代表所有以 n 結尾的檔案.  例如, 在你本地 linux
                 機器當前目錄下有三蚗仵 Xie Wen Min , 在 shell 下用 echo *n
                 這條命令, 結果為 Wen Min , 可見 *n 被 shell 匹配為 Wen Min.
                 在 ftp 中, 如果 glob 為 on , mput *n 這條指令會被匹配為 mput
                 Wen Min , 本地的 Wen Min 兩蚗仵袕Q傳送到遠端.  如果 glob 為
                 off , mput *n 這條指令不會被匹配, 於是 mput 會試圖把檔名為
                 "*n" 的本地檔案傳到遠端, 如果本地沒有這茼W為 "*n" 的檔案, ftp
                 就會報錯.  2、 mput 是把本地檔案送到遠端機器,
                 故其匹配規則與本地 shell的檔名匹配一P.  mget, mdelete
                 則是把遠端機器上的檔案送到本地, 故其匹配規則和最終結果-
                 n取決於遠端系統.  3、 考慮如下情況: 遠端機器上有三蚗仵 Xie,
                 Wen, Min 如果執行 mget X* W* *n, 顯然, 匹配結果會是 Xie Wen
                 Min Wen.  雖然 Wen 這蚗仵蚰X現了兩次, 但 ftp 不會把這兩-
                 蚗犰W合為一, 所以 Wen 這蚗仵袚|被 mget 兩次,
                 第二次覆輔臚@次.  如果 mdel X* W* *n, Wen 這蚗仵袚|被刪兩次,
                 第二次報錯.)

     hash        轉換 hash 狀態, 即是否顯示數據傳輸進度. 如果 hash 狀態為 on,
                 每傳送完一 1024 字節的數據塊時顯示一 # 號.

     help [command]
                 顯示指定命令 command 的簡n說明. 如果不指定參數,
                 本命令列出所有已知的 ftp 命令.

     idle [seconds]
                 將遠端伺服器的最長空閒時間設為 seconds 秒.  如果不指定參數
                 seconds, 則本命令顯示當前的最長空閒時間.
                 (譯者注:如果在最長空閒時間內沒執行任何 ftp 命令,
                 與遠端機器的連接將自動終止. )

     lcd [directory]
                 改變本地的當前工作目錄. 如果不指定參數 directory,
                 則切換到使用者的 home 目錄.

     ls [remote-directory] [local-file]
                 顯示遠端機器目錄下的檔名列表. 具體如何顯示與遠端系統有關;
                 例如, 大多數 UNIX 系統顯示 shell 命令 ls -l 的輸出 (參 nlist
                 ).  如果不指定 remote-directory 則顯示遠端機器當前目錄的內容.
                 如果 prompt 狀態為 on , ftp 會提示使用者確認最後一-
                 荌捊O用來存放 ls 顯示結果的本地檔案. 如果不指定 local-file
                 , 或者 local-file 指定為 '-', 則結果顯示到使用者終端上.
                 可以在本命令中用引號指定附加參數.  例如, 如果遠端系統為 UNIX,
                 則 ls "-rt /usr" 這條命令會顯示遠端機器 /usr 這茈媬下的檔案,
                 顯示結果按創建時間由遠到近排序.

     macdef macro-name
                 定義一荍. 執行本命令後, 接下來輸入的內容會存放到宏
                 macro-name 裏. 空行 (檔案中的連續換行, 或終端的回車換行)
                 表示宏定義結束.  最多只能定義 16 條宏,
                 而且所有的宏內容加起來不能超過 4096 字節.  執行 close
                 命令後所有的宏定義會被清除.  在宏中, $ 和 \ 這兩-
                 茼r符為特殊字符.  $ 字符後跟數字, 將在這-
                 荍誚b執行時將替換為命令行中的參數.  $ 字符後跟字符 i ,
                 表示循環執行當前宏.  在循環的第一次, $i
                 被替換為命令行中的第一荌捊; 第二次, 替換為第二荌捊,
                 以此類推.  \ 後掘礞@茼r符, 表示這茼r符本.  例如, \ 可以去掉
                 $ 的特殊意義, 表示 $ 這茼r符本.

     mdelete [remote-files]
                 刪除遠端機器檔案 remote-files.

     mdir remote-files local-filedir 命令相似, 但是允釦A指定多蚖滓暌仵. 如果 prompt 狀態為
                 on, ftp 會提示使用者確認最後一-
                 荌捊O用來存放輸出結果的本地檔案.

     mget remote-files
                 匹配參數 remote-files 中指定的遠端檔名, 對匹配結果裏的每-
                 蚗仵袕ㄟ鶡璊@ get 命令. 關於檔名匹配, 請參.Ic glob 命令.
                 根據當前的 case, ntrans,nmap 狀態,
                 遠端檔名在經過適當的轉換後, 作為本地檔名使用.
                 檔案被傳輸到本地機器的當前目錄. 你可以用 'lcd directory'
                 命令改變本地機器的當前目錄, 也可以用 '! mkdir directory'
                 命令新建本地目錄.

     mkdir directory-name
                 在遠端機器上創建目錄.

     mls remote-files local-filenlist 命令相似, 但是允釦A指定多蚖滓暌仵, 而且 local-file
                 這荌捊眸楞定. 如果 prompt 狀態為 on, ftp
                 會提示使用者確認最後一荌捊O用來存放輸出結果的本地檔案.

     mode [mode-name]
                 將檔案傳輸模式設置為 mode-name 所指定的模式. 預設模式為
                 ``stream'' 模式. ??

     modtime file-name
                 顯示遠端機器上檔案的最後蚹黈伅.

     mput local-files
                 匹配參數中指定的本地檔名, 對匹配結果裏的每蚗仵袕ㄟ鶡璊@ put
                 命令. 關於檔名匹配, 請參.Ic glob 命令. 根據當前的 ntransnmap 狀態, 本地檔名在經過適當的轉換後, 作為遠端檔名使用.

     newer file-name [local-file]
                 比較遠端檔案和本地檔案的蚹黈伅, 如果遠端檔案比本地檔案新,
                 或本地檔案不存在, 則從遠端機器上取此檔案.

     nlist [remote-directory] [local-file]
                 顯示遠端機器上指定目錄下的檔案列表.  如果不指定參數
                 remote-directory, 則顯示遠端機器當前目錄的內容.  如果 prompt
                 狀態為 on, ftp 會提示使用者確認最後一-
                 荌捊O用來存放顯示結果的本地檔案.  如果不指定本地檔案
                 local-file, 或者本地檔案 local-file 指定為 'Fl,'
                 顯示結果會在使用者終端上顯示出來.

     nmap [inpattern outpattern]
                 設置或取消檔名映射機制. 如果不指定參數,
                 則本命令取消檔名映射機制.  如果指定了參數, 則在執行 mputput 命令, 且不指定遠端檔名時, 遠端檔名會被映射; 在執行 mgetget 命令, 且不指定本地檔名時, 本地檔名會被映射.  非 unix
                 的遠端系統常使用不同於 unix 的檔案命名規則, 當用 ftp
                 連接到這樣的遠端系統時, 本命令會很有用處.  轉換規則由參數
                 inpatternoutpattern 決定.  一蚗犰W會先經過 ntranscase
                 的轉換, 再按照 inpattern 進行 nmap 映射. 參數 inpattern
                 指定轉換前的檔案命名規則. 參數 outpattern
                 指定轉換後的檔案命名規則. 在 inpatternoutpattern 這兩-
                 荌捊, 用 $1, $2, ..., $9 來替代變量; 用 \$ 替代 $ 字符;
                 其餘的字符則沒有特殊含義. 例如, Y inpattern 為 $1.$2,
                 則對於檔名 mydata.data, $1 取 mydata, $2取 data.
                 結果檔名由 outpattern 決定. 在 outpattern 中, $1, $2, ..., $9
                 被相應的取N替, 作為最終結果.  $0 被替換為整适始檔名.
                 對方括號括起來的兩蚥僆q [$x,$y] 而言, Y $x 非空, 則其相當於
                 $x; 否則相當於 $y (以上 x,y 為數字).  舉例如下: 輸入命令行
                 nmap $1.$2.$3 [$1,$2].[$2,file], 則 鴝l檔名 myfile.data
                 會被映射為 myfile.data, 鴝l檔名 myfile.data.old 會被映射為
                 myfile.data, 鴝l檔名 myfile 會被映射為 myfile.file, 鴝l檔名
                 .myfile 會被映射為 myfile.myfile, Spaces may be included in
                 outpattern, as in the example: `nmap $1 sed "s/  *$//" > $1'
                 . ??  (譯者注: 這一段我沒看懂, 也沒試出來.)  `$', '[', ']',
                 `,' 這四茼r符有特殊含義, 所以Yn使用這四茼r符, 需在前悼[上 \
                 以去掉其特殊含義.

     ntrans [inchars [outchars]]
                 設置或取消檔案名字符轉換機制. 如果不指定參數,
                 則本命令取消檔案名字符轉換機制. 如果指定了參數, 則在執行 mputput 命令, 且不指定遠端檔名時, 遠端檔名中的字符會被轉換;
                 在執行 mgetget 命令, 且不指定本地檔名時,
                 本地檔名中的字符會被轉換.  非 unix 的遠端系統常使用不同於
                 unix 的檔案命名規則, 用 ftp 連接到這樣的遠端系統時,
                 本命令會很有用處.  鴝l檔名中的 inchars 會被替換為對應的
                 outchars. 如果 inchar 字符串比 outchar 長,
                 則多出的那一部分字符會從鴝l檔名中刪掉.

     open host [port]
                 連接到指定的遠端主機 host FTP 伺服器. 端口號 ftp 是可選的;
                 如果指定了端口號, ftp 會嘗試使用這茷定的端口號連接遠端 FTP
                 主機. 如果自動登陸選項 auto-login 是打開的話 (預設為打開),
                 ftp 還會嘗試自動登陸.  (詳見下z)

     prompt      轉換 prompt 狀態, 即是否進行交互提示. 如果 prompt 狀態為 on ,
                 在傳送多蚗仵蛃, ftp 會提示使用者選擇n上傳或下載的檔案; 如果
                 prompt 狀態為 off (預設為 on), mgetmput 這兩-
                 茤R令會不加提示地傳送所有指定的檔案, mdelete
                 會不加提示地刪掉所有指定的檔案.

     proxy ftp-command
                 在副連接上執行 ftp 命令. 本命令允釵P時連接到兩蚖滓 ftp
                 伺服器, 並在這兩蚖滓搹曭A器之間傳送檔案.  (譯者注: 鴝l的 ftp
                 所建立的連接為 primary control connection, 主連接; 使用 proxy
                 open 所建立的連接為 secondary control connection, 副連接.
                 在副連接上運行 ftp 命令, 即在 ftp 命令前加上 proxy 前綴, 如
                 proxy open, proxy put 等. 以下將這種 ``proxy ftp command''
                 譯為 "代理命令".)  第一荌鶡瑼漸N理命令應該是 open 命令,
                 用來建立副連接.  運行 "proxy ?" 命令,
                 可以看到所有能在副連接中運行的 ftp 命令.  以下的 ftp
                 命令在副連接中運行時, 效果與在主連接中不同: 在自動登入過程中,
                 open 不會定義新的宏; close 不會清除已有的宏定義; getmget
                 將檔案從主連接的遠端主機傳送到副連接的遠端主機; put, mput, 和
                 append 將檔案從副連接的遠端主機傳至主連接的遠端主機.
                 第三方檔案傳輸取決於副連接的遠端主機是否支持 ftp 協議中的
                 PASV 命令.

     put local-file [remote-file]
                 將本地檔案傳至遠端主機. 如果不指定參數 remote-file,
                 則根據當前的 ntransnmap 狀態, 本地檔名在經過適當的轉換後,
                 作為遠端檔名使用.  在檔案傳輸過程中會用到當前的 type, format,
                 modestructure 狀態.

     pwd         顯示遠端機器的當前路徑.

     quitbye 命令.

     quote arg1 arg2 ...
                 將你指定的參數儤阭e到遠端 FTP 伺服器.  (譯者注: 你輸入的 ftp
                 命令, 經由本地 ftp 客戶程式解釋, 轉換成 ftp 協議命令,
                 再發送給遠端 ftp 伺服器.  這些轉換後的 ftp 協議命令, 叫做 raw
                 ftp command, 也就是本命令所能使用的參數. 關於這些參數,
                 請參 remotehelp 命令.  下文中出現的大寫字母的命令都是 raw
                 ftp command.)

     recv remote-file [local-file]
                 同 get 命令.

     reget remote-file [local-file]
                 和 get 命令相似, 略有差異如下: 如果本地檔案 local-file
                 的長度比遠端檔案 remote-file 短, ftp
                 會認為這是由於上一次傳送異常中斷, 導-
                 P本地檔案只是遠端檔案的開頭一部分, 故 reget
                 會從本地檔案的最後開始續傳.  在連接不-
                 、經常異常斷掉的網路中傳送大檔案時, 本命令會很有用.

     remotehelp [command-name]
                 顯示遠端 FTP 伺服器的幫助信息. 如果指定了參數 command-name,
                 則此參數也會一並傳給遠端伺服器.

     remotestatus [file-name]
                 如果不指定參數, 本命令顯示遠端機器的狀態.  如果指定了參數
                 file-name, 則顯示遠端檔案 file-name 的狀態.

     rename [from] [to]
                 將遠端機器上的檔案 from 咿R名為 to.

     reset       清除應答隊列. 本命令使本地 ftp 客戶和遠端 ftp 伺服器
                 奐s同步命令/應答序列. 遠端 ftp 伺服器可能出錯, 並導P ftp
                 協議出現錯誤, 此時需n使用本命令.

     restart marker
                 使用本命令後, 接下來應使用一 getput 命令; 此時的 get 或
                 put 命令會從參數 marker 指定的 UNIX 系統檔案偏移處
                 (一般以字節p算) 奎仵.

     rmdir directory-name
                 刪除遠端機器上的目錄.

     runique     轉換 runique 狀態, 即本地同名檔案是否自動覆.  如果 runique
                 狀態為 off, 則在使用 getmget 命令取遠端檔案到本地時,
                 遠端檔案會自動覆誑誚a的同名檔案; 如果 runique 狀態為 on,
                 則在檔案同名時, 會在取回的檔名後加一 .1; 如果加了一 .1
                 還是與本地檔案咻W, 則在遠端檔名後加 .2; Y還是咻W, 加 .3;
                 以此類推, 如果直到 .99 還咻W, 則會報錯.
                 新檔名會顯示給使用者. 注意 runique 狀態並不影響本地 shell
                 命令的檔案覆.  預設的 runique 狀態為 off.

     send local-file [remote-file]
                 同 put 命令.

     sendport    轉換 sendport 狀態, 即是否使用 PORT 命令. 預設狀態下, ftp
                 每建立一茬s接進行數據傳送時, 都會使用一 PORT 命令. 使用 PORT
                 命令可以免掉多檔案傳輸時的延遲時間.  如果 PORT 命令失敗, ftp
                 會使用預設的數據端口. 如果禁止使用 PORT 命令,
                 則在每次進行數據傳送時不會使用 PORT 命令. 有些版本的 FTP
                 在具體實現中忽略了 PORT 命令, 但卻錯誤地應答說已經接受了 PORT
                 指令, 此時就需n使用本命令.

     site arg1 arg2 ...
                 本命令將參數作為 SITE 命令儤侀劂滓 FTP 伺服器.

     size file-name
                 顯示遠端機器上檔案 file-name 的大小.

     status      顯示 ftp 當前的各種狀態.

     struct [struct-name]
                 將檔案傳輸結構 structure 設置為參數 struct-name. 預設取
                 stream. ??

     sunique     轉換 sunique 狀態, 即遠端同名檔案是否自動覆.  n使用本命令,
                 遠端的 ftp 伺服器必須支持 ftp 協議中的 STOU 命令.
                 新生成的不同的遠端檔名會顯示給使用者.  預設的 sunique 狀態為
                 off, 即自動覆遙滓搹P名檔案.

     system      顯示遠端機器的作業系統類型.

     tenex       設置檔案傳輸方式為與 TENEX 機器通訊所需n的方式. ??

     trace       轉換 trace 狀態, 即是否跟蹤每蚍琤].

     type [type-name]
                 將檔案傳送類型 type 設置為 type-name. 如果不指定參數,
                 則本命令顯示當前檔案傳送類型.  預設的檔案傳送類型是網路 ASCII
                 類型.

     umask [newmask]
                 設置遠端機器上的檔案掩碼為 newmask. 如果不指定參數 newmask,
                 則本命令顯示當前的檔案掩碼.

     user user-name [password] [account]
                 使用 [user-name] 作為使用者名登入遠端 FTP 伺服器.
                 如果不指定參數 password, 而遠端伺服器需n提供密碼, 則 ftp
                 會提示使用者輸入密碼 (無回顯); 如果不指定參數 account, 而遠端
                 FTP 伺服器需n提供賬號, ftp 會提示使用者輸入賬號.
                 如果指定了參數 account, 而在登入過程中遠端 FTP 伺服器不需-
                 n賬號, 則在登入完成以後會使用一 account
                 命令將賬號發送給伺服器.  一般而言, ftp 在啟動時, 會與遠端 FTP
                 伺服器建立連接並自動完成以上的登入過程.  也可以在啟動 ftp
                 時使用 -n 選項禁止此自動登入弁.

     verbose     轉換 verbose 狀態, 即是否顯示詳細信息.  如果 verbose 狀態為
                 on , 則會顯示遠端 FTP 伺服器的每一蚥T應,
                 並在檔案傳送結束後顯示關於傳輸效率的統p信息.  預設的 verbose
                 狀態為 on .

     ? [command]
                 同 help 命令.

     如果參數含有空格, 需用使用一對引號 "" 將其引起來.

ee (ABORTING A FILE TRANSFER)
     按中斷鍵 (一般為 Ctrl-C ) 可放棄當前檔案傳送.  對發送檔案而言,
     此時當前發送過程會立刻終止; 對檔案接收, 此時會發送一 ftp 協議中的 ABOR
     命令到遠端伺服器, 而剩下未接受的數據會被丟棄.  這蚢L程有快有慢,
     具體取決於遠端伺服器如何實現 ABOR 命令. 如果遠端伺服器不支持 ABOR 命令,
     則伺服器會繼續當前檔案傳送, 直到傳送完成, 才再顯示出提示符 'ftp>.'

     如果所有的本地操作已經完成, ftp 在等待遠端伺服器應答時,
     不會對中斷鍵做出響應. 如果這時 ftp 協議出了問題, 或如上所-
     z遠端伺服器不支持 ABOR 命令而堅持把當前檔案發送完,
     使用者就會等待很長時間得不到響應. 如果確實是 ftp 協議出了問題,
     使用者必需手動殺掉這 ftp 進程.

W (FILE NAMING CONVENTIONS)
     ftp 命令中, Y指定檔名作為參數, 則此檔名會經過以下幾步的處理:

     1.   如果指定的檔名為 '-', 則在輸出時使用標準輸出 stdin,
          在輸入時使用標準輸入 stdout.

     2.   如果指定的檔名漲r母是 '|,' 則此參數餘下的部分被當作是一 shell 命令.
          Ftp 會使用 popen(3) 和所提供的參數創建一 shell 進程, 並使用標準輸入
          stdin (標準輸出 stdout) 來進行讀 (寫) 操作.  如果 shell
          命令中包含空格, 則必須用引號將其引起來; 例如: "ls -lt". 一-
          茼野峈漕狺l是: "dir | more".

     3.   如果上z兩步處理失敗, 而 globbing 狀態為 on , 本地檔名會進行匹配,
          匹配規則同 csh(1) (參.Ic glob 命令). 如果 ftp 命令只需n單-
          茠漸誚a檔案作參數 (如 put), 則僅使用匹配結果裏的第一蚗犰W.

     4.   對 mgetget 命令而言, 如果不指定本地檔名, 則遠端檔名在經過 case,
          ntrans,nmap 轉換後, 作為本地檔名使用. 如果 runique 狀態為 on,
          本地檔名還可能加上一茤策钀犰W以免覆.

     5.   對 mputput 命令而言, 如果不指定遠端檔名, 則本地檔名在經過 ntransnmap 轉換後, 作為遠端檔名使用. 如果 sunique 狀態為 on,
          遠端伺服器可能還會給遠端檔名加上一茤策钀犰W以免覆.

 (FILE TRANSFER PARAMETERS)
     FTP 規格說明書中指定了釵h可能影響檔案傳送的參數.  type 可設置為 ascii,
     image (binary), ebcdic, 或 local byte size (一般用於 PDP-10's 和 PDP-20's
     機器).  Ftp 支持 ascii 和 image 類型的檔案傳輸, 對於 tenex 機器, 還支持
     local byte size 8 方式的檔案傳輸.

     其它可能影響檔案傳輸的參數有 mode, form,struct. Ftp
     只支持這些參數的預設.

 (ENVIRONMENT)
     Ftp 使用了以下的環境變量:

     HOME        本環境變量指明了檔案 .netrc 的預設路徑, 如果其存在的話.

     SHELL       本環境變量指明了預設的 shell.

 (SEE ALSO)
     ftpd(8,) RFC 959

v (HISTORY)
     ftp 命令最初見於 4.2.BSD

~ (BUGS)
     對釵h ftp 命令而言, 其能否正確執行, 取決於遠端伺服器如何響應.

     使用 4.2BSD 的 ascii 方式傳送檔案時, 對回車換行符的處理有錯誤.
     本版本中已經蚰縣F此問題, 但同時帶來了另一荌暋D: 使用 ascii 方式, 與
     4.2BSD 伺服器互傳二進制檔案時可能出錯.  n避免此問題, 請使用 binary image
     類型來傳送檔案.