|
ftp的命令行格式为:ftp -v -d -i -n -g[主机名] ! K h! m6 q0 C, U' V" d8 ^
; F: L% ~& I @# K+ P) W# u -v 显示远程服务器的所有响应信息。
E- h" k5 G, O -d 使用调试方式。 ! W. S" m1 o* Q9 M
-n 限制ftp的自动登录,即不使用.netrc文件。 7 D; }9 l, A% J: M5 t, z% ~
-g 取消全局文件名。 : i2 \2 K: z: J: y7 j
# h* @ A( r8 Y* e H$ q! {
ftp使用的内部命令如下(其中括号表示可选项): 4 ?2 n& t( Q& J3 Y# m. P
1.![cmd[args]]在本地机中执行交互shell、exit回到ftp环境,如!ls*.zip。 " _0 d' ^$ X; g
2.¥ macro-ame[args]执行宏定义macro-name。 7 I. I0 T5 E k, {0 n% O" B) o
3.account[password]提供登录远程系统成功后访问系统资源所需的补充口令。 " Z( }% X( S& W R" x3 M
4.appendlocal-file[remote-file]将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。
8 I+ W: [2 E4 X9 ?0 y3 o 5.ascii 使用ascii类型传输方式。
0 W: m9 M S e2 Y 6.bell每个命令执行完毕后计算机响铃一次。
G: U U9 L; C 7.bin使用二进制文件传输方式。
& W2 J- f; R+ o T% I 8.bye退出ftp会话过程。 # M; ^' i4 o! L
9.case在使用mget时,将远程主机文件名中的大写转为小写字母。
: @8 `2 z& B* r& T9 X8 q 10.cd remote-dir 进入远程主机目录。 + C; x2 C6 x' w; c
11.cdup进入远程主机目录的父目录。
/ p5 j* H: c( [ ]- P+ e# q 12.chmod modefile-name将远程主机文件file-name的存取方式设置为mode,如chmod 777 a.out。
! S; R$ d5 I* |! R& ~! o$ X 13.close中断与远程服务器的ftp会话(与open对应)。 6 ?$ h; p4 U) [6 z6 A2 D
14.cr使用asscii方式传输文件时,将回车换行转换为回行。
. X* {3 ^! d+ j( r 15.delete remote-file删除远程主机文件。
5 i Z6 l- j/ x& S- f4 x3 ` 16.debug[debug-value]设置调试方式,显示发送至远程主机的每条命令,如debup 3,若 设为0,表示取消debug。
: z6 J, S7 ^! l% O, ^' m3 e; u 17.dir[remote-dir][local-file]显示远程主机目录,并将结果存入local-file。 ' @( s+ f1 q( _- Q" E% B4 E# V0 l3 c
18.disconnection同close。 ) U8 _+ x2 T4 C. X8 F; d( H; w1 j
19.form format将文件传输方式设置为format,缺省为file方式。
u# J/ z8 h1 Q5 U8 H4 ~ 20.getremote-file[local-file]将远程主机的文件remote-file传至本地硬盘的local-file。
% g9 U _1 \* Z1 I/ X 21.glob设置mdelete、mget、mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。 ! P( U& f1 t7 l5 O
22.hash每传输1024字节,显示一个hash符号(#)。 ; X/ U, I3 I3 T# s3 B: n
23.help[cmd]显示ftp内部命令cmd的帮助信息,如help get。
) L7 P3 E% _/ T- K; f1 H( S) ]& z 24.idle[seconds]将远程服务器的休眠计时器设为[seconds]秒。
/ b2 K" q4 p7 X' n 25.image设置二进制传输方式(同binary)
3 s! [' @8 V7 l; b, d, _; j! Y. C& S 26.lcd[dir]将本地工作目录切换至dir。 " y! H. r3 s; r1 X. L
27.ls[remote-dir][local-file]显示远程目录remote-dir,并存入本地local-file。 4 {1 b5 `2 {* J+ R, ]
28.macdef macro-name定义一个宏,遇到macdef下的空行时,宏定义结束。
3 a& r9 q! ~- X8 g- n3 g5 e8 _ 29.mdelete[remote-file]删除远程主机文件。 ( U% i) a1 r% M$ _( B5 ^
30.mdir remote-files local-file与dir类似,但可指定多个远程文件,如mdir*.o.*. zipoutfile。 : q" j- ~3 i ?' y
31.mget remote-files传输多个远程文件。
) v7 g% {9 ~! {8 K 32.mkdir dir-name 在远程主机中建一目录。
6 r; \" w& \+ ?! A8 W+ K# e 33.mls remote-file local-file同nlist,但可指定多个文件名。 6 C) Q/ |9 ^0 k7 s, \0 b; ?
34.mode[mode-name]将文件传输方式设置为mode-name,缺省为stream方式。
, c! k6 j* n/ m 35.modtime file-name显示远程主机文件的最后修改时间。 " ^6 M' n: h: V7 j6 r+ |
36.mput local-file将多个文件传输至远程主机。 ; M5 W, W: ]8 \* H8 r- h
37.newerfile-name如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。 % d& ?- R2 u/ o' |/ i
38.nlist[remote-dir][local-file]显示远程主机目录的文件清单,并存入本地硬盘的local-file。 ! \6 K% b0 d( Q
39.nmap[inpatternoutpattern]设置文件名映射机制,使得文件传输时,文件中的某些字符相互转换,如nmap¥1.¥2.¥3[¥1,¥2].[¥2,¥3],则传输文件a1.a2.a3时,文件名变为a1、a2,该命令特别适用于远程主机为非U-NIX机的情况。 # Y' n: U' I: O# Z6 \* u
40.ntrans[inchars[outchars]]设置文件名字符的翻译机制,如ntrans1R,则文件名LL L将变为RRR。 ; U: D5 V+ I! m3 |* B+ v4 H: K; k
41.open host[port]建立指定ftp服务器连接,可指定连接端口。
- i1 l' F3 ^- D 42.passive进入被动传输方式。
% a) ]( B# o+ l* D/ B 43.prompt设置多个文件传输时的交互提示。
" n* Z9 t$ t r2 k. H 44.proxyftp-cmd在次要控制连接中,执行一条ftp命令,该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。 - j. W, N$ J/ [& L) z5 t
45.put local-file[remote-file]将本地文件local-file传送至远程主机。
" L3 {+ W/ g) t% I' } c 46.pwd显示远程主机的当前工作目录。 6 a* D* s7 v* r
47.quit同bye,退出ftp会话。 % |. E5 V4 O5 {/ {3 y. p
48.quote arg1,arg2……将参数逐字发至远程ftp服务器,如quote syst。
" |5 s' K. z3 S0 I. a3 c$ c% X 49.recv remote-file[local-file]同get。
9 e" X/ ^9 Z' L$ R% E. e8 O# g2 x 50.regetremote-file[local-file]类似于get,但若local-file存在,则从上次传输中断处续传。
, z* q* K; h4 L 51.rhelp[cmd-name]请求获得远程主机的帮助。
w( [* b* K* o8 b 52.rstatus[file-name]若未指定文件名,则显示远程主机的状态,否则显示文件状态。
. O6 L' q) M# c0 r3 o% Z) r% G2 U% T 53.rename[from][to]更改远程主机文件名。 % ^( @) _ R9 {7 m( X; O2 P9 H
54.reset清除回答队列。 $ J3 {1 @; \! e6 l) S
55.restart marker从指定的标志marker处,重新开始get或put,如restart 130。
2 V3 e D* W. z) J0 g( M. y5 T 56.rmdir dir-name删除远程主机目录。
* |( ]. A: l3 H- |" ~) d5 Q 57.runique设置文件名唯一性存储,若文件存在,则在原文件后加后缀。 8 e# Z" ]- I: M+ E; O' {; C
58.send local-file[remote-file]同put。 # t9 l8 r* I: y3 W& ~( T
59.sendport设置PORT命令的使用。
3 B* F& ~/ m+ r; Y! N. P 60.site arg1,arg2……将参数作为SITE命令逐字发送至远程ftp主机。 $ d* Y) [& A- J9 @% x! [+ s7 F5 U
61.size file-name显示远程主机文件大小,如site idle 7200。
: p7 s- _+ [ i( n& k7 g& b" y 62.status显示当前ftp状态。 ) \: G! u( t8 Z7 w; v2 v
63.struct[struct-name]将文件传输结构设置为struct-name,缺省时使用stream结构。 ! L# r3 B: @* Y% }( N/ R
64.sunique将远程主机文件名存储设置为唯一(与runique对应)。
: C, n5 Q2 R9 S7 G4 Z6 u6 _& d4 T 65.system显示远程主机的操作系统类型。
! G1 L( ^) A$ T0 a 66.tenex将文件传输类型设置为TENEX机所需的类型。
& K9 n- }1 g1 A. j: `1 c! _ 67.tick设置传输时的字节计数器。 ; W8 d8 T/ g6 W: I7 j( P# x( E
68.trace设置包跟踪。
& |3 a; m* h' g$ @4 c) Z1 P0 s 69.type[type-name]设置文件传输类型为type-name,缺省为ascii,如typebinary,设置 二进制传输方式。
y; w% \/ a& I0 l 70.umask[newmask]将远程服务器的缺省umask设置为newmask,如umask 3。 2 }* ~ E3 b q9 p. n' z1 s. G
71.useruser-name[password][account]向远程主机表明自己的身份,需要口令时,必须输入口令,如user anonymous my@email。 5 \" I; M% \0 t% o% H
72.verbose同命令行的-v参数,即设置详尽报告方式,ftp服务器的所有响应都将显示给用户,缺省为on.
0 H" H8 T+ m% N- ]# |0 F- { 73.?[cmd]同help。
3 Y4 {7 R# [5 P \ # x6 o. T N0 D$ Q+ ~' N
那么如何应用这些命令提高效率呢?下面我举一个例子,如何利用fttp进行后台下载,假设你的ISP给你提供了shell并且可以用nohup,你想由fttp.download.com/pub/internet/下载一个30M的程序aaa.zip具体步骤如下: : b }- [: R: A$ o% g3 f9 j1 W* k
1.用notepad做一个文件如aaa1内容如下 - A$ ~* V6 k( {; ^! g! g
open ftp.dwonload.com * _; d' ?4 w4 L! A' t/ y
user anonymous zyz@cenpok.net
5 U- o3 {" Y' a% ]5 v cd /pub/internet/
/ h0 N9 |% q( w0 | T) a i
3 }( F! [! I0 ~! _# v+ ~ get aaa.zip % z* Q, a* ?/ u3 Z
close + ?3 n2 b$ |' m t; J- K
bye
& V$ l6 Q$ @& l+ G& T2 Q: I 2.拨号登录到你的ISP上。用telnet 或netterm登录到shell,一般都在你的home子目录里bbs~/ 1 h+ Z1 V. q) j9 ?+ D: A) D
3.用fttp上传aaa1到ISP服务器你的子目录。
+ `) r" U7 ^8 K2 J/ @3 K3 \. \0 G 4. 执行nohup fttp -invd aaa2& " w' f4 X( P; 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] |
|