史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   網路軟硬體架設技術文件 (http://forum.slime.com.tw/f133.html)
-   -   FTP的一個小技巧 (http://forum.slime.com.tw/thread77656.html)

mancool 2003-10-21 12:43 AM

FTP的一個小技巧
 
FTP的一個小技巧 計算機中心 王銘欽

對於網路的愛用者而言,FTP真是一個非常方便的工具,只要幾個
簡單的指令,就可以隨心所欲的讓你將想要的檔案,經由網路從一部主機
,傳到另一部主機上。非但如此,因FTP而產生的一項網路新寵─Anonymous
FTP更是網路愛用者的最愛,無時無刻吸引著成千上萬的使用者。你是被
Anonymous FTP 所深深吸引的使用者之一嗎?這不重要,重要的是,你在
使用FTP 時曾遇到過傳輸的檔案太大,或網路太忙而使你必須枯坐在終端
機前等待的情況嗎?

遇到上面的情況,或許你是在 Console 上多開幾個 Window、或使用
NCSA的時多開幾個Sessions而免去枯坐等待的困擾,但這並非根本的解決
之道,因為你終究還是得坐在Console 或PC前,等待這些FTP 的工作完成
,如何是好呢?

現在提供一個方法,使你的FTP 可以在Background執行。讓你不必為
一個未完成的FTP ,停留在電腦前面。熟悉UNIX的人都知道在指令之後加
一個& ,即表示須在Background執行該指令,但FTP 是一個交談式的工具
,我們必需輸入指令以到達我們所要的目錄,再取回我們想要的檔案,這
些過程似乎無法在Background下動作,這樣如何可以在Background下執行
FTP 呢? 很簡單,如果我們把過程所需的指令事先寫在一個檔案,再讓
ftp 自動去讀取這些指令並執行,就不就可以省去輸入指令並等待的麻煩
,進而可以讓FTP 到background去執行了嗎?接下來,就一步步說明如何
來寫這樣一個檔案,讓FTP乖乖的去Background工作。

舉例來說:我們現在於AMY上,要到 ccsun1 的 Anonymous
FTP server取一些檔案回來,過程如下:

amy[stdnt/u8123456]%ftp ccsun1
Connected to ccsun1.cc.nctu.edu.tw.
220 ccsun1 FTP server (Version 4.162 Tue Nov 1 10:50:37 PST 1988) ready
Name (ccsun1:u8123456): anonymous
331 Guest login ok, send ident as password
Local directory now /usr/people/stdnt/u8123456/virus
ftp> cd virus
250 CWD command successful.
ftp> prompt ←切掉交談模式
Interactive mode off.
ftp> binary ←設定二進位傳輸模式
200 Type set to I.
ftp> mget *.* ←取回所有的檔案
local: readme.1st remote: readme.1st
200 PORT command successful.
...
150 Opening BINARY mode data connection for readme.1st (5012 bytes)
226 Transfer complete.
5012 bytes received in 0.02 seconds (244.24 Kbytes/s)
ftp> bye ←結束FTP
221 Goodbye.
amy[stdnt/u8123456]%

以上便是利用FTP 傳回檔案的一般過程,順利的話,一下子就可以
結束FTP 檔案傳輸,但如果不順利的話,你可能會開始不耐煩。現在,
我們將上面的過程改以Background來做。

1.首先,將過程所用到的指令依順序放入檔案中,如下:

amy[stdnt/u8123456]%cat ftp_command
!mkdir virus
lcd virus
cd virus
prompt
binary
mget *.*
bye

2.其次,建一個.netrc檔,讓ftp 自動到此讀取Username
與Password,方可順利login 到Anonymous FTP的主機,如下:

amy[stdnt/u8123456]%cat .netrc
machine ccsun1 login anonymous password guest
帳號 密碼

3.最後再執行下面指令即可。

amy[stdnt/u8123456]%nohup ftp ccsun1 < ftp_command > message &

其中nohup表示即使logout 系統也不會kill這process。
而 > message 是將過程中的訊息存到 message 這個檔案,
以便在其中有錯誤發生時,我們可以從中得到錯誤訊息。
不難吧?各位不妨試試,以解除枯坐螢幕前等待FTP 結束的
苦狀。

-----------------

[ 整理者的話 ]

真的, 上述的技巧是一個十分方便的檔案傳輸方法, 也節省了我們
不少的時間, 免於枯坐等候.

但是, 如果因為它的方便, 每個人都在尖峰時段使用, 心裡覺得反
正不須等候而任意使用, 那將只有造成大家的不便, 蓋檔案傳輸對線路
造成的負荷不小, 若大量傳輸或大家都同時使用, 相對的, 所有的傳輸
都會趨於遲鈍, 只會弄巧成拙, 耽擱了自己也延誤了別人.

為此, 個人在此呼籲各位使用者, 站在網路禮節與給大家方便的原
則上, 督促自己多加利用離峰時段進行傳檔工作, 尤其傳輸速率較低的
線路上的工作, 實不容小視!


所有時間均為台北時間。現在的時間是 08:42 AM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2022, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1