A. 我想了解下FTP的知識,越全越好,但是不要太煩
FTP命令是Internet用戶使用最頻繁的命令之一,不論是在DOS還是UNIX操作
系統下使用FTP,都會遇到大量的FTP內部命令,熟悉並靈活應用FTP的內部命令,可
以大大方便使用者,對於現在撥號上網的用戶,如果ISP提供了shell可以使用noh
up,那麼ftp將是你最省錢的上download方式,ftp的命令行格式為:ftp -v -d
-i -n -g[主機名] -v 顯示遠程伺服器的所有響應信息。
-d 使用調試方式。 -n 限制ftp的自動登錄,即不使用.netrc文件。
-g 取消全局文件名。
ftp使用的內部命令如下(其中括弧表示可選項):
1.![cmd[args]]在本地機中執行交互shell、exit回到ftp環境,如!ls*.zip
。
2.¥ macro-ame[args]執行宏定義macro-name。
3.account[password]提供登錄遠程系統成功後訪問系統資源所需的補充口令
。
4.appendlocal-file[remote-file]將本地文件追加到遠程系統主機,若未
指定遠程系統文件名,則使用本地文件名。
5.ascii 使用ascii類型傳輸方式。
6.bell每個命令執行完畢後計算機響鈴一次。
7.bin使用二進制文件傳輸方式。
8.bye退出ftp會話過程。
9.case在使用mget時,將遠程主機文件名中的大寫轉為小寫字母。
10.cd remote-dir 進入遠程主機目錄。
11.cp進入遠程主機目錄的父目錄。
12.chmod modefile-name將遠程主機文件file-name的存取方式設置為mod
e,如chmod 777 a.out。
13.close中斷與遠程伺服器的ftp會話(與open對應)。
14.cr使用asscii方式傳輸文件時,將回車換行轉換為回行。
15.delete remote-file刪除遠程主機文件。
16.debug[debug-value]設置調試方式,顯示發送至遠程主機的每條命令,如
debup3,若 設為0,表示取消debug。
17.dir[remote-dir][local-file]顯示遠程主機目錄,並將結果存入local
-file。
18.disconnection同close。
19.form format將文件傳輸方式設置為format,預設為file方式。
20.getremote-file[local-file]將遠程主機的文件remote-file傳至本地
硬碟的local-file。
21.glob設置mdelete、mget、mput的文件名擴展,預設時不擴展文件名,同命
令行的-g參數。
22.hash每傳輸1024位元組,顯示一個hash符號(#)。
23.help[cmd]顯示ftp內部命令cmd的幫助信息,如help get。
24.idle[seconds]將遠程伺服器的休眠計時器設為[seconds]秒。
25.image設置二進制傳輸方式(同binary)
26.lcd[dir]將本地工作目錄切換至dir。
27.ls[remote-dir][local-file]顯示遠程目錄remote-dir,並存入本地
local-file。
28.macdef macro-name定義一個宏,遇到macdef下的空行時,宏定義結束。
29.mdelete[remote-file]刪除遠程主機文件。
30.mdir remote-files local-file與dir類似,但可指定多個遠程文件,如
mdir*.o.*. zipoutfile。
31.mget remote-files傳輸多個遠程文件。
32.mkdir dir-name 在遠程主機中建一目錄。
33.mls remote-file local-file同nlist,但可指定多個文件名。
34.mode[mode-name]將文件傳輸方式設置為mode-name,預設為stream方式
。
35.modtime file-name顯示遠程主機文件的最後修改時間。
36.mput local-file將多個文件傳輸至遠程主機。
37.newerfile-name如果遠程機中file-name的修改時間比本地硬碟同名文
件的時間更近,則重傳該文件。
38.nlist[remote-dir][local-file]顯示遠程主機目錄的文件清單,並存
入本地硬碟的local-file。
39.nmap[inpatternoutpattern]設置文件名映射機制,使得文件傳輸時,文件
中的某些字元相互轉換,如nmap¥1.¥2.¥3[¥1,¥2].[¥2,¥3],則傳輸文件a1
.a2.a3時,文件名變為a1、a2,該命令特別適用於遠程主機為非U-NIX機的情況。
40.ntrans[inchars[outchars]]設置文件名字元的翻譯機制,如ntrans1R,則
文件名LL L將變為RRR。
41.open host[port]建立指定ftp伺服器連接,可指定連接埠。 42.
passive進入被動傳輸方式。
43.prompt設置多個文件傳輸時的交互提示。
44.proxyftp-cmd在次要控制連接中,執行一條ftp命令,該命令允許連接兩
個ftp伺服器,以在兩個伺服器間傳輸文件。第一條ftp命令必須為open,以首先建
立兩個伺服器間的連接。
45.put local-file[remote-file]將本地文件local-file傳送至遠程主
機。
46.pwd顯示遠程主機的當前工作目錄。
47.quit同bye,退出ftp會話。
48.quote arg1,arg2……將參數逐字發至遠程ftp伺服器,如quote syst。
49.recv remote-file[local-file]同get。
50.regetremote-file[local-file]類似於get,但若local-file存在,則
從上次傳輸中斷處續傳。
51.rhelp[cmd-name]請求獲得遠程主機的幫助。
52.rstatus[file-name]若未指定文件名,則顯示遠程主機的狀態,否則顯示
文件狀態。
53.rename[from][to]更改遠程主機文件名。 54.reset清除回答隊列
。
55.restart marker從指定的標志marker處,重新開始get或put,如restart
130。
56.rmdir dir-name刪除遠程主機目錄。
57.runique設置文件名唯一性存儲,若文件存在,則在原文件後加後綴。
58.send local-file[remote-file]同put。
59.sendport設置PORT命令的使用。
60.site arg1,arg2……將參數作為SITE命令逐字發送至遠程ftp主機。
61.size file-name顯示遠程主機文件大小,如site idle 7200。
62.status顯示當前ftp狀態。
63.struct[struct-name]將文件傳輸結構設置為struct-name,預設時使用
stream結構。
64.sunique將遠程主機文件名存儲設置為唯一(與runique對應)。
65.system顯示遠程主機的操作系統類型。
66.tenex將文件傳輸類型設置為TENEX機所需的類型。
67.tick設置傳輸時的位元組計數器。
68.trace設置包跟蹤。
69.type[type-name]設置文件傳輸類型為type-name,預設為ascii,如typ
ebinary,設置 二進制傳輸方式。
70.umask[newmask]將遠程伺服器的預設umask設置為newmask,如umask 3。
71.useruser-name[password][account]向遠程主機表明自己的身份,需要
口令
時,必須輸入口令,如user anonymous my@email。
72.verbose同命令行的-v參數,即設置詳盡報告方式,ftp伺服器的所有響應
都將顯示給用戶,預設為on.
73.[cmd]同help。
那麼如何應用這些命令提高效率呢?下面我舉一個例子,如何利用fttp進行
後台下載,假設你的ISP給你提供了shell並且可以用nohup,你想由fttp.downlo
ad.com/pub/internet/下載一個30M的程序aaa.zip具體步驟如下:
1.用notepad做一個文件如aaa1內容如下 open ftp.dwonload.com user anonymous [email protected] cd /pub/internet/ i get aaa.zip close bye
2.撥號登錄到你的ISP上。用telnet 或netterm登錄到shell,一般都在你的home子目錄里bbs~/
3.用fttp上傳aaa1到ISP伺服器你的子目錄。
4. 執行nohup fttp-invd aaa2& 這樣這個進程就被放在ISP伺服器的後台進行了,如果你想知道情況如何,可以more aaa2就可以知道情況如何了。這時你可以斷線了或干點別的,估計時間到了(time約=30M/(33.6K/9)s)撥號上去,more aaa2如果顯示成功下載aaa.zip就表示aaa.zip已經被下載到ISP的伺服器上了,你再由ISP的伺服器拉回來就相當與點對點了,記得下載完成後del掉你的文件(aaa.zip),免得浪費ISP資源,它會關掉shell的。