ftp命令大全 1 ? j- f! W% i w9 b! J. B; F/ t
FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作 9 A0 {/ e( ~/ M# Z9 i0 D) M
系统下使用FTP,都会遇到大量的FTP内部命令,熟悉并灵活应用FTP的内部命令,可
7 n5 {: ]9 C" t ^6 p以大大方便使用者,对于现在拨号上网的用户,如果ISP提供了shell可以使用noh # `& X! v4 X5 A" G( D& Z" ^# l1 t
up,那么ftp将是你最省钱的上download方式,7 R% I/ W( F1 H3 I$ C: i3 a
ftp的命令行格式为:ftp -v -d -i -n -g[主机名] 4 |: A9 j/ G8 i9 i
-v 显示远程服务器的所有响应信息。 0 d& F+ I# `) m2 K* D
-d 使用调试方式。
1 V: r$ I$ g5 R% V-n 限制ftp的自动登录,即不使用.netrc文件。 2 y, t; k! q8 [; C; r/ J
-g 取消全局文件名。
, Z# o- u. d; n5 z" \: E8 j- r2 \ N+ _" _
ftp使用的内部命令如下(其中括号表示可选项): ! q x5 h% _7 V( H4 ]
1.![cmd[args]在本地机中执行交互shell、exit回到ftp环境,如!ls*.zip 。 1 d G0 @' L& f
2.¥ macro-ame[args]执行宏定义macro-name。 5 q+ k" v0 P# F T z7 \# P
3.account[password]提供登录远程系统成功后访问系统资源所需的补充口令 。 ! z/ n/ ?& V1 ?. S: `1 m9 p- o) k" c
4.appendlocal-file[remote-file]将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。
: @, L9 H7 \' ^+ L0 K 5.ascii 使用ascii类型传输方式。 , G6 q) b& I& |* E
6.bell每个命令执行完毕后计算机响铃一次。 + _8 R( a+ {: i& d% T
7.bin使用二进制文件传输方式。 3 x0 o1 u9 T7 N( @' Y8 w; y
8.bye退出ftp会话过程。
- h6 V# q, \$ D1 r" i 9.case在使用mget时,将远程主机文件名中的大写转为小写字母。
/ \, S# t# \ B/ h 10.cd remote-dir 进入远程主机目录。
) A: ]% N8 s% h' P, b9 |( \+ L) h1 t 11.cdup进入远程主机目录的父目录。
. Q3 P5 A" u; I, \0 c2 d% z. N 12.chmod modefile-name将远程主机文件file-name的存取方式设置为mode,如chmod 777 a.out。
0 }% E) w3 }0 A 13.close中断与远程服务器的ftp会话(与open对应)。
% L7 ?6 d P: j% O9 { 14.cr使用asscii方式传输文件时,将回车换行转换为回行。
) V% f, |% m- J 15.delete remote-file删除远程主机文件。 9 n' w6 w8 U: p! r$ o. j
16.debug[debug-value]设置调试方式,显示发送至远程主机的每条命令,如debup3,若 设为0,表示取消debug。 ( z) O7 S; ^; V8 I. D
17.dir[remote-dir][local-file]显示远程主机目录,并将结果存入local-file。
2 D' b: M# D0 G- Q; d; G9 z 18.disconnection同close。 7 Q( y) q, Z: k' c! K E
19.form format将文件传输方式设置为format,缺省为file方式。
3 i, u/ X4 F0 ^( N. K: L" d- W 20.getremote-file[local-file]将远程主机的文件remote-file传至本地硬盘的local-file。
, H& H) ?& I2 L( g2 T Z: } 21.glob设置mdelete、mget、mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。 2 f6 p; ?3 v% a! m/ ^7 J* U
22.hash每传输1024字节,显示一个hash符号(#)。 8 ~: |8 \" A4 F. Y: m% b$ Y
23.help[cmd]显示ftp内部命令cmd的帮助信息,如help get。 % _) X, n$ W( v7 n# W1 `+ A0 K b
24.idle[seconds]将远程服务器的休眠计时器设为[seconds]秒。
1 @' Z" ?/ \/ s 25.image设置二进制传输方式(同binary)
# H1 g/ m. }2 f& i9 A 26.lcd[dir]将本地工作目录切换至dir。 " `) q+ A6 a2 ~1 N& L- |" c
27.ls[remote-dir][local-file]显示远程目录remote-dir,并存入本地local-file。 0 M5 N$ B: m2 V6 r G
28.macdef macro-name定义一个宏,遇到macdef下的空行时,宏定义结束。 9 T% ?( F/ @. w/ l' L( M4 c
29.mdelete[remote-file]删除远程主机文件。
; }7 k! {! {8 `& \8 k 30.mdir remote-files local-file与dir类似,但可指定多个远程文件,如mdir*.o.*. zipoutfile。
2 ~) K& k0 ]) a' S0 y8 j* Q, @ 31.mget remote-files传输多个远程文件。 / l+ Y$ B+ E/ W! [. p
32.mkdir dir-name 在远程主机中建一目录。
! K' G- M6 ?. t 33.mls remote-file local-file同nlist,但可指定多个文件名。 & z, ]# l; N3 @, t- ?1 Y
34.mode[mode-name]将文件传输方式设置为mode-name,缺省为stream方式。
7 S2 N2 |# T! y3 `3 V( j 35.modtime file-name显示远程主机文件的最后修改时间。 c- T% I# l0 x6 a7 v: X
36.mput local-file将多个文件传输至远程主机。
# ~" j! u" U3 o; r5 Y# s3 d; J 37.newerfile-name如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。
3 k& q" ]- e3 b" A/ m: J' B 38.nlist[remote-dir][local-file]显示远程主机目录的文件清单,并存入本地硬盘的local-file。 ; p. s0 f7 u$ r- ^/ R# B
39.nmap[inpatternoutpattern]设置文件名映射机制,使得文件传输时,文件中的某些字符相互转换,) m, y2 c" }( u. }/ ~+ V
如nmap¥1.¥2.¥3[¥1,¥2].[¥2,¥3],则传输文件a1 .a2.a3时,文件名变为a1、a2,. [8 n- t4 W6 S) b% H N' W
该命令特别适用于远程主机为非U-NIX机的情况。 1 G( v0 v) d: S* q+ s+ Q: }5 q. P. g
40.ntrans[inchars[outchars]设置文件名字符的翻译机制,如ntrans1R,则文件名LL L将变为RRR。 , a0 N8 j4 a U* T( W7 e( O
41.open host[port]建立指定ftp服务器连接,可指定连接端口。 : i- U, K( p3 T8 z/ p+ W* S
42.passive进入被动传输方式。 # e) W- e/ N4 u' m
43.prompt设置多个文件传输时的交互提示。 2 Q9 z" k8 |, u4 U& e) V" N1 w
44.proxyftp-cmd在次要控制连接中,执行一条ftp命令,该命令允许连接两个ftp服务器,以在两个服务器间传输文件。! r4 Z, ]' E: R
第一条ftp命令必须为open,以首先建立两个服务器间的连接。 4 H. c8 e [# @
45.put local-file[remote-file]将本地文件local-file传送至远程主机。
/ [: }# Z+ K! q/ W 46.pwd显示远程主机的当前工作目录。
! \; ]% v$ H" Y/ Z+ d7 @ 47.quit同bye,退出ftp会话。
" W2 O9 L4 @' b# k% t- C- r: V" S3 b 48.quote arg1,arg2……将参数逐字发至远程ftp服务器,如quote syst。
* [' \9 r& Y3 @# l b9 H* \ 49.recv remote-file[local-file]同get。
* [0 Q+ c0 Z/ I$ U3 k- G4 w 50.regetremote-file[local-file]类似于get,但若local-file存在,则从上次传输中断处续传。 + d1 B8 ]0 A4 F3 N
51.rhelp[cmd-name]请求获得远程主机的帮助。
9 v4 D' b4 M( n- c- ^8 A7 o9 h' p 52.rstatus[file-name]若未指定文件名,则显示远程主机的状态,否则显示文件状态。
3 X) G! s( O; f* o 53.rename[from][to]更改远程主机文件名。 F$ t& k7 X& B' A5 E
54.reset清除回答队列。
+ p2 r6 s4 e2 ]# r 55.restart marker从指定的标志marker处,重新开始get或put,如restart 130。 0 O4 G3 h. K& ?0 m1 I+ t
56.rmdir dir-name删除远程主机目录。
5 ]5 W ~4 F& @, s" _! O; S 57.runique设置文件名唯一性存储,若文件存在,则在原文件后加后缀。
6 e3 e3 j* P( ]0 j1 |0 l! o# W+ p$ u7 x 58.send local-file[remote-file]同put。 ) n6 Y4 P; t% Y
59.sendport设置PORT命令的使用。 % X, v8 I7 }2 [! k6 Z! c+ Y% V2 s) E
60.site arg1,arg2……将参数作为SITE命令逐字发送至远程ftp主机。
1 T5 q7 X6 m: _2 b& B; _5 Q6 Q 61.size file-name显示远程主机文件大小,如site idle 7200。
+ `3 W0 Z, e" s+ q+ ]: l# C' Q. q; z 62.status显示当前ftp状态。 / \8 Q; s2 E/ l: _* J+ J- F. \4 L x
63.struct[struct-name]将文件传输结构设置为struct-name,缺省时使用stream结构。 , B3 x" _3 D1 I3 H: K
64.sunique将远程主机文件名存储设置为唯一(与runique对应)。
# z% q6 Y' l6 m" f9 t 65.system显示远程主机的操作系统类型。 / \6 f2 ^4 V& ?- o2 }
66.tenex将文件传输类型设置为TENEX机所需的类型。 , Y1 @5 ~/ B* a* L" z% O
67.tick设置传输时的字节计数器。
9 h4 W6 a7 I2 T% j 68.trace设置包跟踪。
2 S% c% A' o' W9 t1 B 69.type[type-name]设置文件传输类型为type-name,缺省为ascii,如typebinary,设置 二进制传输方式。
) Q0 \7 l' ^7 L: G) ?3 R* z" g 70.umask[newmask]将远程服务器的缺省umask设置为newmask,如umask 3。
E& f9 ?, ~1 U8 `71.useruser-name[password][account]向远程主机表明自己的身份,需要口令时,必须输入口令,如user anonymous my@email。 ( ?" L4 k; ?) B
72.verbose同命令行的-v参数,即设置详尽报告方式,ftp服务器的所有响应都将显示给用户,缺省为on.
6 s7 x) ~' R8 T1 z8 ]/ K 73.?[cmd]同help。 1 ~& C/ P$ Y O. s; z
那么如何应用这些命令提高效率呢?下面我举一个例子,如何利用fttp进行
1 G, T( o! `7 c0 G. D7 G后台下载,假设你的ISP给你提供了shell并且可以用nohup,你想由fttp.downlo
, I3 }4 u3 [% t* v" r7 B5 w$ yad.com/pub/internet/下载一个30M的程序aaa.zip具体步骤如下:
) o$ Z! x' f3 F1 p$ a9 `8 K8 D1.用notepad做一个文件如aaa1内容如下! H Y' I2 I F
open ftp.dwonload.com user an onymous zyz@cenpok.net 3 x8 I, T8 _- P& v! l
cd /pub/internet/ i get aaa.zip close bye + r. J4 U3 H! m Y5 x% I. v# E8 T
2.拨号登录到你的ISP上。/ M$ n0 Z* i; h) o, o
用telnet 或netterm登录到shell,一般都在你的home子目录里bbs~/ 3 q* o* O+ ^" w% t
3.用fttp上传aaa1到ISP服务器你的子目录。 ( ]4 w& S5 D8 C3 n6 P7 i2 _
4. 执行nohup fttp -invd aaa2& 这样这个进程就被放在ISP服务器的后台进行了,) J5 G+ Y# m2 R* j. U
如果你想知道情况如何,可以more aaa2就可以知道情况如何了。这时你可以断线了或干点别的,
7 H; T+ ]& S2 i- Q0 k估计时间到了(time约=30M/(33.6K/9)s)拨号上去,more aaa2如果显示成功下载aaa.zip,
1 t* G; ~6 K$ G* d. U' u就表示aaa.zip已经被下载到ISP的服务器上了,你再由ISP的服务器拉回来就相当与点对点了,
5 \" ~ @7 t$ M5 y: `: u记得下载完成后del掉你的文件(aaa.zip),免得浪费ISP资源,它会关掉shell的。
5 H6 S+ p3 ]. w |