ftp命令是Internet使用者使用最頻繁的命令之一,不論是在DOS還是UNIX作業系統下使用FTP,都會遇到大量的FTP內部命令,熟悉並靈活應 用FTP的內部命令,可以大大方便使用者,對於現在撥接的使用者,如果ISP提供了shell可以使用nohup,那麼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.cdup進入遠程主機目錄的父目錄。
12.chmod modefile-name將遠程主機檔案file-name的存取方式設定為mode,如 chmod 777 a.out。
13.close中斷與遠程伺服器的ftp會話(與open對應)。
14.cr使用asscii方式傳輸檔案時,將斷行符號換行轉換為回行。
15.delete remote-file刪除遠程主機檔案。
16.debug[debug-value]設定調試方式,顯示發送至遠程主機的每條命令.
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,並存入本地loca l
-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伺服器串連,可指定串連連接埠。4
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若未指定檔案名稱,則顯示遠程主機的狀態,否則顯示檔案狀態。
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,如typebinary,設定 二進位傳輸方式。
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,你想由
ftp.download.com/pub/internet/下載一個30M的程式aaa.zip具體步驟如下:
1.用notepad做一個檔案如aaa1內容如下
open ftp.dwonload.com
user anonymous zyz@cenpok.net
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的。