FTP命令是Internet用户使用最频繁的命令之一,熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。如果你想学习使用进行后台FTP下载,那么就必须学习FTP指令。 i/ @+ i2 |. q& l# v* @
; o' G4 p- U0 Z, u3 HFTP的命令行格式为:
4 z; w) L4 I; i7 l, R" {ftp -v -d -i -n -g [主机名] ,其中
* b/ O& Q( u0 M6 {$ H( F- J+ s* W( a& f* Z% c
-v 显示远程服务器的所有响应信息;
2 o8 ^& v1 r1 ^
! P$ _* _% ~0 H3 I. A1 m6 G; [-n 限制ftp的自动登录,即不使用;.n etrc文件;
: _) K+ _2 Y! q4 [# B: Q/ K6 {) d, z3 }1 }
-d 使用调试方式;
8 o; U s5 k- l! V
% b# `5 n* j5 E7 g) \+ Q-g 取消全局文件名。1 T( n' S4 [' M9 e, \! ?' ]9 x
! z* S- h; D% l% K, [9 K* m ]
: @9 y$ I. Y' a3 r8 kFTP使用的内部命令如下(中括号表示可选项):
Q9 t, r9 z0 s) X) y. \( z! ^1 M1 w2 ?/ a4 ~
1.![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip
( M7 y5 t/ l; a7 }- z- o
% H, `! N" O" ~8 K/ O2.$ macro-ame[args]: 执行宏定义macro-name。$ e# U& y- G/ {
* K* t, j' \. G& `3.account[password]: 提供登录远程系统成功后访问系统资源所需的补充口令。
; c4 v# e( u0 H j, n1 ]& Z& v5 A
! A1 X% N1 z/ i1 w8 g- C8 G$ w4.append local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。
& | K( b7 y7 b& f+ s( B
1 ~) P( U% }5 D0 G: `. m5.ascii:使用ascii类型传输方式。- Y% q3 v: W6 H/ }! m
6.bell:每个命令执行完毕后计算机响铃一次。
1 J+ Q; K @5 J6 G5 a3 j+ W/ n) ~. X( [
7.bin:使用二进制文件传输方式。
' [! h. J& N A0 ~+ Y3 B9 f* I8.bye:退出ftp会话过程。, A" W) C+ V F9 T1 n/ o4 j
7 X% N5 [9 C3 L- h3 U1 Q, F9.case:在使用mget时,将远程主机文件名中的大写转为小写字母。. x ^% _( U4 j
- Y) D! l0 @7 i6 K9 s
10.cd remote-dir:进入远程主机目录。/ i* M1 d$ ^% e+ H# y& T( n
& V! g# F* P$ k& s: r2 s5 m- m' r
11.cdup:进入远程主机目录的父目录。
4 a: ?8 l) b0 U n# O
/ `0 z$ S# ]# b0 q12.chmod mode file-name:将远程主机文件file-name的存取方式设置为mode,如:chmod 777 a.out。
9 ~- f* n4 `; _8 P- ~1 B2 d7 u; V2 U5 W
13.close:中断与远程服务器的ftp会话(与open对应)。
* Z1 [& i- j$ _4 Y2 p
: j4 ]3 ]( _, F# V* b0 Q14.cr:使用asscii方式传输文件时,将回车换行转换为回行。3 l$ f# _% `0 I2 @
6 \, l& B$ `2 ~: M5 d- N15.delete remote-file:删除远程主机文件。$ |' [4 V8 J9 e. t+ |1 y
g* G3 k' |6 Z( G16.debug[debug-value]:设置调试方式, 显示发送至远程主机的每条命令,如:deb up 3,若设为0,表示取消debug。
- a2 h* N, H. {4 B
/ B D$ r3 l3 r) B Y# ]) ?17.dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件* R. L! x8 e1 C
18.disconnection:同close。
2 J* S9 Q! l% q6 g& h! a& U" s1 |% G6 }
19.form format:将文件传输方式设置为format,缺省为file方式。' W/ X v5 X/ d3 F
. j, \2 V5 f9 Z# ?( f, C6 b
20.get remote-file[local-file]: 将远程主机的文件remote-file传至本地硬盘的local-file。# O# S' h& |3 y$ u W
7 g' J* p* P3 m( V4 N21.glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。
6 Z* [+ T! {4 W3 R" D) u) D- T8 ]
22.hash:每传输1024字节,显示一个hash符号(#)。% g- O' e6 Q$ a G, \ l3 v
! o( i) N( N8 O. D8 v
23.help[cmd]:显示ftp内部命令cmd的帮助信息,如:help get。+ {) V( ^3 z5 o
24.idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。) F! E: V, V' h/ {; ~$ q$ q9 ?
4 P8 O. O* z8 F9 i8 a
25.image:设置二进制传输方式(同binary)。9 _/ ]0 u3 r9 o4 k8 F
: F5 k+ v! ^5 f5 M" B. r/ Q7 ]
26.lcd[dir]:将本地工作目录切换至dir。" [3 I" u/ G0 N
+ q$ `$ ?( t# z5 a7 F- M: O# T2 u
27.ls[remote-dir][local-file]:显示远程目录remote-dir, 并存入本地文件local-file。
. E( j9 D; \5 r
- k8 \% U8 j( q1 B" k4 \! B# K G28.macdef macro-name:定义一个宏,遇到macdef下的空行时,宏定义结束。
$ P2 ?/ Y; t2 w9 R29.mdelete[remote-file]:删除远程主机文件。
1 {: S2 \7 e! D; }3 j0 q30.mdir remote-files local-file:与dir类似,但可指定多个远程文件,如 :mdir *.o.*.zipoutfile 。
- a$ K0 n8 z' A# }! ]9 j' M5 i6 j) @1 L" ?2 U; K6 S
31.mget remote-files:传输多个远程文件。5 A4 ~7 L0 \! {$ M
" v) Z- T. ]; R ?4 H$ t32.mkdir dir-name:在远程主机中建一目录。, m; O4 ?( C7 k( A+ U
2 M. Q6 {, t+ ^' ~- J33.mls remote-file local-file:同nlist,但可指定多个文件名。: w' y3 t7 [( Z
34.mode[modename]:将文件传输方式设置为modename, 缺省为stream方式。
1 o% s& |" a: f- \ \. {7 F6 h35.modtime file-name:显示远程主机文件的最后修改时间。% b6 H' k9 k# m7 _8 n
( W' Z5 s: `- E, {* b
36.mput local-file:将多个文件传输至远程主机。
$ n7 |7 r d E+ j5 f" Z: d4 M. c# r
* U8 ?4 _8 T8 X! J37.newer file-name: 如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。; e5 V- g1 j6 P! O6 w- v! ?
38.nlist[remote-dir][local-file]:显示远程主机目录的文件清单,并存入本地硬盘的local-file。! d; w. f& x& a; X/ ~8 q7 m
39.nmap[inpattern outpattern]:设置文件名映射机制, 使得文件传输时,文件中的某些字符相互转换, 如:nmap $1.$2.$3[$1,$2].[$2,$3],则传输文件a1.a2.a3时,文件名变为a1,a2。 该命令特别适用于远程主机为非UNIX机的情况。
' E1 u/ s r: p: `40.ntrans[inchars[outchars]]:设置文件名字符的翻译机制,如ntrans1R,则文件名LLL将变为RRR。3 d9 d( s: I" R% M9 r9 s+ p3 |4 Q
. r4 `# S- v9 |6 ~41.open host[port]:建立指定ftp服务器连接,可指定连接端口。4 [4 N5 P1 u8 }( y: M! I8 S, f6 r
7 |" }, ^3 ?. e+ y2 J) x% B/ ^
42.passive:进入被动传输方式。% r1 j: E2 p3 N) l a
0 }9 @# N# v8 z; [1 A
43.prompt:设置多个文件传输时的交互提示。
1 @: k; @2 D+ }) Q8 e0 `* Q% y# Y
% u- X% s2 ^' v! S8 [44.proxy ftp-cmd:在次要控制连接中,执行一条ftp命令, 该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。
$ U; V' z' @+ n0 u3 T: `+ L45.put local-file[remote-file]:将本地文件local-file传送至远程主机。' S) r# T# _; d0 @
46.pwd:显示远程主机的当前工作目录。
3 |5 \; Y" b+ L, w3 b0 G/ I: w) A8 a3 R: s$ n2 f- ? Q
47.quit:同bye,退出ftp会话。9 y8 Q" m7 l0 w( R. M4 V+ l! ?
0 P# K$ I+ i L. \- s4 ]48.quote arg1,arg2...:将参数逐字发至远程ftp服务器,如:quote syst.8 D: ~* r; \" `; x! `- k6 s
49.recv remote-file[local-file]:同get。. C; T2 B: ]. n
; j% X2 W/ G$ m% g' e50.reget remote-file[local-file]:类似于get, 但若local-file存在,则从上次传输中断处续传。$ J; }# w+ B3 V6 {$ X& g2 h
% ?5 S8 k& r+ t- p- y. u
51.rhelp[cmd-name]:请求获得远程主机的帮助。1 C$ K1 J; W) h& @
6 }) d I& |7 z# E52.rstatus[file-name]:若未指定文件名,则显示远程主机的状态, 否则显示文件状态。$ H* g0 Z$ A3 P8 d9 D" V
! ]) ~9 C# b+ W6 i9 e53.rename[from][to]:更改远程主机文件名。) d9 Y e+ z% v
" S9 q' H6 U" v4 q8 V2 ^ t5 |
54.reset:清除回答队列。
0 K. V, w U- ? H9 b( h7 j8 @7 V y( t& z; S
55.restart marker:从指定的标志marker处,重新开始get或put,如:restart 130。8 e3 ?! f- Q( w
56.rmdir dir-name:删除远程主机目录。
, W2 q4 F- H8 K! U5 `: W* G9 I/ [% c% t/ I2 h
57.runique:设置文件名只一性存储,若文件存在,则在原文件后加后缀.1, .2等。
. r! G) M3 ? Y# ^
3 q* n( C- l, W# d, w' [58.send local-file[remote-file]:同put。
; E/ f$ E+ R& ` C; {6 _8 a. [ S1 N* A7 A; h
59.sendport:设置PORT命令的使用。9 z5 |- r2 F$ P5 g
9 H( `1 @9 i6 F) I% F5 }2 E60.site arg1,arg2...:将参数作为SITE命令逐字发送至远程ftp主机。
4 h& h0 J) Z( g1 g$ R$ p! g4 `( C
61.size file-name:显示远程主机文件大小,如:site idle 7200。2 t: M( H; T& T+ ^" u/ m% _
& k- R D H. |! k" ~! C% d6 M62.status:显示当前ftp状态。2 h. i; e& j z' d, x3 s; M M
. ?1 u! {" c, d2 y
63.struct[struct-name]:将文件传输结构设置为struct-name, 缺省时使用stream结构。
& b% Q& J" ~) y: D+ I; r0 f* R0 u/ j5 w# i+ D' I
64.sunique:将远程主机文件名存储设置为只一(与runique对应)。
i9 B- G( h) V9 r. A. h! {" W+ m( | W% G O& L( m
65.system:显示远程主机的操作系统类型。
3 o$ Q) A4 `' R7 B. ^4 S6 ~! x/ B# k* u0 [4 D3 B
66.tenex:将文件传输类型设置为TENEX机的所需的类型。; \4 s, J6 M7 r3 I% K, ]
3 m5 P- K @, q; F' o4 v& X5 Q, [9 ^
67.tick:设置传输时的字节计数器。
3 g1 P f* l3 u# s2 h% E2 X
9 j' V% g4 i, P. k& e! d4 X+ I& q68.trace:设置包跟踪。# m s% e) l$ |+ B0 f
2 d* W" P$ [% |" ^# M69.type[type-name]:设置文件传输类型为type-name,缺省为ascii,如:type binary,设置二进制传输方式。- L' b/ K4 t: w. l' a& j
5 P$ G' I$ ]: b3 I4 B0 u
70.umask[newmask]:将远程服务器的缺省umask设置为newmask,如:umask 3
! X4 B& |7 n9 a$ y
9 y5 s, U* i. k7 v& p% S71.user user-name[password][account]:向远程主机表明自己的身份,需要口令时,必须输入口令,如:user anonymous my@email。2 \# m* o. h/ z! x9 x& o: l
72.verbose:同命令行的-v参数,即设置详尽报告方式,ftp 服务器的所有响 应都将显示给用户,缺省为on.) H8 ?9 H" _- L; r4 b' ]
; S ] v3 n! ^73.?[cmd]:同help.1 J1 K1 D" p# g. Q+ y
|