Man page - ftp(1)
Packages contains this manual
Available languages:
en ja zh_TW zh_CNManual
FTP (1) General Commands Manual FTP (1)
NAME
ftp — Internet 檔 案 傳 輸 程 式 (file transfer program)
概 述 (SYNOPSIS)
ftp [ -pinegvd ] [ host ] pftp [ -inegvd ] [ host ]
說 明 (DESCRIPTION)
使 用 者 透 過 Ftp 這 個 程 式 來 使 用 Internet 上 的 標 準 檔 案 傳 輸 協 議 (File Transfer Protocol). 本 程 式 允 許 使 用 者 向 遠 端 網 站 傳 送 檔 案 , 或 從 遠 端 網 站 接 收 檔 案 .
引 數 選 項 可 以 在 命 令 列 啟 動 ftp時 指 定 , 也 可 以 在 ftp命 令 解 釋 模 式 下 輸 入 .
-p
使 用 被 動 模 式 進 行 資 料 傳 輸 . 如 果 你 本 地 網 路 有 防 火 牆 , 外 部 主 機 不 能 連 線 到 你 這 個 客 戶 端 , 這 個 選 項 就 派 上 用 場 了 . 本 選 項 要 求 ftp 伺 服 器 支 援 PASV 命 令 . 如 果 使 用 pftp 從 命 令 列 啟 動 ftp, 本 選 項 是 預 設 開 啟 的 .
-i
進 行 多 個 檔 案 傳 輸 時 關 掉 互 動 式 的 確 認 提 示 .
-n
一 般 , 在 啟 動 ftp 時 , ftp 會 試 著 進 行 自 動 登 入 . 本 選 項 可 以 關 掉 這 個 功 能 . 如 果 auto-login 功 能 被 啟 用 的 話 , ftp 會 在 使 用 者 home 目 錄 下 的 .netrc (參 閱 netrc (5)) 檔 案 中 查 詢 遠 端 主 機 上 的 使 用 者 帳 號 . 如 果 .netrc 檔 案 中 使 用 者 帳 號 這 一 項 不 存 在 , ftp 會 提 示 使 用 者 輸 入 遠 端 主 機 上 的 登 入 名 (預 設 為 使 用 者 在 本 地 機 器 上 的 帳 號 ), 如 果 需 要 , 還 會 提 示 你 輸 入 密 碼 和 用 來 登 入 的 帳 號 . ??
(譯 者 注 : 使 用 本 選 項 , 可 以 實 現 所 謂 的 "非 互 動 式 登 入 ". 你 可 以 試 試 下 面 這 條 命 令 :
echo open ftp_server "\n" user my_name my_password "\n" dir "\n" bye | ftp -n 不 能 使 用 rcp 的 時 候 , 可 以 用 這 條 ftp 命 令 來 代 替 .)
-e
如 果 被 編 譯 成 了 ftp 可 執 行 格 式 , 本 選 項 會 關 掉 命 令 編 輯 和 歷 史 命 令 功 能 ; 否 則 什 麼 也 不 做 . ??
-g
關 掉 檔 名 匹 配 功 能 .
-v
顯 示 詳 細 資 訊 . 本 選 項 使 得 ftp 顯 示 遠 端 伺 服 器 的 所 有 響 應 , 並 在 資 料 傳 輸 完 成 後 顯 示 傳 輸 資 料 的 統 計 資 訊 .
-d
開 啟 debug 模 式 .
從 命 令 列 啟 動 ftp 時 , 可 指 定 欲 與 之 通 訊 的 遠 端 主 機 . 如 果 指 定 了 , ftp 會 立 即 嘗 試 與 遠 端 FTP 伺 服 器 建 立 連 線 ; 否 則 , ftp 會 進 入 其 命 令 解 釋 模 式 , 等 待 使 用 者 進 一 步 的 指 令 . ftp 在 等 待 使 用 者 指 令 時 , 會 顯 示 提 示 符 ‘ftp>’
ftp 能 夠 識 別 以 下 的 命 令 :
! [ command [ args ]]
在 本 地 機 器 上 啟 動 一 個 互 動 的 shell. 如 果 本 命 令 帶 有 引 數 , 第 一 個 引 數 作 為 shell 命 令 直 接 執 行 , 其 它 的 引 數 成 為 這 個 shell 命 令 的 引 數 .
$ macro-name [ args ]
執 行 宏 macro-name 所 指 代 的 命 令 . 宏 使 用 macdef 命 令 來 定 義 . 本 命 令 中 的 引 數 不 進 行 檔 名 匹 配 , 直 接 傳 給 這 個 宏 .
account [ passwd ]
在 你 成 功 登 入 以 後 , 本 命 令 可 以 提 供 一 個 附 加 的 密 碼 , 遠 端 系 統 會 用 這 個 密 碼 來 訪 問 某 些 資 源 . 如 果 不 指 定 引 數 , 則 會 提 示 使 用 者 輸 入 密 碼 ; 輸 入 密 碼 時 , 回 顯 會 被 禁 止 .
append local-file [ remote-file ]
新 增 本 地 檔 案 到 遠 端 機 器 上 . 如 果 沒 有 指 定 remote-file, 則 本 地 檔 名 在 經 過 ntrans 或 nmap 轉 換 後 , 作 為 遠 端 檔 名 使 用 . 在 檔 案 傳 輸 過 程 中 還 會 使 用 type, forma, mode 和 structure 的 當 前 設 定 .
ascii
將 當 前 檔 案 傳 輸 方 式 設 定 為 網 路 ASCII 方 式 , 即 文 字 模 式 . 這 也 是 預 設 的 檔 案 傳 送 方 式 .
bell
每 個 檔 案 傳 送 命 令 完 成 後 響 鈴 提 示 .
binary
將 當 前 檔 案 傳 輸 方 式 設 定 為 binary image, 即 二 進 位 制 模 式 .
bye
終 止 與 當 前 FTP 伺 服 器 的 連 線 , 退 出 ftp. 檔 案 結 束 符 (譯 者 注 : ctrl-D) 有 同 樣 的 功 能 .
case
轉 換 case 狀 態 , 即 遠 端 主 機 檔 名 大 小 寫 轉 換 規 則 . mget 命 令 會 中 用 到 本 狀 態 . case 狀 態 若 為 on, 遠 端 主 機 檔 案 傳 輸 到 本 地 時 , 檔 名 中 的 大 寫 字 母 會 被 轉 換 為 小 寫 . 預 設 的 case 狀 態 為 off. (譯 者 注 : toggle 這 個 詞 我 翻 譯 成 轉 換 . 意 思 是 說 , 如 果 當 前 case 狀 態 為 on, 你 執 行 case 這 個 命 令 , 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 下 的 文 字 檔 案 , 換 行 的 時 候 就 一 個 換 行 符 ; DOS 下 的 文 字 檔 案 , 換 行 的 時 候 是 兩 個 字 元 : 回 車 + 換 行 . 伺 服 器 端 ftpd 在 用 ascii 方 式 傳 送 檔 案 時 , 會 先 把 單 個 換 行 轉 換 為 回 車 + 換 行 , 再 送 到 網 路 上 傳 輸 ; 客 戶 端 ftp 在 用 ascii 方 式 接 受 檔 案 時 , 如 果 cr 狀 態 為 on, ftp 會 把 回 車 + 換 行 轉 換 為 單 個 換 行 ; 如 果 為 off, 則 不 進 行 這 種 轉 換 . 如 果 網 上 傳 輸 的 資 料 中 同 時 含 有 單 個 換 行 和 回 車 + 換 行 , 你 就 一 定 要 把 cr 狀 態 設 為 off, 才 能 把 資 料 原 樣 取 回 來 ; 否 則 , 取 回 來 的 單 個 換 行 和 回 車 + 換 行 都 轉 換 成 了 單 個 換 行 , 你 就 分 不 清 這 兩 種 了 . 還 是 使 用 binary 最 好 .)
delete remote-file
刪 除 遠 端 機 器 上 的 檔 案 remote-file.
debug [ debug-value ]
轉 換 debugging 狀 態 , 即 是 否 跟 蹤 每 條 指 令 . debug-value 是 可 選 的 , 其 值 用 來 設 定 跟 蹤 的 級 別 . 當 debigging 狀 態 為 on 時 , ftp 會 顯 示 每 條 送 往 遠 端 機 器 的 指 令 , 並 在 顯 示 的 指 令 前 加 上 ‘-->’
dir [ remote-directory ] [ local-file ]
顯 示 遠 端 機 器 目 錄 remote-director 下 的 檔 名 . local-file 這 個 引 數 是 可 選 的 . 如 果 指 定 了 這 個 引 數 , 本 命 令 的 顯 示 結 果 會 儲 存 在 local-file 這 個 本 地 檔 案 中 . 如 果 prompt 狀 態 為 on, ftp 會 提 示 使 用 者 確 認 最 後 這 個 引 數 是 用 來 存 放 dir 顯 示 結 果 的 本 地 檔 案 . 如 果 不 指 定 remote-director, 則 本 命 令 顯 示 遠 端 機 器 當 前 目 錄 下 的 檔 名 . 如 果 不 指 定 local-file, 或 local-file 指 定 為 - , 則 輸 出 結 果 顯 示 在 你 的 終 端 上 .
disconnect
同 close.
form format
將 檔 案 傳 輸 格 式 設 定 為 format. 預 設 格 式 為 “file”. ??
get remote-file [ local-file ]
把 遠 端 機 器 上 的 檔 案 remote-file 取 回 到 本 地 . 如 果 不 指 定 本 地 檔 名 , 則 遠 端 檔 名 在 經 過 case, ntrans 和 nmap 轉 換 後 , 作 為 本 地 檔 名 使 用 . 檔 案 傳 輸 過 程 中 會 用 到 當 前 的 type, form, mode, 和 structure 狀 態 .
glob
轉 換 glob 狀 態 , 即 在 執 行 mdelete, mget 和 mput 命 令 時 , 是 否 進 行 檔 名 匹 配 . 如 果 glob 狀 態 為 off, 則 不 進 行 檔 名 匹 配 . 對 mput 而 言 , 檔 名 匹 配 規 則 和 本 地 的 csh (1) 檔 名 匹 配 一 樣 . 對 mdelete 和 mget 而 言 , 每 個 遠 端 機 器 檔 名 都 分 別 在 遠 端 機 器 上 進 行 匹 配 , 匹 配 結 果 中 的 同 名 檔 案 不 會 合 並 . 目 錄 名 匹 配 規 則 和 檔 名 匹 配 規 則 不 盡 相 同 , 具 體 結 果 要 取 決 於 遠 端 系 統 和 ftp 服 務 程 式 . 你 可 以 使 用 ‘mls remote-files -’ 預 先 看 看 匹 配 結 果 是 否 如 你 所 願 . 注 意 : mget 和 mput 可 能 不 會 傳 送 子 目 錄 . 想 連 著 子 目 錄 一 起 傳 送 , 你 可 以 使 用 binary 方 式 傳 送 這 個 子 目 錄 的 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 兩 個 檔 案 被 傳 送 到 遠 端 . 如 果 glob 為 off , mput *n 這 條 指 令 不 會 被 匹 配 , 於 是 mput 會 試 圖 把 檔 名 為 "*n" 的 本 地 檔 案 傳 到 遠 端 , 如 果 本 地 沒 有 這 個 名 為 "*n" 的 檔 案 , ftp 就 會 報 錯 . 2、 mput 是 把 本 地 檔 案 送 到 遠 端 機 器 , 故 其 匹 配 規 則 與 本 地 shell的 檔 名 匹 配 一 致 . mget, mdelete 則 是 把 遠 端 機 器 上 的 檔 案 送 到 本 地 , 故 其 匹 配 規 則 和 最 終 結 果 要 取 決 於 遠 端 系 統 . 3、 考 慮 如 下 情 況 : 遠 端 機 器 上 有 三 個 檔 案 Xie, Wen, Min 如 果 執 行 mget X* W* *n, 顯 然 , 匹 配 結 果 會 是 Xie Wen Min Wen. 雖 然 Wen 這 個 檔 案 出 現 了 兩 次 , 但 ftp 不 會 把 這 兩 個 檔 名 合 為 一 個 , 所 以 Wen 這 個 檔 案 會 被 mget 兩 次 , 第 二 次 覆 蓋 第 一 次 . 如 果 mdel X* W* *n, Wen 這 個 檔 案 會 被 刪 兩 次 , 第 二 次 報 錯 .)
hash
轉 換 hash 狀 態 , 即 是 否 顯 示 資 料 傳 輸 進 度 . 如 果 hash 狀 態 為 on, 每 傳 送 完 一 個 1024 位 元 組 的 資 料 塊 時 顯 示 一 個 # 號 .
help [ command ]
顯 示 指 定 命 令 command 的 簡 要 說 明 . 如 果 不 指 定 引 數 , 本 命 令 列 出 所 有 已 知 的 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 會 提 示 使 用 者 確 認 最 後 一 個 引 數 是 用 來 存 放 ls 顯 示 結 果 的 本 地 檔 案 . 如 果 不 指 定 local-file , 或 者 local-file 指 定 為 ‘ - ’, 則 結 果 顯 示 到 使 用 者 終 端 上 . 可 以 在 本 命 令 中 用 引 號 指 定 附 加 引 數 . 例 如 , 如 果 遠 端 系 統 為 Unix, 則 ls "-rt /usr" 這 條 命 令 會 顯 示 遠 端 機 器 /usr 這 個 目 錄 下 的 檔 案 , 顯 示 結 果 按 建 立 時 間 由 遠 到 近 排 序 .
macdef macro-name
定 義 一 個 宏 . 執 行 本 命 令 後 , 接 下 來 輸 入 的 內 容 會 存 放 到 宏 macro-name 裡 . 空 行 (檔 案 中 的 連 續 換 行 , 或 終 端 的 回 車 換 行 ) 表 示 宏 定 義 結 束 . 最 多 隻 能 定 義 16 條 宏 , 而 且 所 有 的 宏 內 容 加 起 來 不 能 超 過 4096 位 元 組 . 執 行 close 命 令 後 所 有 的 宏 定 義 會 被 清 除 . 在 宏 中 , $ 和 \ 這 兩 個 字 元 為 特 殊 字 元 . $ 字 元 後 跟 數 字 , 將 在 這 個 宏 在 執 行 時 將 替 換 為 命 令 列 中 的 引 數 . $ 字 元 後 跟 字 元 i , 表 示 迴 圈 執 行 當 前 宏 . 在 迴 圈 的 第 一 次 , $i 被 替 換 為 命 令 列 中 的 第 一 個 引 數 ; 第 二 次 , 替 換 為 第 二 個 引 數 , 以 此 類 推 . \ 後 面 跟 一 個 字 元 , 表 示 這 個 字 元 本 身 . 例 如 , \ 可 以 去 掉 $ 的 特 殊 意 義 , 表 示 $ 這 個 字 元 本 身 .
mdelete [ remote-files ]
刪 除 遠 端 機 器 檔 案 remote-files.
mdir remote-files local-file
和 dir 命 令 相 似 , 但 是 允 許 你 指 定 多 個 遠 端 檔 案 . 如 果 prompt 狀 態 為 on, ftp 會 提 示 使 用 者 確 認 最 後 一 個 引 數 是 用 來 存 放 輸 出 結 果 的 本 地 檔 案 .
mget remote-files
匹 配 引 數 remote-files 中 指 定 的 遠 端 檔 名 , 對 匹 配 結 果 裡 的 每 個 檔 案 都 執 行 一 個 get 命 令 . 關 於 檔 名 匹 配 , 請 參 閱 glob 命 令 . 根 據 當 前 的 case, ntrans, 和 nmap 狀 態 , 遠 端 檔 名 在 經 過 適 當 的 轉 換 後 , 作 為 本 地 檔 名 使 用 . 檔 案 被 傳 輸 到 本 地 機 器 的 當 前 目 錄 . 你 可 以 用 ‘lcd directory’ 命 令 改 變 本 地 機 器 的 當 前 目 錄 , 也 可 以 用 ‘! mkdir directory’ 命 令 新 建 本 地 目 錄 .
mkdir directory-name
在 遠 端 機 器 上 建 立 目 錄 .
mls remote-files local-file
和 nlist 命 令 相 似 , 但 是 允 許 你 指 定 多 個 遠 端 檔 案 , 而 且 local-file 這 個 引 數 必 須 指 定 . 如 果 prompt 狀 態 為 on, ftp 會 提 示 使 用 者 確 認 最 後 一 個 引 數 是 用 來 存 放 輸 出 結 果 的 本 地 檔 案 .
mode [ mode-name ]
將 檔 案 傳 輸 模 式 設 定 為 mode-name 所 指 定 的 模 式 . 預 設 模 式 為 “stream” 模 式 . ??
modtime file-name
顯 示 遠 端 機 器 上 檔 案 的 最 後 修 改 時 間 .
mput local-files
匹 配 引 數 中 指 定 的 本 地 檔 名 , 對 匹 配 結 果 裡 的 每 個 檔 案 都 執 行 一 個 put 命 令 . 關 於 檔 名 匹 配 , 請 參 閱 glob 命 令 . 根 據 當 前 的 ntrans 和 nmap 狀 態 , 本 地 檔 名 在 經 過 適 當 的 轉 換 後 , 作 為 遠 端 檔 名 使 用 .
newer file-name [ local-file ]
比 較 遠 端 檔 案 和 本 地 檔 案 的 修 改 時 間 , 如 果 遠 端 檔 案 比 本 地 檔 案 新 , 或 本 地 檔 案 不 存 在 , 則 從 遠 端 機 器 上 取 此 檔 案 .
nlist [ remote-directory ] [ local-file ]
顯 示 遠 端 機 器 上 指 定 目 錄 下 的 檔 案 列 表 . 如 果 不 指 定 引 數 remote-directory, 則 顯 示 遠 端 機 器 當 前 目 錄 的 內 容 . 如 果 prompt 狀 態 為 on, ftp 會 提 示 使 用 者 確 認 最 後 一 個 引 數 是 用 來 存 放 顯 示 結 果 的 本 地 檔 案 . 如 果 不 指 定 本 地 檔 案 local-file, 或 者 本 地 檔 案 local-file 指 定 為 ‘Fl,’ 顯 示 結 果 會 在 使 用 者 終 端 上 顯 示 出 來 .
nmap [ inpattern outpattern ]
設 定 或 取 消 檔 名 對 映 機 制 . 如 果 不 指 定 引 數 , 則 本 命 令 取 消 檔 名 對 映 機 制 . 如 果 指 定 了 引 數 , 則 在 執 行 mput 或 put 命 令 , 且 不 指 定 遠 端 檔 名 時 , 遠 端 檔 名 會 被 對 映 ; 在 執 行 mget 或 get 命 令 , 且 不 指 定 本 地 檔 名 時 , 本 地 檔 名 會 被 對 映 . 非 unix 的 遠 端 系 統 常 使 用 不 同 於 unix 的 檔 案 命 名 規 則 , 當 用 ftp 連 線 到 這 樣 的 遠 端 系 統 時 , 本 命 令 會 很 有 用 處 . 轉 換 規 則 由 引 數 inpattern 和 outpattern 決 定 . 一 個 檔 名 會 先 經 過 ntrans 和 case 的 轉 換 , 再 按 照 inpattern 進 行 nmap 對 映 . 引 數 inpattern 指 定 轉 換 前 的 檔 案 命 名 規 則 . 引 數 outpattern 指 定 轉 換 後 的 檔 案 命 名 規 則 . 在 inpattern 和 outpattern 這 兩 個 引 數 中 , 用 $1, $2, ..., $9 來 替 代 變 數 ; 用 \$ 替 代 $ 字 元 ; 其 餘 的 字 元 則 沒 有 特 殊 含 義 . 例 如 , 若 inpattern 為 $1.$2, 則 對 於 檔 名 mydata.data, $1 取 值 mydata, $2取 值 data. 結 果 檔 名 由 outpattern 決 定 . 在 outpattern 中 , $1, $2, ..., $9 被 相 應 的 取 值 代 替 , 作 為 最 終 結 果 . $0 被 替 換 為 整 個 原 始 檔 名 . 對 方 括 號 括 起 來 的 兩 個 變 數 [$x,$y] 而 言 , 若 $x 非 空 , 則 其 相 當 於 $x; 否 則 相 當 於 $y (以 上 x,y 為 數 字 ). 舉 例 如 下 : 輸 入 命 令 列 nmap $1.$2.$3 [$1,$2].[$2,file], 則 原 始 檔 名 myfile.data 會 被 對 映 為 myfile.data, 原 始 檔 名 myfile.data.old 會 被 對 映 為 myfile.data, 原 始 檔 名 myfile 會 被 對 映 為 myfile.file, 原 始 檔 名 .myfile 會 被 對 映 為 myfile.myfile, Spaces may be included in outpattern, as in the example: ‘nmap $1 sed "s/ *$//" > $1’ . ?? (譯 者 注 : 這 一 段 我 沒 看 懂 , 也 沒 試 出 來 .) ‘$’, ’[’, ’]’, ‘,’ 這 四 個 字 元 有 特 殊 含 義 , 所 以 若 要 使 用 這 四 個 字 元 , 需 在 前 面 加 上 \ 以 去 掉 其 特 殊 含 義 .
ntrans [ inchars [ outchars ]]
設 定 或 取 消 檔 名 字 元 轉 換 機 制 . 如 果 不 指 定 引 數 , 則 本 命 令 取 消 檔 名 字 元 轉 換 機 制 . 如 果 指 定 了 引 數 , 則 在 執 行 mput 和 put 命 令 , 且 不 指 定 遠 端 檔 名 時 , 遠 端 檔 名 中 的 字 元 會 被 轉 換 ; 在 執 行 mget 和 get 命 令 , 且 不 指 定 本 地 檔 名 時 , 本 地 檔 名 中 的 字 元 會 被 轉 換 . 非 unix 的 遠 端 系 統 常 使 用 不 同 於 unix 的 檔 案 命 名 規 則 , 用 ftp 連 線 到 這 樣 的 遠 端 系 統 時 , 本 命 令 會 很 有 用 處 . 原 始 檔 名 中 的 inchars 會 被 替 換 為 對 應 的 outchars. 如 果 inchar 字 串 比 outchar 長 , 則 多 出 的 那 一 部 分 字 元 會 從 原 始 檔 名 中 刪 掉 .
open host [ port ]
連 線 到 指 定 的 遠 端 主 機 host FTP 伺 服 器 . 埠 號 ftp 是 可 選 的 ; 如 果 指 定 了 埠 號 , ftp 會 嘗 試 使 用 這 個 指 定 的 埠 號 連 線 遠 端 FTP 主 機 . 如 果 自 動 登 陸 選 項 auto-login 是 開 啟 的 話 (預 設 為 開 啟 ), ftp 還 會 嘗 試 自 動 登 陸 . (詳 見 下 述 )
prompt
轉 換 prompt 狀 態 , 即 是 否 進 行 互 動 提 示 . 如 果 prompt 狀 態 為 on , 在 傳 送 多 個 檔 案 時 , ftp 會 提 示 使 用 者 選 擇 要 上 傳 或 下 載 的 檔 案 ; 如 果 prompt 狀 態 為 off (預 設 為 on), mget 和 mput 這 兩 個 命 令 會 不 加 提 示 地 傳 送 所 有 指 定 的 檔 案 , mdelete 會 不 加 提 示 地 刪 掉 所 有 指 定 的 檔 案 .
proxy ftp-command
在 副 連 線 上 執 行 ftp 命 令 . 本 命 令 允 許 同 時 連 線 到 兩 個 遠 端 ftp 伺 服 器 , 並 在 這 兩 個 遠 端 伺 服 器 之 間 傳 送 檔 案 . (譯 者 注 : 原 始 的 ftp 所 建 立 的 連 線 為 primary control connection, 主 連 線 ; 使 用 proxy open 所 建 立 的 連 線 為 secondary control connection, 副 連 線 . 在 副 連 線 上 執 行 ftp 命 令 , 即 在 ftp 命 令 前 加 上 proxy 字 首 , 如 proxy open, proxy put 等 . 以 下 將 這 種 ‘‘proxy ftp command’’ 譯 為 "代 理 命 令 ".) 第 一 個 執 行 的 代 理 命 令 應 該 是 open 命 令 , 用 來 建 立 副 連 線 . 執 行 "proxy ?" 命 令 , 可 以 看 到 所 有 能 在 副 連 線 中 執 行 的 ftp 命 令 . 以 下 的 ftp 命 令 在 副 連 線 中 執 行 時 , 效 果 與 在 主 連 線 中 不 同 : 在 自 動 登 入 過 程 中 , open 不 會 定 義 新 的 宏 ; close 不 會 清 除 已 有 的 宏 定 義 ; get 和 mget 將 檔 案 從 主 連 線 的 遠 端 主 機 傳 送 到 副 連 線 的 遠 端 主 機 ; put , mput , 和 append 將 檔 案 從 副 連 線 的 遠 端 主 機 傳 至 主 連 線 的 遠 端 主 機 . 第 三 方 檔 案 傳 輸 取 決 於 副 連 線 的 遠 端 主 機 是 否 支 援 ftp 協 議 中 的 PASV 命 令 .
put local-file [ remote-file ]
將 本 地 檔 案 傳 至 遠 端 主 機 . 如 果 不 指 定 引 數 remote-file, 則 根 據 當 前 的 ntrans 和 nmap 狀 態 , 本 地 檔 名 在 經 過 適 當 的 轉 換 後 , 作 為 遠 端 檔 名 使 用 . 在 檔 案 傳 輸 過 程 中 會 用 到 當 前 的 type, format, mode 和 structure 狀 態 .
pwd
顯 示 遠 端 機 器 的 當 前 路 徑 .
quit
同 bye 命 令 .
quote arg1 arg2 ...
將 你 指 定 的 引 數 原 樣 送 到 遠 端 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 會 認 為 這 是 由 於 上 一 次 傳 送 異 常 中 斷 , 導 致 本 地 檔 案 只 是 遠 端 檔 案 的 開 頭 一 部 分 , 故 reget 會 從 本 地 檔 案 的 最 後 開 始 續 傳 . 在 連 線 不 穩 、 經 常 異 常 斷 掉 的 網 路 中 傳 送 大 檔 案 時 , 本 命 令 會 很 有 用 .
remotehelp [ command-name ]
顯 示 遠 端 FTP 服 務 程 式 的 幫 助 資 訊 . 如 果 指 定 了 引 數 command-name, 則 此 引 數 也 會 一 併 傳 給 遠 端 伺 服 器 .
remotestatus [ file-name ]
如 果 不 指 定 引 數 , 本 命 令 顯 示 遠 端 機 器 的 狀 態 . 如 果 指 定 了 引 數 file-name, 則 顯 示 遠 端 檔 案 file-name 的 狀 態 .
rename [ from ] [ to ]
將 遠 端 機 器 上 的 檔 案 from 重 新 命 名 為 to.
reset
清 除 應 答 佇 列 . 本 命 令 使 本 地 ftp 客 戶 和 遠 端 ftp 服 務 程 式 重 新 同 步 命 令 /應 答 序 列 . 遠 端 ftp 服 務 程 式 可 能 出 錯 , 並 導 致 ftp 協 議 出 現 錯 誤 , 此 時 需 要 使 用 本 命 令 .
restart marker
使 用 本 命 令 後 , 接 下 來 應 使 用 一 個 get 或 put 命 令 ; 此 時 的 get 或 put 命 令 會 從 引 數 marker 指 定 的 Unix 系 統 檔 案 偏 移 處 (一 般 以 位 元 組 計 算 ) 重 傳 檔 案 .
rmdir directory-name
刪 除 遠 端 機 器 上 的 目 錄 .
runique
轉 換 runique 狀 態 , 即 本 地 同 名 檔 案 是 否 自 動 覆 蓋 . 如 果 runique 狀 態 為 off, 則 在 使 用 get 或 mget 命 令 取 遠 端 檔 案 到 本 地 時 , 遠 端 檔 案 會 自 動 覆 蓋 本 地 的 同 名 檔 案 ; 如 果 runique 狀 態 為 on, 則 在 檔 案 同 名 時 , 會 在 取 回 的 檔 名 後 加 一 個 .1; 如 果 加 了 一 個 .1 還 是 與 本 地 檔 案 重 名 , 則 在 遠 端 檔 名 後 加 .2; 若 還 是 重 名 , 加 .3; 以 此 類 推 , 如 果 直 到 .99 還 重 名 , 則 會 報 錯 . 新 檔 名 會 顯 示 給 使 用 者 . 注 意 runique 狀 態 並 不 影 響 本 地 shell 命 令 的 檔 案 覆 蓋 . 預 設 的 runique 狀 態 為 off.
send local-file [ remote-file ]
同 put 命 令 .
sendport
轉 換 sendport 狀 態 , 即 是 否 使 用 PORT 命 令 . 預 設 狀 態 下 , ftp 每 建 立 一 個 連 線 進 行 資 料 傳 送 時 , 都 會 使 用 一 個 PORT 命 令 . 使 用 PORT 命 令 可 以 免 掉 多 檔 案 傳 輸 時 的 延 遲 時 間 . 如 果 PORT 命 令 失 敗 , ftp 會 使 用 預 設 的 資 料 埠 . 如 果 禁 止 使 用 PORT 命 令 , 則 在 每 次 進 行 資 料 傳 送 時 不 會 使 用 PORT 命 令 . 有 些 版 本 的 FTP 在 具 體 實 現 中 忽 略 了 PORT 命 令 , 但 卻 錯 誤 地 應 答 說 已 經 接 受 了 PORT 指 令 , 此 時 就 需 要 使 用 本 命 令 .
site arg1 arg2 ...
本 命 令 將 引 數 作 為 SITE 命 令 原 樣 傳 給 遠 端 FTP 伺 服 器 .
size file-name
顯 示 遠 端 機 器 上 檔 案 file-name 的 大 小 .
status
顯 示 ftp 當 前 的 各 種 狀 態 .
struct [ struct-name ]
將 檔 案 傳 輸 結 構 structure 設 定 為 引 數 struct-name. 預 設 取 值 為 stream. ??
sunique
轉 換 sunique 狀 態 , 即 遠 端 同 名 檔 案 是 否 自 動 覆 蓋 . 要 使 用 本 命 令 , 遠 端 的 ftp 服 務 程 式 必 須 支 援 ftp 協 議 中 的 STOU 命 令 . 新 生 成 的 不 同 的 遠 端 檔 名 會 顯 示 給 使 用 者 . 預 設 的 sunique 狀 態 為 off, 即 自 動 覆 蓋 遠 端 同 名 檔 案 .
system
顯 示 遠 端 機 器 的 作 業 系 統 型 別 .
tenex
設 定 檔 案 傳 輸 方 式 為 與 TENEX 機 器 通 訊 所 需 要 的 方 式 . ??
trace
轉 換 trace 狀 態 , 即 是 否 跟 蹤 每 個 資 料 包 .
type [ type-name ]
將 檔 案 傳 送 型 別 type 設 定 為 type-name. 如 果 不 指 定 引 數 , 則 本 命 令 顯 示 當 前 檔 案 傳 送 型 別 . 預 設 的 檔 案 傳 送 型 別 是 網 路 ASCII 型 別 .
umask [ newmask ]
設 定 遠 端 機 器 上 的 檔 案 掩 碼 為 newmask. 如 果 不 指 定 引 數 newmask, 則 本 命 令 顯 示 當 前 的 檔 案 掩 碼 .
user user-name [ password ] [ account ]
使 用 [ user-name ] 作 為 使 用 者 名 稱 登 入 遠 端 FTP 伺 服 器 . 如 果 不 指 定 引 數 password, 而 遠 端 伺 服 器 需 要 提 供 密 碼 , 則 ftp 會 提 示 使 用 者 輸 入 密 碼 (無 回 顯 ); 如 果 不 指 定 引 數 account, 而 遠 端 FTP 伺 服 器 需 要 提 供 賬 號 , ftp 會 提 示 使 用 者 輸 入 賬 號 . 如 果 指 定 了 引 數 account, 而 在 登 入 過 程 中 遠 端 FTP 服 務 程 式 不 需 要 賬 號 , 則 在 登 入 完 成 以 後 會 使 用 一 個 account 命 令 將 賬 號 傳 送 給 伺 服 器 . 一 般 而 言 , ftp 在 啟 動 時 , 會 與 遠 端 FTP 伺 服 器 建 立 連 線 並 自 動 完 成 以 上 的 登 入 過 程 . 也 可 以 在 啟 動 ftp 時 使 用 -n 選 項 禁 止 此 自 動 登 入 功 能 .
verbose
轉 換 verbose 狀 態 , 即 是 否 顯 示 詳 細 資 訊 . 如 果 verbose 狀 態 為 on , 則 會 顯 示 遠 端 FTP 伺 服 器 的 每 一 個 響 應 , 並 在 檔 案 傳 送 結 束 後 顯 示 關 於 傳 輸 效 率 的 統 計 資 訊 . 預 設 的 verbose 狀 態 為 on .
? [ command ]
同 help 命 令 .
如 果 引 數 含 有 空 格 , 需 用 使 用 一 對 引 號 "" 將 其 引 起 來 .
放 棄 當 前 檔 案 傳 送 (ABORTING A FILE TRANSFER)
按 中 斷 鍵 (一 般 為 Ctrl-C ) 可 放 棄 當 前 檔 案 傳 送 . 對 傳 送 檔 案 而 言 , 此 時 當 前 傳 送 過 程 會 立 刻 終 止 ; 對 檔 案 接 收 , 此 時 會 發 送 一 個 ftp 協 議 中 的 ABOR 命 令 到 遠 端 伺 服 器 , 而 剩 下 未 接 受 的 資 料 會 被 丟 棄 . 這 個 過 程 有 快 有 慢 , 具 體 取 決 於 遠 端 伺 服 器 如 何 實 現 ABOR 命 令 . 如 果 遠 端 伺 服 器 不 支 援 ABOR 命 令 , 則 伺 服 器 會 繼 續 當 前 檔 案 傳 送 , 直 到 傳 送 完 成 , 才 再 顯 示 出 提 示 符 ‘ftp>.’
如 果 所 有 的 本 地 操 作 已 經 完 成 , ftp 在 等 待 遠 端 伺 服 器 應 答 時 , 不 會 對 中 斷 鍵 做 出 響 應 . 如 果 這 時 候 ftp 協 議 出 了 問 題 , 或 如 上 所 述 遠 端 伺 服 器 不 支 援 ABOR 命 令 而 堅 持 把 當 前 檔 案 傳 送 完 , 使 用 者 就 會 等 待 很 長 時 間 得 不 到 響 應 . 如 果 確 實 是 ftp 協 議 出 了 問 題 , 使 用 者 必 需 手 工 殺 掉 這 個 ftp 程 序 .
檔 名 轉 換 (FILE NAMING CONVENTIONS)
ftp 命 令 中 , 若 指 定 檔 名 作 為 引 數 , 則 此 檔 名 會 經 過 以 下 幾 步 的 處 理 :
1.
如 果 指 定 的 檔 名 為 ‘ - ’, 則 在 輸 出 時 使 用 標 準 輸 出 stdin, 在 輸 入 時 使 用 標 準 輸 入 stdout.
2.
如 果 指 定 的 檔 名 首 字 母 是 ‘|,’ 則 此 引 數 餘 下 的 部 分 被 當 作 是 一 個 shell 命 令 . Ftp 會 使 用 popen (3) 和 所 提 供 的 引 數 建 立 一 個 shell 程 序 , 並 使 用 標 準 輸 入 stdin (標 準 輸 出 stdout) 來 進 行 讀 (寫 ) 操 作 . 如 果 shell 命 令 中 包 含 空 格 , 則 必 須 用 引 號 將 其 引 起 來 ; 例 如 : "ls -lt". 一 個 有 用 的 例 子 是 : "dir | more".
3.
如 果 上 述 兩 步 處 理 失 敗 , 而 globbing 狀 態 為 on , 本 地 檔 名 會 進 行 匹 配 , 匹 配 規 則 同 csh (1) (參 閱 glob 命 令 ). 如 果 ftp 命 令 只 需 要 單 個 的 本 地 檔 案 作 引 數 (如 put), 則 僅 使 用 匹 配 結 果 裡 的 第 一 個 檔 名 .
4.
對 mget 和 get 命 令 而 言 , 如 果 不 指 定 本 地 檔 名 , 則 遠 端 檔 名 在 經 過 case, ntrans, 或 nmap 轉 換 後 , 作 為 本 地 檔 名 使 用 . 如 果 runique 狀 態 為 on, 本 地 檔 名 還 可 能 加 上 一 個 字 尾 以 免 覆 蓋 .
5.
對 mput 和 put 命 令 而 言 , 如 果 不 指 定 遠 端 檔 名 , 則 本 地 檔 名 在 經 過 ntrans 或 nmap 轉 換 後 , 作 為 遠 端 檔 名 使 用 . 如 果 sunique 狀 態 為 on, 遠 端 伺 服 器 可 能 還 會 給 遠 端 檔 名 加 上 一 個 字 尾 以 免 覆 蓋 .
檔 案 轉 換 引 數 (FILE TRANSFER PARAMETERS)
FTP 規 格 說 明 書 中 指 定 了 許 多 可 能 影 響 檔 案 傳 送 的 引 數 . 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
歷 史 (HISTORY)
ftp 命 令 最 初 見 於 4.2.BSD
錯 誤 (BUGS)
對 許 多 ftp 命 令 而 言 , 其 能 否 正 確 執 行 , 取 決 於 遠 端 伺 服 器 如 何 響 應 .
使 用 4.2BSD 的 ascii 方 式 傳 送 檔 案 時 , 對 回 車 換 行 符 的 處 理 有 錯 誤 . 本 版 本 中 已 經 修 正 了 此 問 題 , 但 同 時 帶 來 了 另 一 個 問 題 : 使 用 ascii 方 式 , 與 4.2BSD 伺 服 器 互 傳 二 進 位 制 檔 案 時 可 能 出 錯 . 要 避 免 此 問 題 , 請 使 用 binary image 型 別 來 傳 送 檔 案 .
跋
本 頁 面
中 文 版 由 中 文 man
手 冊 頁 計 劃 提
供 。
中 文 man 手 冊 頁 計
劃 :
https://github.com/man-pages-zh/manpages-zh
Linux
NetKit (0.16) August 15, 1999
FTP
(1)