FTP命令是Internet用户使用最频繁的命令之一,熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。如果你想学习使用进行后台FTP下载,那么就必须学习FTP指令。2 b% j! ?2 J' H
0 H$ n/ B' G; n% X$ |. k+ ~FTP的命令行格式为: 8 W9 d0 s. ?: x
ftp -v -d -i -n -g [主机名] ,其中. h* u6 b+ [# V5 J% O0 F9 D3 T
' v8 m2 @/ t7 c3 s
-v 显示远程服务器的所有响应信息;* q" Z A; x9 w3 ~: c
5 U" V% D- [- V4 z3 F-n 限制ftp的自动登录,即不使用;.n etrc文件;
. q5 W% z) r. y8 f. D' u* t1 k& k: w+ m& @' i9 l0 g
-d 使用调试方式;
# ~) z' S3 D) D+ |. u, |) h4 h
3 i+ i6 y+ u$ ^-g 取消全局文件名。
5 T% ~7 }: P, ?0 M
8 J2 l4 z7 {1 o8 ~% T/ O% x( m
* q% V$ B7 r' j; |) tFTP使用的内部命令如下(中括号表示可选项):
0 ^" @4 _9 `2 J: O! O
6 y' W) f/ e( n6 _" M1.![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip
! @# d/ M! ?4 D+ t; G. k
8 M" e1 H h2 `% S2.$ macro-ame[args]: 执行宏定义macro-name。
3 O' r. @ P5 k" M' |' G$ S9 ^ A6 B4 m
5 I0 ~' B$ G y O8 b5 J/ g4 g3.account[password]: 提供登录远程系统成功后访问系统资源所需的补充口令。 |+ g" C- R( b$ a6 C
8 B+ S' Q; x4 a" y/ G. A: x) w
4.append local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。
: v1 l/ u8 ^5 _7 {) x" |. W
$ u/ N) s6 l' y" c5.ascii:使用ascii类型传输方式。) K7 Y" {$ w6 ]' {5 F% J; y. P4 F
6.bell:每个命令执行完毕后计算机响铃一次。
3 }3 J; M$ v; k& e4 Y) I/ b# ^' z- N- n3 y0 H
7.bin:使用二进制文件传输方式。
9 h! l; @# p6 j# F* H N8.bye:退出ftp会话过程。% Y2 G! k2 G- f9 s `; v. o: |/ P
0 f! U0 y* l1 u8 a, W" e
9.case:在使用mget时,将远程主机文件名中的大写转为小写字母。3 ^6 i& D" v+ v. h5 y
; ?" x) r+ U" P! J& J10.cd remote-dir:进入远程主机目录。& V) T) f4 H+ D3 ]6 Z D, a
- _5 X4 D# }9 ~$ W8 q& N
11.cdup:进入远程主机目录的父目录。
0 {9 ]% F5 L. f5 N' j; y; [4 A8 |9 ?
12.chmod mode file-name:将远程主机文件file-name的存取方式设置为mode,如:chmod 777 a.out。1 l$ C: @: b/ N' o# Y# h
3 W, J! t: k6 b- j; {. P0 S& a13.close:中断与远程服务器的ftp会话(与open对应)。
* h, ^* M) u4 D) T' I) S7 X! _% k# b' P/ K# [: a5 J" w: A
14.cr:使用asscii方式传输文件时,将回车换行转换为回行。* w/ b7 j' s6 S
$ `5 l" C) ?/ [
15.delete remote-file:删除远程主机文件。& H: Y: N+ ?: H0 V" O* p% S
/ J) s0 l6 C1 E& D( @# L16.debug[debug-value]:设置调试方式, 显示发送至远程主机的每条命令,如:deb up 3,若设为0,表示取消debug。) T9 K0 J+ }+ ^' D! D
$ J3 S( Z( @" ]$ {7 A9 u u17.dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件# m9 v- f' N( I$ E; g' d! Q
18.disconnection:同close。2 F. K$ n1 C9 F M
- W# w9 Q5 T3 w19.form format:将文件传输方式设置为format,缺省为file方式。: P. J+ k6 L! a) `( ]1 |
/ F T/ @& q; C+ V
20.get remote-file[local-file]: 将远程主机的文件remote-file传至本地硬盘的local-file。
* Y* G9 a; F9 n# a( n1 ?/ O1 {9 D( K) J6 O5 Q! \( d4 C3 ?8 G
21.glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。0 S' T( r9 I7 Z2 m
# {/ o6 s6 _- |8 h( u p5 w- G7 _22.hash:每传输1024字节,显示一个hash符号(#)。3 y* v) _+ U0 [2 `, u
, b, u+ M( K3 K' K4 L/ d, w
23.help[cmd]:显示ftp内部命令cmd的帮助信息,如:help get。$ U. N$ O; J; |9 c) d3 ^
24.idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。
( K! z+ g# I, r1 Y/ }& E! N7 j1 K5 q+ C4 V+ ^0 M8 z0 |# x% j, c
25.image:设置二进制传输方式(同binary)。/ ~ ^/ N' B8 x" z' X& t
8 H- `% L5 w! t8 V0 L% x26.lcd[dir]:将本地工作目录切换至dir。& \; r7 H3 O# Y. U( B& [4 Z
/ Q4 n$ p/ D5 G27.ls[remote-dir][local-file]:显示远程目录remote-dir, 并存入本地文件local-file。6 w3 K% I9 P3 {" l
9 e* i+ }# W% i
28.macdef macro-name:定义一个宏,遇到macdef下的空行时,宏定义结束。
9 v% a1 ?! ~7 U! u+ s# w29.mdelete[remote-file]:删除远程主机文件。! ~% @9 i) S3 T' ~( v% R( i
30.mdir remote-files local-file:与dir类似,但可指定多个远程文件,如 :mdir *.o.*.zipoutfile 。1 P$ {: ^; p8 _; s% ]: X! n
" r2 X* J0 \, J7 H, X31.mget remote-files:传输多个远程文件。
|) O. D: V6 h& i0 T
$ m( ^3 D/ W9 u, I a8 W32.mkdir dir-name:在远程主机中建一目录。2 P) G( c6 U8 s3 I+ u
+ n1 M+ c! s3 C. Q33.mls remote-file local-file:同nlist,但可指定多个文件名。
" j; M! o) b, ?34.mode[modename]:将文件传输方式设置为modename, 缺省为stream方式。 H2 z. ^1 F9 S1 B- G* \6 E y$ \
35.modtime file-name:显示远程主机文件的最后修改时间。
. t6 H- @6 d8 a8 [/ F' F
# a! w5 m1 p8 B! c) g% `/ x) Y36.mput local-file:将多个文件传输至远程主机。
1 ~- I \+ o, b' e" z; f/ K9 A
* r0 S4 g* Z p8 s2 b- N! S* \37.newer file-name: 如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。* O$ A4 V" S/ F& T2 t
38.nlist[remote-dir][local-file]:显示远程主机目录的文件清单,并存入本地硬盘的local-file。- Y a4 |7 J+ I1 [5 u, h
39.nmap[inpattern outpattern]:设置文件名映射机制, 使得文件传输时,文件中的某些字符相互转换, 如:nmap $1.$2.$3[$1,$2].[$2,$3],则传输文件a1.a2.a3时,文件名变为a1,a2。 该命令特别适用于远程主机为非UNIX机的情况。
- O+ I( q$ s. f- ]; v40.ntrans[inchars[outchars]]:设置文件名字符的翻译机制,如ntrans1R,则文件名LLL将变为RRR。
t2 A H0 d3 h# S1 H+ k5 G4 `, O6 `, v- k. o/ p% h
41.open host[port]:建立指定ftp服务器连接,可指定连接端口。
; T. Q7 w* O! e5 g. `. V
6 W* Q, j' @4 L3 w3 |" I) w! P42.passive:进入被动传输方式。/ `' d" T3 e w/ R; g
* n. h* [/ U1 k43.prompt:设置多个文件传输时的交互提示。
$ e- E; m& g8 R9 L3 Z0 g; @4 k7 C# R, e% s8 z2 ]5 |0 E
44.proxy ftp-cmd:在次要控制连接中,执行一条ftp命令, 该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。/ F( e: s7 S% I& j8 e3 N
45.put local-file[remote-file]:将本地文件local-file传送至远程主机。: N% N; `) o' {* Q) ~- U4 [7 `
46.pwd:显示远程主机的当前工作目录。
4 w: c# |4 q1 w8 v( {) @ B- n( H, x- d# `* m
47.quit:同bye,退出ftp会话。$ k9 m- d5 W, D3 ^2 w0 t# t. v V
V% M! F8 @/ |+ j* @6 A48.quote arg1,arg2...:将参数逐字发至远程ftp服务器,如:quote syst.8 m% T/ X( {* H. B! R7 l: L! q3 p( E
49.recv remote-file[local-file]:同get。( s+ U7 x4 ?3 ^! Y3 Y& D
) R" Y4 Z( m' \. {; [4 W" G! N% S( c
50.reget remote-file[local-file]:类似于get, 但若local-file存在,则从上次传输中断处续传。
H3 ~ Q7 \5 w6 Y8 T$ N0 X( O
& i7 M# H( o+ K- S8 W+ ]8 S51.rhelp[cmd-name]:请求获得远程主机的帮助。
- E, R z3 B5 M6 l9 F
% o: m. D( L% O1 Z52.rstatus[file-name]:若未指定文件名,则显示远程主机的状态, 否则显示文件状态。
( t, ~0 r+ s) v0 B6 B/ O! R2 m
4 v: n- S) G/ z0 o2 u% T53.rename[from][to]:更改远程主机文件名。5 ~0 m$ ?' h" `" B
5 H2 b& x2 ^4 K x& L: p54.reset:清除回答队列。
* E3 m7 s3 `) _% d! n0 W' R
% C* v* Z, d; A# A2 C) t+ V55.restart marker:从指定的标志marker处,重新开始get或put,如:restart 130。
6 t3 |1 V) s+ |7 }56.rmdir dir-name:删除远程主机目录。6 G0 l1 g D/ C* c. n* U: p! N
/ Z. I9 v4 }8 u" A0 F* } |0 @
57.runique:设置文件名只一性存储,若文件存在,则在原文件后加后缀.1, .2等。
; W: d% e E% R; X8 T) p, N$ p3 m/ K) E! E& f* [8 j
58.send local-file[remote-file]:同put。) s" j% x$ [: T. @
- R: `3 j+ Z0 j! ~
59.sendport:设置PORT命令的使用。: g8 @* @. R/ m1 u! d
" \+ l( r# Q) t: x% o7 l
60.site arg1,arg2...:将参数作为SITE命令逐字发送至远程ftp主机。3 S. G9 w3 K- g5 f, A; X/ c
! q# }" S' q. n6 u% D61.size file-name:显示远程主机文件大小,如:site idle 7200。
% w- _* k& p7 d: Y0 R
/ Y" f; D, z- x62.status:显示当前ftp状态。0 V$ N! x- `0 i
' U7 b5 a B& o4 c! G
63.struct[struct-name]:将文件传输结构设置为struct-name, 缺省时使用stream结构。% u% D0 R4 K5 W# q
; t% p1 ^& X3 o7 c) F64.sunique:将远程主机文件名存储设置为只一(与runique对应)。8 |& f' H& g l6 R
; c7 X4 D1 ~% @* w. \' S; _8 ?; r
65.system:显示远程主机的操作系统类型。& I; a2 L5 w) Q( x# p' @
6 ?* j6 o3 M) W" g
66.tenex:将文件传输类型设置为TENEX机的所需的类型。
1 s$ m. W) L4 w" Y! K' q, ~$ [
67.tick:设置传输时的字节计数器。
9 F& i# Y( O- p- }9 Q$ @; \; L" u) Y/ m9 P
68.trace:设置包跟踪。, w' L8 r. D/ f% v; o: D5 K- {( e& B
+ f. z# g0 f; d1 J1 }! C8 M
69.type[type-name]:设置文件传输类型为type-name,缺省为ascii,如:type binary,设置二进制传输方式。
; r: K- F/ n$ c! R/ `: h4 d; z5 O @# K0 X2 _
70.umask[newmask]:将远程服务器的缺省umask设置为newmask,如:umask 3& K; e! K) I; A) w% S' {! q
' c& U) C- L' z8 y71.user user-name[password][account]:向远程主机表明自己的身份,需要口令时,必须输入口令,如:user anonymous my@email。
3 Q" k! x/ U, |& ~5 c0 B72.verbose:同命令行的-v参数,即设置详尽报告方式,ftp 服务器的所有响 应都将显示给用户,缺省为on.
, B- _) c* H3 d0 [+ E4 z, M7 q0 k$ X& Y6 R( w4 m: P( Q G3 g% {4 E6 W
73.?[cmd]:同help.
8 E" H. b! S5 g l% i9 t |