UNIX ftp 網路教材

[ 互動操作 ]‧[ 批次操作 ]

互動操作

在 UNIX 文字操作介面中,下指令

ftp HOSTNAME
即可與遠方機器連線。其中 HOSTNAME 是遠端機器的名字。 如果在同一個網域內,則不必寫全名,否則就要寫。

一開始,可能會看到一些對方 FTP 伺服機所提供的訊息。 應該要適當地留意這些訊息。

如果對方是一個開放的檔案傳輸站台,則應該在

Name:
提示號之處輸入 anonymousftp,並且在
Password:
提示號之處輸入您的完整 e-mail 地址。 否則,您就必須輸入在那台電腦上的帳號名和密碼,才能登入。

萬一密碼輸入錯誤,會看到類似

Login incorrect.
這樣的訊息,然後出現 ftp 的提示號:
ftp>
此時可以下指令
user NAME
其中 NAME 是您的帳號名。於是 ftp 會再問一次密碼。

如果登入成功了,會看到類似以下訊息

User NAME logged in.
然後出現 ftp 的提示號:
ftp>
此時可以下指令了。以下列出常用的指令。
bye
quit
離線並結束 ftp 程式
close 離線但不結束 ftp 程式
user NAME 以 NAME 帳號再度連線到剛才的電腦
open HOST 連線到 HOST 電腦
ls
ls -F
dir
看對方的檔案目錄
!ls
!ls -F
!ls -l
看己方的檔案目錄
cd PATH
lcd PATH
更換對方的資料夾到 PATH
更換己方的資料夾到 PATH
mkdir FOLDER
!mkdir FOLDER
在對方建立一個新資料夾,名叫 FOLDER
在己方建立一個新資料夾,名叫 FOLDER
pwd
!pwd
詢問對方目前的資料夾
詢問己方目前的資料夾
ascii 設定純文字傳輸模式
binary 設定非文字傳輸模式
get FILE
put FILE
從對方下傳一個檔案,在己方以同樣名字儲存
從己方上傳一個檔案,在對方以同樣名字儲存
get FA FB
put FA FB
從對方下傳檔案 FA,在己方以 FB 名字儲存
從己方上傳檔案 FA,在對方以 FB 名字儲存
mget FA FB ...
mput FA FB ...
從對方下傳檔案超過一個檔案,在己方全部以同樣名字儲存
從己方上傳檔案超過一個檔案,在對方全部以同樣名字儲存
hash toggle 指令,每傳輸若干資料 (例如 1024 拜) 就印一個 # 符號
prompt toggle 指令,用 mput 或 mget 每傳輸一個檔案之前,先詢問確認

以上所謂的 toggle 指令,表示如果原來的狀態是 on/off, 則下指令以後就變成 off/on。

批次操作

所謂批次操作 (batch job) 就是將所有要執行的工作先寫好, 再整批自動執行。在執行當中,不需要人為監控或是干預。 UNIX 的 ftp 指令有此功能。

在帳號根目錄內,建立一個名叫 .netrc 的純文字隱藏檔案。 它的內容是每列設定一台 ftp 伺服機的機器名、欲簽入之帳號名、密碼。 如下

machine dongpo.math.ncu.edu.tw login anonymous password shann@math.ncu.edu.tw
machine ftp.csie.nctu.edu.tw login anonymous password shann@math.ncu.edu.tw
machine hilbert.math.ntu.edu.tw login shawn password qwerty89
注意,前兩列是提供公開檔案傳輸服務的電腦, 所有可以用匿名帳號 (anonymous) 進入。 但是第三列是個一般的 UNIX 工作站,必須使用自己的用戶帳號與密碼, 才能簽入。此處寫的帳號與密碼當然是假的。

為了保護 .netrc 檔案內容,它的權限模式必須是 rw-------。 所以要說

chmod 600 .netrc
然後,只要是使用 ftp 連線到 .netrc 中有記錄的電腦, 就由 ftp 代為回答帳號名與密碼,您自己不必輸入了。

如果您事先已經知道,在某台 ftp 伺服機裡面的某個資料夾裡面, 有某個您需要的檔案。則可以將整個傳輸過程所需要的指令,全部寫在一個檔案裡面。 例如以下檔案,這個檔案可以任意命名,此處我們稱之為 ftp.bat。

cd chinese
ascii
get pi.txt
quit
然後,就說
ftp dongpo.math.ncu.edu.tw < ftp.bat
即可。ftp 將會根據 .netrc 的資料,自動為您簽入 dongpo.math.ncu.edu.tw 的 ftp 伺服機,然後根據 ftp.bat 的敘述,逐一執行指令, 以純文字傳輸模式,取回一個名叫 pi.txt 的檔案。

[ 互動操作 ]‧[ 批次操作 ]

單維彰 (00/10/24) ---