|
|
ftp的命令行格式为:ftp -v -d -i -n -g[主机名] ! r0 }$ Y/ ]4 z
7 A2 K3 Z! R5 O: g: | D -v 显示远程服务器的所有响应信息。
- l6 ]& X" V8 z. H4 G* k% h -d 使用调试方式。 ( y1 P* L; a$ }: M
-n 限制ftp的自动登录,即不使用.netrc文件。 ' Q; G- S- o! R! I: D9 q- g; ^
-g 取消全局文件名。 " K* K8 M1 K+ U0 z# i
( k# ~" n1 f) F i ftp使用的内部命令如下(其中括号表示可选项): $ F- H% V1 o% y) |; k. U& s
1.![cmd[args]]在本地机中执行交互shell、exit回到ftp环境,如!ls*.zip。
: T$ _1 C% H$ y3 G; B" B% v! h 2.¥ macro-ame[args]执行宏定义macro-name。
9 A8 z+ u/ | Q! b, w2 W) r# ~5 _ 3.account[password]提供登录远程系统成功后访问系统资源所需的补充口令。
* B8 ^' F e# @$ F9 t 4.appendlocal-file[remote-file]将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。 " z& \$ F$ p9 w" O- ^- p2 K
5.ascii 使用ascii类型传输方式。
" T7 R8 A0 Y1 B% E* L 6.bell每个命令执行完毕后计算机响铃一次。 ! R! b% u: f- S6 W3 G
7.bin使用二进制文件传输方式。
, n# {) P; M* S1 j% ? 8.bye退出ftp会话过程。
, c8 B( h2 k. g9 z+ E" p2 A5 ] 9.case在使用mget时,将远程主机文件名中的大写转为小写字母。
5 A& ~8 V( E" G8 Q: }, @ 10.cd remote-dir 进入远程主机目录。 # v4 V, k7 b1 Y' Z- h+ g
11.cdup进入远程主机目录的父目录。 : v% C& t" b9 T* S0 W
12.chmod modefile-name将远程主机文件file-name的存取方式设置为mode,如chmod 777 a.out。 h( Z# p% v' L
13.close中断与远程服务器的ftp会话(与open对应)。 ! Y% F5 b# Q+ V. V
14.cr使用asscii方式传输文件时,将回车换行转换为回行。
/ b8 \ l8 q# ]7 l; W0 R 15.delete remote-file删除远程主机文件。
) g6 ?8 E$ x/ S( p$ n 16.debug[debug-value]设置调试方式,显示发送至远程主机的每条命令,如debup 3,若 设为0,表示取消debug。 ! I7 c: {3 ~5 z/ ~+ X% U- i% {# n
17.dir[remote-dir][local-file]显示远程主机目录,并将结果存入local-file。 6 N2 y0 R' f# f* k5 q, K6 |
18.disconnection同close。 + U; E2 R! N& l$ v. [) ~% y
19.form format将文件传输方式设置为format,缺省为file方式。
& E! }8 w) a/ ]4 A- |3 U 20.getremote-file[local-file]将远程主机的文件remote-file传至本地硬盘的local-file。 , q8 I7 A5 Q2 g9 Z, z
21.glob设置mdelete、mget、mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。 9 x: `7 x) h! Y4 |: P
22.hash每传输1024字节,显示一个hash符号(#)。 # d! i3 }2 U; S9 ]
23.help[cmd]显示ftp内部命令cmd的帮助信息,如help get。 " v: N) L, A1 K. ]8 S* T- l
24.idle[seconds]将远程服务器的休眠计时器设为[seconds]秒。
, v; c9 l% K) o- P4 |" v. k: M 25.image设置二进制传输方式(同binary)
( t# {" B$ u9 a% v3 ^1 q. ~" X5 ]4 I 26.lcd[dir]将本地工作目录切换至dir。 $ f; ?8 P6 L& M
27.ls[remote-dir][local-file]显示远程目录remote-dir,并存入本地local-file。
2 M, Z2 n$ _$ a- h; N 28.macdef macro-name定义一个宏,遇到macdef下的空行时,宏定义结束。 - O: \, q( Z# H3 r* L' g
29.mdelete[remote-file]删除远程主机文件。
) R5 B% C9 O& T/ I& G 30.mdir remote-files local-file与dir类似,但可指定多个远程文件,如mdir*.o.*. zipoutfile。 3 t: O' R; m4 j
31.mget remote-files传输多个远程文件。 # ?! j* O" H5 ?* _* V
32.mkdir dir-name 在远程主机中建一目录。
- E$ R) h% i% _+ c 33.mls remote-file local-file同nlist,但可指定多个文件名。
$ Z' f2 B% M# g1 X( G' ^4 t 34.mode[mode-name]将文件传输方式设置为mode-name,缺省为stream方式。
$ B# X4 ~# b4 g 35.modtime file-name显示远程主机文件的最后修改时间。
; Z: ], ~# p$ m- l4 y( U5 s 36.mput local-file将多个文件传输至远程主机。 ' t& D+ w" y0 x9 a& y
37.newerfile-name如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。 $ w$ E/ G$ Q |9 W! ~
38.nlist[remote-dir][local-file]显示远程主机目录的文件清单,并存入本地硬盘的local-file。
7 N7 D; j5 L& g0 U 39.nmap[inpatternoutpattern]设置文件名映射机制,使得文件传输时,文件中的某些字符相互转换,如nmap¥1.¥2.¥3[¥1,¥2].[¥2,¥3],则传输文件a1.a2.a3时,文件名变为a1、a2,该命令特别适用于远程主机为非U-NIX机的情况。
: b- H5 f9 n7 s* Q% k 40.ntrans[inchars[outchars]]设置文件名字符的翻译机制,如ntrans1R,则文件名LL L将变为RRR。 3 V) C+ q& x' u. I1 L3 }7 [
41.open host[port]建立指定ftp服务器连接,可指定连接端口。
3 `# R& S# z3 |) {; L ?# y 42.passive进入被动传输方式。
) R5 Y/ k: t1 D3 Z6 y 43.prompt设置多个文件传输时的交互提示。
" j* P- ^$ |3 [ p2 { 44.proxyftp-cmd在次要控制连接中,执行一条ftp命令,该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。 + p6 r; G* {5 Y$ M- X
45.put local-file[remote-file]将本地文件local-file传送至远程主机。 ' [* _# E0 W8 j; g' c# R' E. }. D
46.pwd显示远程主机的当前工作目录。 4 r$ R) D8 p. \5 y: P2 O6 J$ O. g
47.quit同bye,退出ftp会话。 , Q" q) l- U6 `$ z4 {# @! {
48.quote arg1,arg2……将参数逐字发至远程ftp服务器,如quote syst。 ! d* ]2 c" ]! t* N9 m
49.recv remote-file[local-file]同get。 ' [. `1 C) H" b% t1 }+ w
50.regetremote-file[local-file]类似于get,但若local-file存在,则从上次传输中断处续传。
& @+ A4 R6 C7 z) U. Z6 N 51.rhelp[cmd-name]请求获得远程主机的帮助。
! s8 B1 u. F! s" M( y9 Z 52.rstatus[file-name]若未指定文件名,则显示远程主机的状态,否则显示文件状态。 * a+ q; w; L' H0 G. M
53.rename[from][to]更改远程主机文件名。 % Y# a6 S' r& O3 t$ {8 s, k, v
54.reset清除回答队列。 7 o8 c0 F( d0 t. I6 `
55.restart marker从指定的标志marker处,重新开始get或put,如restart 130。
) Z8 l( T/ B+ s( m( ^ F 56.rmdir dir-name删除远程主机目录。 5 \( O$ e% c' w! c
57.runique设置文件名唯一性存储,若文件存在,则在原文件后加后缀。
, m! j h. H' I+ k( | 58.send local-file[remote-file]同put。 6 y" e3 H3 p( v% \: ?
59.sendport设置PORT命令的使用。 % f+ y" `. N+ g; N1 ]9 c
60.site arg1,arg2……将参数作为SITE命令逐字发送至远程ftp主机。 3 N" _# ]( U8 r2 L- c8 W* Y T2 ~* M
61.size file-name显示远程主机文件大小,如site idle 7200。 / [% u6 ~' k2 h' g" v/ A: L
62.status显示当前ftp状态。 9 T, @2 E4 t3 B! i) X4 @. _
63.struct[struct-name]将文件传输结构设置为struct-name,缺省时使用stream结构。
/ ?1 o2 z# s. ~( _- D6 Q64.sunique将远程主机文件名存储设置为唯一(与runique对应)。
+ Y) d- l A* @ 65.system显示远程主机的操作系统类型。
7 C8 s+ M: A6 \& W' { 66.tenex将文件传输类型设置为TENEX机所需的类型。
3 W) y2 q: z5 w0 S5 A5 J 67.tick设置传输时的字节计数器。 ) ~: ], R2 d/ v7 X% C
68.trace设置包跟踪。
V r4 `7 v& w- H% O L1 K 69.type[type-name]设置文件传输类型为type-name,缺省为ascii,如typebinary,设置 二进制传输方式。
* c+ Q L5 k3 l: K" Z4 n5 r7 W 70.umask[newmask]将远程服务器的缺省umask设置为newmask,如umask 3。
" X T' K; a% P 71.useruser-name[password][account]向远程主机表明自己的身份,需要口令时,必须输入口令,如user anonymous my@email。
. x& i- K1 m1 d% j0 k( z1 u 72.verbose同命令行的-v参数,即设置详尽报告方式,ftp服务器的所有响应都将显示给用户,缺省为on.
5 q* ` H/ u ]6 o0 Q# m7 O 73.?[cmd]同help。
, A8 j" t+ c+ @6 L 9 u* [8 Q0 d. V3 [7 W
那么如何应用这些命令提高效率呢?下面我举一个例子,如何利用fttp进行后台下载,假设你的ISP给你提供了shell并且可以用nohup,你想由fttp.download.com/pub/internet/下载一个30M的程序aaa.zip具体步骤如下:
, F: ~) `3 b9 X! f 1.用notepad做一个文件如aaa1内容如下 ) W9 `: |6 n1 ]% v+ y7 H$ l
open ftp.dwonload.com ! C" C& H, f0 E% n, z: U
user anonymous zyz@cenpok.net
- p, g8 v# d$ u8 w8 ? cd /pub/internet/
; G: M* f; [# E. a. \/ j8 l. { i 3 X* H: p4 Q8 e: R% ^" a* z
get aaa.zip ( h7 ]) D$ Q9 Z" N3 H+ g
close , S+ d3 o1 s9 j, D6 F
bye
, q8 L% G3 Q# P& I/ N( i4 t 2.拨号登录到你的ISP上。用telnet 或netterm登录到shell,一般都在你的home子目录里bbs~/ 8 j6 C7 r' j! Z5 _7 V8 e9 x6 j) ~
3.用fttp上传aaa1到ISP服务器你的子目录。
3 Y7 |% Q, f' ~; i6 Z. |# b, {3 q% ~ 4. 执行nohup fttp -invd aaa2& * X5 I6 t- @# g3 y. T; t
这样这个进程就被放在ISP服务器的后台进行了,如果你想知道情况如何,可以more aaa2就可以知道情况如何了。这时你可以断线了或干点别的,估计时间到了(time约=30M/(33.6K/9)s)拨号上去,more aaa2如果显示成功下载aaa.zip就表示aaa.zip已经被下载到ISP的服务器上了,你再由ISP的服务器拉回来就相当与点对点了,记得下载完成后del掉你的文件(aaa.zip),免得浪费ISP资源,它会关掉shell的。 [DISABLELBCODE] |
|