在 UNIX 文字操作介面中,下指令
ftp HOSTNAME即可與遠方機器連線。其中 HOSTNAME 是遠端機器的名字。 如果在同一個網域內,則不必寫全名,否則就要寫。
一開始,可能會看到一些對方 FTP 伺服機所提供的訊息。 應該要適當地留意這些訊息。
如果對方是一個開放的檔案傳輸站台,則應該在
Name:提示號之處輸入 anonymous 或 ftp,並且在
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 每傳輸一個檔案之前,先詢問確認 |
所謂批次操作 (batch job) 就是將所有要執行的工作先寫好, 再整批自動執行。在執行當中,不需要人為監控或是干預。 UNIX 的 ftp 指令有此功能。
在帳號根目錄內,建立一個名叫 .netrc 的純文字隱藏檔案。 它的內容是每列設定一台 ftp 伺服機的機器名、欲簽入之帳號名、密碼。 如下
注意,前兩列是提供公開檔案傳輸服務的電腦, 所有可以用匿名帳號 (anonymous) 進入。 但是第三列是個一般的 UNIX 工作站,必須使用自己的用戶帳號與密碼, 才能簽入。此處寫的帳號與密碼當然是假的。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
為了保護 .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) ---