|
|
ftp的命令行格式为:ftp -v -d -i -n -g[主机名] 1 [5 [4 |* l, }2 v2 M( N
f8 I' |5 x/ G1 s! W1 c
-v 显示远程服务器的所有响应信息。
/ R7 n; l- q$ H -d 使用调试方式。
* e. d( `. B7 c2 g: g4 v( z6 v. n0 X -n 限制ftp的自动登录,即不使用.netrc文件。
: g8 x- R4 ~. U4 S' w5 G+ @7 | -g 取消全局文件名。 / V! d$ x- Q9 G, P$ v
6 J+ W8 l8 J; E ftp使用的内部命令如下(其中括号表示可选项): " X9 n2 \4 L$ f* I1 c, c/ b) W9 P
1.![cmd[args]]在本地机中执行交互shell、exit回到ftp环境,如!ls*.zip。
; m0 G+ t! T* \' I W* _ 2.¥ macro-ame[args]执行宏定义macro-name。
% H' s; \ C% ?1 F' a 3.account[password]提供登录远程系统成功后访问系统资源所需的补充口令。
/ H6 s7 K, w$ ?8 O' s 4.appendlocal-file[remote-file]将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。 ; Q5 p/ S+ ~ ?2 f* e
5.ascii 使用ascii类型传输方式。 + p6 O( R- `6 C0 w/ S8 v6 w
6.bell每个命令执行完毕后计算机响铃一次。
- B- o9 c2 o5 \ l. N% Z* w. g! i 7.bin使用二进制文件传输方式。 # |" `5 `- S" g" ~9 s! R, y
8.bye退出ftp会话过程。
4 F8 X- R4 u9 }' t# N8 N7 H8 z 9.case在使用mget时,将远程主机文件名中的大写转为小写字母。
8 ~- E' S* @) f* z2 D* i7 r 10.cd remote-dir 进入远程主机目录。
: b+ J$ ]7 w# @! N% u0 Y2 j 11.cdup进入远程主机目录的父目录。 ! }: l9 F. R; E2 Y: q) X; I. e
12.chmod modefile-name将远程主机文件file-name的存取方式设置为mode,如chmod 777 a.out。
! ~6 W2 m" t9 w) y2 ` 13.close中断与远程服务器的ftp会话(与open对应)。 " H$ r) C( P0 h) L) N
14.cr使用asscii方式传输文件时,将回车换行转换为回行。
5 @6 v$ A# `$ S* E 15.delete remote-file删除远程主机文件。 9 f2 G2 L1 h; v
16.debug[debug-value]设置调试方式,显示发送至远程主机的每条命令,如debup 3,若 设为0,表示取消debug。
% h7 a+ b: U' S7 l 17.dir[remote-dir][local-file]显示远程主机目录,并将结果存入local-file。 ; L) v9 F- s( y, K1 m( X" L1 F8 ~% L2 b
18.disconnection同close。 - }& G9 P8 f3 Y9 l" d
19.form format将文件传输方式设置为format,缺省为file方式。
! ~/ w! D8 A: R* r) T8 K' D 20.getremote-file[local-file]将远程主机的文件remote-file传至本地硬盘的local-file。
4 Y# i2 u# t" [ B 21.glob设置mdelete、mget、mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。
4 m, n: `( @: j3 w7 L 22.hash每传输1024字节,显示一个hash符号(#)。 , z& W$ K" \ P, I- ]4 P; U7 M& U
23.help[cmd]显示ftp内部命令cmd的帮助信息,如help get。
9 i5 \* a( p' M- |8 H( t' d& S 24.idle[seconds]将远程服务器的休眠计时器设为[seconds]秒。
( r5 m U& R0 e; o) i 25.image设置二进制传输方式(同binary) # \# O m& |) Q' w
26.lcd[dir]将本地工作目录切换至dir。
" i8 O+ |2 d- B" Q 27.ls[remote-dir][local-file]显示远程目录remote-dir,并存入本地local-file。 2 |( \) t w6 ?. g3 t! _
28.macdef macro-name定义一个宏,遇到macdef下的空行时,宏定义结束。 ) l* k5 R' p T
29.mdelete[remote-file]删除远程主机文件。
1 Z+ t! z8 N7 I4 A$ a/ V& c# {" ] 30.mdir remote-files local-file与dir类似,但可指定多个远程文件,如mdir*.o.*. zipoutfile。 + h6 C: W6 Z8 N( i6 ]( o
31.mget remote-files传输多个远程文件。
6 a2 n$ S: K& n" @3 X 32.mkdir dir-name 在远程主机中建一目录。
6 k* N+ t+ w9 ?# x) M& E( L 33.mls remote-file local-file同nlist,但可指定多个文件名。 ( M% o9 s$ ^1 L" J, X; y
34.mode[mode-name]将文件传输方式设置为mode-name,缺省为stream方式。 0 y1 X2 I! x8 Y: E. A
35.modtime file-name显示远程主机文件的最后修改时间。
% p& N/ v* m: g3 h' s% A( I 36.mput local-file将多个文件传输至远程主机。 5 z. D, i: a1 f. h$ |8 y% Y
37.newerfile-name如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。
2 ~; a/ F. K: Q3 N" U( l+ V38.nlist[remote-dir][local-file]显示远程主机目录的文件清单,并存入本地硬盘的local-file。
; \) K+ v, N v 39.nmap[inpatternoutpattern]设置文件名映射机制,使得文件传输时,文件中的某些字符相互转换,如nmap¥1.¥2.¥3[¥1,¥2].[¥2,¥3],则传输文件a1.a2.a3时,文件名变为a1、a2,该命令特别适用于远程主机为非U-NIX机的情况。
# O% g# ]) x% S% }. P+ C 40.ntrans[inchars[outchars]]设置文件名字符的翻译机制,如ntrans1R,则文件名LL L将变为RRR。 ) I: z& U5 J e- Y9 `- t, P
41.open host[port]建立指定ftp服务器连接,可指定连接端口。 ! U9 l, X% C: I, {3 w. g
42.passive进入被动传输方式。 ' o% b0 c a- y& r) z4 B. \3 t
43.prompt设置多个文件传输时的交互提示。
& X3 Y4 p$ Z; t) e) G# c2 ?2 P 44.proxyftp-cmd在次要控制连接中,执行一条ftp命令,该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。 - k" N' h. l; i& P% |
45.put local-file[remote-file]将本地文件local-file传送至远程主机。 5 C. U- j U& W+ n! ?) B
46.pwd显示远程主机的当前工作目录。
6 K9 w0 ~- P- X G3 ]1 d+ z 47.quit同bye,退出ftp会话。
2 Z+ K, M% @& c: v. V 48.quote arg1,arg2……将参数逐字发至远程ftp服务器,如quote syst。 ( I$ ]6 r x# r3 b8 E
49.recv remote-file[local-file]同get。
% h! l7 T1 @8 H 50.regetremote-file[local-file]类似于get,但若local-file存在,则从上次传输中断处续传。
4 F2 r6 B; Z# x' W3 v- n 51.rhelp[cmd-name]请求获得远程主机的帮助。
4 i9 {) a7 B( v: c* K 52.rstatus[file-name]若未指定文件名,则显示远程主机的状态,否则显示文件状态。
: B; n; b8 q2 e1 A 53.rename[from][to]更改远程主机文件名。 8 X+ J; B- f1 N' U8 Z9 K q
54.reset清除回答队列。 / x' u3 J2 @: L& b( _) B
55.restart marker从指定的标志marker处,重新开始get或put,如restart 130。 . r: O7 [9 T2 B6 i
56.rmdir dir-name删除远程主机目录。
! l# J0 h. ]" s+ ~7 q 57.runique设置文件名唯一性存储,若文件存在,则在原文件后加后缀。
7 _9 b$ T& H. H: G5 G5 D 58.send local-file[remote-file]同put。
+ t% h$ P$ W+ {% B) A6 k u 59.sendport设置PORT命令的使用。
5 U$ r/ ^+ U8 y& k) U9 T 60.site arg1,arg2……将参数作为SITE命令逐字发送至远程ftp主机。
4 C2 [5 F" ^/ y8 m9 H/ ?# ]( p 61.size file-name显示远程主机文件大小,如site idle 7200。
* {( w5 F$ I- b$ ? 62.status显示当前ftp状态。 & n4 C- M9 p2 M' o9 t8 P% d: b# L, ]
63.struct[struct-name]将文件传输结构设置为struct-name,缺省时使用stream结构。 9 I4 i: n, k7 z& Y( K m, G
64.sunique将远程主机文件名存储设置为唯一(与runique对应)。 ) S$ Q( A7 G: ?; `
65.system显示远程主机的操作系统类型。 ( V; n' g# o1 f* L
66.tenex将文件传输类型设置为TENEX机所需的类型。
, N9 {/ w8 J1 d 67.tick设置传输时的字节计数器。 " p. H' W7 f' {4 _
68.trace设置包跟踪。
6 c5 ^. T) h4 H 69.type[type-name]设置文件传输类型为type-name,缺省为ascii,如typebinary,设置 二进制传输方式。. K- R. B! [0 i2 h8 y3 s2 J# m
70.umask[newmask]将远程服务器的缺省umask设置为newmask,如umask 3。 % U4 s$ v- B) v
71.useruser-name[password][account]向远程主机表明自己的身份,需要口令时,必须输入口令,如user anonymous my@email。 ( o1 j8 k. j' k2 ]+ t
72.verbose同命令行的-v参数,即设置详尽报告方式,ftp服务器的所有响应都将显示给用户,缺省为on. 1 t3 c# w* i# G. v4 b) @
73.?[cmd]同help。
" _$ I5 q5 k: P: }, U. `- \( p * I( }/ R+ c$ `1 m
那么如何应用这些命令提高效率呢?下面我举一个例子,如何利用fttp进行后台下载,假设你的ISP给你提供了shell并且可以用nohup,你想由fttp.download.com/pub/internet/下载一个30M的程序aaa.zip具体步骤如下:
8 X2 S' I9 [! `+ {1 G 1.用notepad做一个文件如aaa1内容如下
7 ]) T* j# \) t# C open ftp.dwonload.com
. N% h# d- `1 \/ l# W4 ? user anonymous zyz@cenpok.net 4 L) X- W# Y) l0 |; m. Q% z
cd /pub/internet/
* U9 ~! U6 B0 G( i- k+ V9 g) W i 7 J/ ^+ |' D+ |7 J" Z# h# M% P5 n
get aaa.zip
6 f. [/ i( \( z. k. L& `. @ close
3 @) O7 n2 c3 L% C: y2 s bye ! e, } `" A! ^: N+ D
2.拨号登录到你的ISP上。用telnet 或netterm登录到shell,一般都在你的home子目录里bbs~/
/ R) O' i; C' k7 ^$ d3 ^ 3.用fttp上传aaa1到ISP服务器你的子目录。 ! z2 M1 h9 X/ L, J6 N4 c
4. 执行nohup fttp -invd aaa2& / q' x4 _3 _6 A6 w: b+ A
这样这个进程就被放在ISP服务器的后台进行了,如果你想知道情况如何,可以more aaa2就可以知道情况如何了。这时你可以断线了或干点别的,估计时间到了(time约=30M/(33.6K/9)s)拨号上去,more aaa2如果显示成功下载aaa.zip就表示aaa.zip已经被下载到ISP的服务器上了,你再由ISP的服务器拉回来就相当与点对点了,记得下载完成后del掉你的文件(aaa.zip),免得浪费ISP资源,它会关掉shell的。 [DISABLELBCODE] |
|