|
ftp的命令行格式为:ftp -v -d -i -n -g[主机名]
; ~- ^4 t# J+ T
( h Y3 S: f2 H' k; X. ~, d' i: k9 Y -v 显示远程服务器的所有响应信息。
! v X! ?. V5 @ ?8 ?" b -d 使用调试方式。 6 }6 c4 G l& D+ `8 m
-n 限制ftp的自动登录,即不使用.netrc文件。 " L( y7 r3 A) o& ]5 }. V
-g 取消全局文件名。
, a$ i# e9 }# L- E2 c1 {2 @& ]( i% w( e5 }7 f' P: x$ k
ftp使用的内部命令如下(其中括号表示可选项): / \9 P6 e+ `, S' {- `5 P8 M+ O: d
1.![cmd[args]]在本地机中执行交互shell、exit回到ftp环境,如!ls*.zip。
! m: D# I6 F$ V( Z6 W' t 2.¥ macro-ame[args]执行宏定义macro-name。 ( `- I* o) ]* m( s* F4 K/ O1 K, I
3.account[password]提供登录远程系统成功后访问系统资源所需的补充口令。 ( z& \ t+ R& ]
4.appendlocal-file[remote-file]将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。
& {3 [! s9 m/ d" u 5.ascii 使用ascii类型传输方式。 ! f. w+ j% ]' ^) }( _
6.bell每个命令执行完毕后计算机响铃一次。 . d# s- U( l# e; H' D- {) m
7.bin使用二进制文件传输方式。
% ?' M3 Q8 x0 q3 Y' i, ` 8.bye退出ftp会话过程。 * q1 ]' B9 D9 ^4 M/ ~& h# c
9.case在使用mget时,将远程主机文件名中的大写转为小写字母。 * ^8 ~+ V9 j: x6 E1 L$ q6 ]" r
10.cd remote-dir 进入远程主机目录。
% ?0 u" t: p+ A: W6 {3 v 11.cdup进入远程主机目录的父目录。 $ x5 N+ C9 ]. l: @4 Q
12.chmod modefile-name将远程主机文件file-name的存取方式设置为mode,如chmod 777 a.out。
& d6 n+ z d* E, t& { 13.close中断与远程服务器的ftp会话(与open对应)。 7 d* @ Y: Y1 N5 T% ?
14.cr使用asscii方式传输文件时,将回车换行转换为回行。
, A) r9 l' _3 Y: {+ {* G 15.delete remote-file删除远程主机文件。 7 m3 I" x2 [9 N. x0 E
16.debug[debug-value]设置调试方式,显示发送至远程主机的每条命令,如debup 3,若 设为0,表示取消debug。 : t" V% k, l9 h% w* k) I; k
17.dir[remote-dir][local-file]显示远程主机目录,并将结果存入local-file。
( J) O2 p9 Q% e# ] 18.disconnection同close。
4 C; ~& \7 P" D: G; A' w0 l$ |! j 19.form format将文件传输方式设置为format,缺省为file方式。
- d% ~8 \, }7 b- R# z 20.getremote-file[local-file]将远程主机的文件remote-file传至本地硬盘的local-file。 . j3 Y/ g5 r1 V* o4 V1 F) t7 y
21.glob设置mdelete、mget、mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。
3 w1 k6 X+ k/ u, w, \ 22.hash每传输1024字节,显示一个hash符号(#)。 0 H- s8 L( i6 d8 o2 c, `
23.help[cmd]显示ftp内部命令cmd的帮助信息,如help get。 7 _/ q( R% v- o2 V0 c/ |' {
24.idle[seconds]将远程服务器的休眠计时器设为[seconds]秒。 ' m, p3 Q0 g3 }1 |
25.image设置二进制传输方式(同binary)
- _2 y# G9 V1 S# ?9 f8 x- Y& ? 26.lcd[dir]将本地工作目录切换至dir。 ( Z6 _, f) W4 N% t/ X- f( L
27.ls[remote-dir][local-file]显示远程目录remote-dir,并存入本地local-file。
5 V5 h" f4 k7 E4 b 28.macdef macro-name定义一个宏,遇到macdef下的空行时,宏定义结束。 + O2 Y& m* a8 r$ x! t: {- J: a& i0 h
29.mdelete[remote-file]删除远程主机文件。 $ y* f4 C R3 k8 [- x8 b' M
30.mdir remote-files local-file与dir类似,但可指定多个远程文件,如mdir*.o.*. zipoutfile。
9 y4 ^2 e! W+ w$ E; t5 ? 31.mget remote-files传输多个远程文件。 1 |" E1 Y4 _+ R9 h6 ?8 y. z! P
32.mkdir dir-name 在远程主机中建一目录。 ! w" c5 d8 N6 Q! ~6 X( V7 V
33.mls remote-file local-file同nlist,但可指定多个文件名。
( |4 k& ^8 n% n* q 34.mode[mode-name]将文件传输方式设置为mode-name,缺省为stream方式。 - |; S; U! I1 ~; `4 X) W& H/ Z! [
35.modtime file-name显示远程主机文件的最后修改时间。 A9 e4 W0 v9 V2 b
36.mput local-file将多个文件传输至远程主机。 ; ~- f& v1 o1 D; H+ e
37.newerfile-name如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。 - u/ ]: q$ |5 m9 S
38.nlist[remote-dir][local-file]显示远程主机目录的文件清单,并存入本地硬盘的local-file。 ! H& K `& B* }+ A* ~
39.nmap[inpatternoutpattern]设置文件名映射机制,使得文件传输时,文件中的某些字符相互转换,如nmap¥1.¥2.¥3[¥1,¥2].[¥2,¥3],则传输文件a1.a2.a3时,文件名变为a1、a2,该命令特别适用于远程主机为非U-NIX机的情况。 - g9 c1 c& B" t& C! G) ?- ]& [4 K
40.ntrans[inchars[outchars]]设置文件名字符的翻译机制,如ntrans1R,则文件名LL L将变为RRR。 8 H2 P4 b9 w: ]
41.open host[port]建立指定ftp服务器连接,可指定连接端口。
; D( ]* }: N3 U4 R9 O 42.passive进入被动传输方式。 - i/ i9 q4 W: P( H% _1 c4 W& n
43.prompt设置多个文件传输时的交互提示。
; k9 |$ s |( F' y 44.proxyftp-cmd在次要控制连接中,执行一条ftp命令,该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。 7 y: y" M$ I2 i7 E2 O, h! v5 B- e4 S
45.put local-file[remote-file]将本地文件local-file传送至远程主机。
3 Z6 @9 G, \% v- j 46.pwd显示远程主机的当前工作目录。 : r' Y. C& H4 G- k2 Q
47.quit同bye,退出ftp会话。
6 b+ y/ Y9 }) A0 _& C# e7 V9 ? 48.quote arg1,arg2……将参数逐字发至远程ftp服务器,如quote syst。
/ R& k. n8 D/ a# o7 g0 P 49.recv remote-file[local-file]同get。
, v9 U! Q% Z0 j4 n0 W+ Z/ g* `0 J0 s 50.regetremote-file[local-file]类似于get,但若local-file存在,则从上次传输中断处续传。
& W* p" X/ ~. U, ] 51.rhelp[cmd-name]请求获得远程主机的帮助。 9 |1 |' o; P# r$ Y! k
52.rstatus[file-name]若未指定文件名,则显示远程主机的状态,否则显示文件状态。
1 x# H% C! q, G) i2 l% c- b2 _ 53.rename[from][to]更改远程主机文件名。
. x$ I$ g- p2 _; X8 [1 j4 Y) F 54.reset清除回答队列。
5 y, r3 R o, q8 z4 v. t( ~' x" @ 55.restart marker从指定的标志marker处,重新开始get或put,如restart 130。 1 [% v# d. H9 M- w1 ~
56.rmdir dir-name删除远程主机目录。
( W/ U! U7 I4 x) e: c5 J 57.runique设置文件名唯一性存储,若文件存在,则在原文件后加后缀。 / I4 h3 q; \1 ?* ?" s
58.send local-file[remote-file]同put。 # t, g$ y+ X' V# B8 W
59.sendport设置PORT命令的使用。 * L- h) K/ U( B
60.site arg1,arg2……将参数作为SITE命令逐字发送至远程ftp主机。
" Q6 |* P$ U8 C; z 61.size file-name显示远程主机文件大小,如site idle 7200。
, G$ W9 l" @$ K2 h& R8 F 62.status显示当前ftp状态。
+ v% i! D6 k' \0 U. j 63.struct[struct-name]将文件传输结构设置为struct-name,缺省时使用stream结构。 * K- _: c" l$ A
64.sunique将远程主机文件名存储设置为唯一(与runique对应)。 ; X3 s, @% w' D
65.system显示远程主机的操作系统类型。 $ K8 Z" Q1 _8 Q1 h+ c9 t3 P
66.tenex将文件传输类型设置为TENEX机所需的类型。
& S; y: ~. Y' p" C) w0 R! @3 Z 67.tick设置传输时的字节计数器。
9 Y" q2 f9 v3 u2 L4 Z4 O+ H1 C 68.trace设置包跟踪。
6 t2 m$ {6 j8 m q) _ 69.type[type-name]设置文件传输类型为type-name,缺省为ascii,如typebinary,设置 二进制传输方式。- N" K5 `* `1 ?4 ~
70.umask[newmask]将远程服务器的缺省umask设置为newmask,如umask 3。
2 _) C- q: f" N0 b/ G7 a* m" R 71.useruser-name[password][account]向远程主机表明自己的身份,需要口令时,必须输入口令,如user anonymous my@email。
' e) ~2 B4 a7 D" }- a. Y 72.verbose同命令行的-v参数,即设置详尽报告方式,ftp服务器的所有响应都将显示给用户,缺省为on.
# ^& o( n9 p% N 73.?[cmd]同help。
! Q# _; a5 |' T1 i2 E2 `1 E' x
; V" W r0 n8 l8 T' X5 t那么如何应用这些命令提高效率呢?下面我举一个例子,如何利用fttp进行后台下载,假设你的ISP给你提供了shell并且可以用nohup,你想由fttp.download.com/pub/internet/下载一个30M的程序aaa.zip具体步骤如下: 9 b0 f$ K+ P- x" |
1.用notepad做一个文件如aaa1内容如下
$ n4 ^9 `; m+ H4 g# X9 O' \ open ftp.dwonload.com
* i" M/ ]0 t: V( R; K user anonymous zyz@cenpok.net ( j2 x6 l, N; P" r
cd /pub/internet/ , Q* L7 i! V& p( s0 J0 R5 a9 [" ~
i * S# r# u% u$ v2 f
get aaa.zip ! @8 j& ?8 W3 G* H
close
* N0 X1 D- `* ^* ? bye 1 M: z$ [: W: b3 N* f e7 |: h8 a% l
2.拨号登录到你的ISP上。用telnet 或netterm登录到shell,一般都在你的home子目录里bbs~/
# z6 a. S$ |' J" d l6 M 3.用fttp上传aaa1到ISP服务器你的子目录。
% v9 u7 \7 J( H( C/ H! N/ [ 4. 执行nohup fttp -invd aaa2&
) K" @" J: ? F" Y 这样这个进程就被放在ISP服务器的后台进行了,如果你想知道情况如何,可以more aaa2就可以知道情况如何了。这时你可以断线了或干点别的,估计时间到了(time约=30M/(33.6K/9)s)拨号上去,more aaa2如果显示成功下载aaa.zip就表示aaa.zip已经被下载到ISP的服务器上了,你再由ISP的服务器拉回来就相当与点对点了,记得下载完成后del掉你的文件(aaa.zip),免得浪费ISP资源,它会关掉shell的。 [DISABLELBCODE] |
|