ftp命令大全
" @) ^: ~" r8 U% ?FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作 / d7 w9 P3 u) a& [
系统下使用FTP,都会遇到大量的FTP内部命令,熟悉并灵活应用FTP的内部命令,可 ! g( N- I8 u8 R+ K2 E2 h' |! g
以大大方便使用者,对于现在拨号上网的用户,如果ISP提供了shell可以使用noh
: x* a4 A4 k; }' ^up,那么ftp将是你最省钱的上download方式,; u% X4 p) x' j/ n7 S$ |5 t
ftp的命令行格式为:ftp -v -d -i -n -g[主机名]
& r( q1 a, c. r) B" E0 P-v 显示远程服务器的所有响应信息。
* d- r/ t5 f0 x* n-d 使用调试方式。
3 |0 O4 I/ a$ q' f( S# H# Y/ F-n 限制ftp的自动登录,即不使用.netrc文件。 , G: b2 c' f, O( V# _. N
-g 取消全局文件名。 - r, \$ h+ P: W" n8 b5 k% X
; f! |; m; ~# z7 `
ftp使用的内部命令如下(其中括号表示可选项):
/ P* r) ~' R9 |* W1 v+ b 1.![cmd[args]在本地机中执行交互shell、exit回到ftp环境,如!ls*.zip 。 , G3 d2 q9 F# o/ u7 y4 @' l9 a
2.¥ macro-ame[args]执行宏定义macro-name。 " i U& N( b$ v9 E
3.account[password]提供登录远程系统成功后访问系统资源所需的补充口令 。
* L6 C c( }+ q8 x 4.appendlocal-file[remote-file]将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。 : ], t f; ]) L) r- m
5.ascii 使用ascii类型传输方式。
' B: r% `6 P# { 6.bell每个命令执行完毕后计算机响铃一次。
2 C5 {. z: @+ {! { 7.bin使用二进制文件传输方式。 3 y& z: |+ k) k# g- I7 s
8.bye退出ftp会话过程。 ( k* M& v/ h# s; j3 n
9.case在使用mget时,将远程主机文件名中的大写转为小写字母。
( g2 R0 [ m2 K3 } 10.cd remote-dir 进入远程主机目录。
+ \3 N5 Q A0 e/ [+ N 11.cdup进入远程主机目录的父目录。
3 A$ V; i: o" z) v, S" Z 12.chmod modefile-name将远程主机文件file-name的存取方式设置为mode,如chmod 777 a.out。
0 i* C8 U8 w9 v" j) B! _ 13.close中断与远程服务器的ftp会话(与open对应)。
6 u) X' @- }# J7 R 14.cr使用asscii方式传输文件时,将回车换行转换为回行。 # L/ C% e' r. Y7 J, n
15.delete remote-file删除远程主机文件。
5 |( K6 ~: N+ t7 [ 16.debug[debug-value]设置调试方式,显示发送至远程主机的每条命令,如debup3,若 设为0,表示取消debug。 [6 ^, E5 x, N$ t
17.dir[remote-dir][local-file]显示远程主机目录,并将结果存入local-file。 $ R/ ^, S* }: P
18.disconnection同close。 ; u- U. T3 ~5 e' p8 e( z }
19.form format将文件传输方式设置为format,缺省为file方式。 5 ^& q9 [6 H( D, D, |
20.getremote-file[local-file]将远程主机的文件remote-file传至本地硬盘的local-file。
' e0 S8 |# N4 i$ b9 d( {- g 21.glob设置mdelete、mget、mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。
7 I0 K3 Q" f% I9 `& M9 R 22.hash每传输1024字节,显示一个hash符号(#)。
$ I E: o9 u! }9 @ 23.help[cmd]显示ftp内部命令cmd的帮助信息,如help get。 + N7 b% \& z2 J* O- R
24.idle[seconds]将远程服务器的休眠计时器设为[seconds]秒。
! Q- m9 ^0 y& d6 ~$ C 25.image设置二进制传输方式(同binary)
& Z P0 o, I6 U$ M; j 26.lcd[dir]将本地工作目录切换至dir。
, w/ {% v3 i8 M5 y" r# ?, j. ~+ @ 27.ls[remote-dir][local-file]显示远程目录remote-dir,并存入本地local-file。
4 n0 ]! ?0 u% `0 G/ k 28.macdef macro-name定义一个宏,遇到macdef下的空行时,宏定义结束。
8 s; Q0 H4 n5 d 29.mdelete[remote-file]删除远程主机文件。
/ g y" w+ E* R 30.mdir remote-files local-file与dir类似,但可指定多个远程文件,如mdir*.o.*. zipoutfile。 ' o# T# r) p) u# i
31.mget remote-files传输多个远程文件。
* B) {9 e* k& ^2 }6 d9 v6 s 32.mkdir dir-name 在远程主机中建一目录。 ; L$ b0 e( v5 v9 r
33.mls remote-file local-file同nlist,但可指定多个文件名。
5 R6 O7 W2 I0 y m1 ~ 34.mode[mode-name]将文件传输方式设置为mode-name,缺省为stream方式。 0 a: Y$ V& _% \, {( a8 L3 {8 F- E
35.modtime file-name显示远程主机文件的最后修改时间。 : {" _" `# k- f' W6 U3 g; u7 [
36.mput local-file将多个文件传输至远程主机。
7 g, z5 S D& r: u2 g) k: H4 z9 Y 37.newerfile-name如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。
7 z( G/ [* x& a7 K* b0 w2 O# P. T 38.nlist[remote-dir][local-file]显示远程主机目录的文件清单,并存入本地硬盘的local-file。 7 ]1 a6 } ]/ X
39.nmap[inpatternoutpattern]设置文件名映射机制,使得文件传输时,文件中的某些字符相互转换,3 v1 T+ j. T+ R; A
如nmap¥1.¥2.¥3[¥1,¥2].[¥2,¥3],则传输文件a1 .a2.a3时,文件名变为a1、a2,2 Y( h C! D: @4 ^' \) Z* ?5 x
该命令特别适用于远程主机为非U-NIX机的情况。 1 Z7 T; q3 _" h0 R }6 G: o# P9 g: t# G
40.ntrans[inchars[outchars]设置文件名字符的翻译机制,如ntrans1R,则文件名LL L将变为RRR。
5 l5 u1 u$ j. V- u, r/ w( L 41.open host[port]建立指定ftp服务器连接,可指定连接端口。 ; R, O4 Y+ D4 v
42.passive进入被动传输方式。 4 a8 b( R" E6 g4 [1 @
43.prompt设置多个文件传输时的交互提示。
; J" r! s, k( O r+ r/ ] 44.proxyftp-cmd在次要控制连接中,执行一条ftp命令,该命令允许连接两个ftp服务器,以在两个服务器间传输文件。
2 S2 z) @/ a, Z( N+ r第一条ftp命令必须为open,以首先建立两个服务器间的连接。
4 X- s9 G! n6 m9 T3 p# w7 @' w 45.put local-file[remote-file]将本地文件local-file传送至远程主机。 ; s( ?5 h/ o7 L1 O, N( V$ n- S
46.pwd显示远程主机的当前工作目录。
s' i9 F2 k6 H- ^: e' Y% P 47.quit同bye,退出ftp会话。 6 h& u6 d' k; D, k0 b
48.quote arg1,arg2……将参数逐字发至远程ftp服务器,如quote syst。
U& M: Y, S4 n6 n" P) C) E, a 49.recv remote-file[local-file]同get。
( `# H3 ~, m$ a8 i# D8 M 50.regetremote-file[local-file]类似于get,但若local-file存在,则从上次传输中断处续传。
* g# H! i3 G- V/ V 51.rhelp[cmd-name]请求获得远程主机的帮助。 : Q4 S9 N8 @- Q' [, s
52.rstatus[file-name]若未指定文件名,则显示远程主机的状态,否则显示文件状态。
# M, {6 g- j+ H" @/ a6 O 53.rename[from][to]更改远程主机文件名。 o! H% T& ?& _
54.reset清除回答队列。
9 `2 V9 f0 ~7 F K5 z7 K 55.restart marker从指定的标志marker处,重新开始get或put,如restart 130。
: J# b$ L+ \6 m6 n0 Q% C 56.rmdir dir-name删除远程主机目录。
; V9 i9 S) ], Y! D 57.runique设置文件名唯一性存储,若文件存在,则在原文件后加后缀。 6 K b* i/ x, E0 `/ D. U
58.send local-file[remote-file]同put。 $ { G2 y i! m- o; a3 D
59.sendport设置PORT命令的使用。 # G" z" ]/ W- E0 _6 H1 P
60.site arg1,arg2……将参数作为SITE命令逐字发送至远程ftp主机。 9 `: R+ r H; P
61.size file-name显示远程主机文件大小,如site idle 7200。 $ z1 U- H! m* G
62.status显示当前ftp状态。
" c1 |9 @4 d: c6 O) \, } 63.struct[struct-name]将文件传输结构设置为struct-name,缺省时使用stream结构。 ' N- W0 ]* a8 I2 N
64.sunique将远程主机文件名存储设置为唯一(与runique对应)。 5 y- t7 L0 P4 Z
65.system显示远程主机的操作系统类型。 3 H$ F7 z4 d8 w. t1 h
66.tenex将文件传输类型设置为TENEX机所需的类型。
7 l; w' E, [3 z. D 67.tick设置传输时的字节计数器。 4 M" J% _+ o0 r/ g: B
68.trace设置包跟踪。 " k6 I) e: m/ e x( ^6 W
69.type[type-name]设置文件传输类型为type-name,缺省为ascii,如typebinary,设置 二进制传输方式。
! E. y! W& o+ f3 L) i _ 70.umask[newmask]将远程服务器的缺省umask设置为newmask,如umask 3。
$ N, s' j2 \0 o9 v; m0 T" O% x71.useruser-name[password][account]向远程主机表明自己的身份,需要口令时,必须输入口令,如user anonymous my@email。 7 d# ~5 x: m7 D/ W# A
72.verbose同命令行的-v参数,即设置详尽报告方式,ftp服务器的所有响应都将显示给用户,缺省为on. # D6 C5 \$ C2 y' |; |! ]
73.?[cmd]同help。
* k' m! Z* T6 }4 a 那么如何应用这些命令提高效率呢?下面我举一个例子,如何利用fttp进行 4 y/ H" G4 d. ]8 I5 l
后台下载,假设你的ISP给你提供了shell并且可以用nohup,你想由fttp.downlo
. D0 z# ^6 Y$ l( P. a: ]ad.com/pub/internet/下载一个30M的程序aaa.zip具体步骤如下: . e0 n4 c: h6 ~$ L5 u) s2 k
1.用notepad做一个文件如aaa1内容如下# Z5 ~* |9 U! \2 u
open ftp.dwonload.com user an onymous zyz@cenpok.net ! J/ R1 M$ N6 S' o/ `7 c4 g
cd /pub/internet/ i get aaa.zip close bye
, o( k; a2 T5 d/ @2.拨号登录到你的ISP上。
1 l. h$ \6 q; ~4 ]用telnet 或netterm登录到shell,一般都在你的home子目录里bbs~/
1 T3 d4 U. h, U6 ]4 U' b/ ]3.用fttp上传aaa1到ISP服务器你的子目录。
p; V5 ^% C: M: n/ J. G- B) l4. 执行nohup fttp -invd aaa2& 这样这个进程就被放在ISP服务器的后台进行了,$ C R, m# n( G$ W
如果你想知道情况如何,可以more aaa2就可以知道情况如何了。这时你可以断线了或干点别的,
' v1 h6 F4 m- S2 `3 Z估计时间到了(time约=30M/(33.6K/9)s)拨号上去,more aaa2如果显示成功下载aaa.zip,! ?, ]# z7 |" v$ C$ S. d
就表示aaa.zip已经被下载到ISP的服务器上了,你再由ISP的服务器拉回来就相当与点对点了,0 Y$ z: F' k1 a p1 ?
记得下载完成后del掉你的文件(aaa.zip),免得浪费ISP资源,它会关掉shell的。+ L8 q0 p, e/ V: A: ^3 t
|