|
|
ftp的命令行格式为:ftp -v -d -i -n -g[主机名]
2 ?/ F( z0 w1 ^8 |6 W" v# K" L D6 X- z) `+ j w. d" ~
-v 显示远程服务器的所有响应信息。 x( U4 N8 X% W; G
-d 使用调试方式。
: i% r& }+ B5 ]! v1 t6 ?) W5 i -n 限制ftp的自动登录,即不使用.netrc文件。
/ J2 y8 R3 L( |' C" ?0 ~) Q; h7 W -g 取消全局文件名。 % _+ L- I' S5 }$ K- `
; u0 x) X9 V) K% w0 {
ftp使用的内部命令如下(其中括号表示可选项): / `3 t$ o- D0 Y) K3 `
1.![cmd[args]]在本地机中执行交互shell、exit回到ftp环境,如!ls*.zip。 ' d# K8 m7 O( G
2.¥ macro-ame[args]执行宏定义macro-name。 & T% h6 \1 B. I+ X
3.account[password]提供登录远程系统成功后访问系统资源所需的补充口令。 ' n9 x7 ]5 W V7 f0 e4 v
4.appendlocal-file[remote-file]将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。 & b/ z1 Q, J8 O
5.ascii 使用ascii类型传输方式。 ( e+ I: H7 L) e4 H8 ~' o& p
6.bell每个命令执行完毕后计算机响铃一次。 1 W# h+ N3 y% X, |9 S" P6 G
7.bin使用二进制文件传输方式。 7 x- Y! ]5 G0 s" \+ K' E( i$ a
8.bye退出ftp会话过程。
: h$ g. e+ ?; a2 b 9.case在使用mget时,将远程主机文件名中的大写转为小写字母。
2 l" ~' [1 F3 s0 y( z 10.cd remote-dir 进入远程主机目录。 - G$ L7 e _& U5 ~0 ]- n( M
11.cdup进入远程主机目录的父目录。
" X: p6 l& i2 }; x7 h; @/ Y& d( O 12.chmod modefile-name将远程主机文件file-name的存取方式设置为mode,如chmod 777 a.out。 ) I" _7 U+ ~$ s+ B4 Q
13.close中断与远程服务器的ftp会话(与open对应)。 / N, [! L1 t) R# ?4 {
14.cr使用asscii方式传输文件时,将回车换行转换为回行。
5 r i* R0 r! K( H1 Z7 Z, j) f 15.delete remote-file删除远程主机文件。
# M8 R" Z0 T# I9 g+ N 16.debug[debug-value]设置调试方式,显示发送至远程主机的每条命令,如debup 3,若 设为0,表示取消debug。 $ G, a. D5 r. u. Q7 k, @
17.dir[remote-dir][local-file]显示远程主机目录,并将结果存入local-file。
% O8 T& H- ^) c$ a6 T0 A 18.disconnection同close。
9 Z2 c: J2 e1 u5 Y 19.form format将文件传输方式设置为format,缺省为file方式。 ; k+ t7 H% m" q5 h v' k
20.getremote-file[local-file]将远程主机的文件remote-file传至本地硬盘的local-file。
5 N% d1 \' s9 U" L+ T1 Z8 n 21.glob设置mdelete、mget、mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。 9 U, M; n0 J, N( Y0 Y3 q
22.hash每传输1024字节,显示一个hash符号(#)。 1 d' A y& X/ ^
23.help[cmd]显示ftp内部命令cmd的帮助信息,如help get。 7 `) K% A2 X) @ a
24.idle[seconds]将远程服务器的休眠计时器设为[seconds]秒。 6 y1 Q( \& z* T6 l- F1 v" B5 q' q
25.image设置二进制传输方式(同binary)
/ F% B7 q# @* Q7 t/ n1 X" x/ e 26.lcd[dir]将本地工作目录切换至dir。
. M/ z+ B$ G k; u0 v6 H7 z. z7 N: _( A 27.ls[remote-dir][local-file]显示远程目录remote-dir,并存入本地local-file。
& z9 M0 V2 Y" ~7 N* v- z: g& i 28.macdef macro-name定义一个宏,遇到macdef下的空行时,宏定义结束。 4 a N" F r: i. w' V5 q
29.mdelete[remote-file]删除远程主机文件。 3 q: T! x1 ~- G- l' a
30.mdir remote-files local-file与dir类似,但可指定多个远程文件,如mdir*.o.*. zipoutfile。
9 V5 r+ E& h, e- p% V9 l! s: j 31.mget remote-files传输多个远程文件。 & x q6 M/ N4 f- H' M
32.mkdir dir-name 在远程主机中建一目录。 4 c( X; M5 r) b7 K9 D4 w2 ?" c0 x
33.mls remote-file local-file同nlist,但可指定多个文件名。 7 M9 p4 _/ I5 {2 P$ k3 n
34.mode[mode-name]将文件传输方式设置为mode-name,缺省为stream方式。
- l' J' B7 n: E* {0 z 35.modtime file-name显示远程主机文件的最后修改时间。
8 Y5 E( [1 p+ s( c" @) w7 N 36.mput local-file将多个文件传输至远程主机。 . x& L* }7 g) y; c/ V: m$ I# t
37.newerfile-name如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。
3 x5 I8 F! D% A# C3 g38.nlist[remote-dir][local-file]显示远程主机目录的文件清单,并存入本地硬盘的local-file。 [1 v* v) ^6 z0 T+ E. I5 Z ~
39.nmap[inpatternoutpattern]设置文件名映射机制,使得文件传输时,文件中的某些字符相互转换,如nmap¥1.¥2.¥3[¥1,¥2].[¥2,¥3],则传输文件a1.a2.a3时,文件名变为a1、a2,该命令特别适用于远程主机为非U-NIX机的情况。 ; U ?6 M" n/ F% c
40.ntrans[inchars[outchars]]设置文件名字符的翻译机制,如ntrans1R,则文件名LL L将变为RRR。 . M0 b8 v; z/ V& t7 J( I! b' a
41.open host[port]建立指定ftp服务器连接,可指定连接端口。
& D, @+ C* e+ g! u, y0 o! Z7 c( a% ?3 E7 @ 42.passive进入被动传输方式。
& E7 t" K8 C+ Y" P2 B! ] 43.prompt设置多个文件传输时的交互提示。
8 b' y6 ~! z# _+ R1 A( ] 44.proxyftp-cmd在次要控制连接中,执行一条ftp命令,该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。 $ w, f. p; \) q. \, S& C& h
45.put local-file[remote-file]将本地文件local-file传送至远程主机。
$ [2 G& L; ?" t 46.pwd显示远程主机的当前工作目录。
2 [* H: X9 a4 k% q8 @ 47.quit同bye,退出ftp会话。
0 Y% ]2 C* X. ]% m' F 48.quote arg1,arg2……将参数逐字发至远程ftp服务器,如quote syst。 6 ~* b7 [9 Z' r
49.recv remote-file[local-file]同get。
& n+ {5 @7 \" i& Z" l/ F 50.regetremote-file[local-file]类似于get,但若local-file存在,则从上次传输中断处续传。
1 m* S* ~3 Y! b! g! f 51.rhelp[cmd-name]请求获得远程主机的帮助。 ; u* o9 S' n6 y! U; O9 ^, [1 z
52.rstatus[file-name]若未指定文件名,则显示远程主机的状态,否则显示文件状态。
9 B8 \& [% Z/ U' \1 D 53.rename[from][to]更改远程主机文件名。
1 |4 G6 E: W, `7 q 54.reset清除回答队列。
j0 Y( f- Z0 [8 b- Y( Q 55.restart marker从指定的标志marker处,重新开始get或put,如restart 130。 6 e4 P- ~2 E+ ]5 `' h
56.rmdir dir-name删除远程主机目录。 - S8 T O/ b% J$ |4 `
57.runique设置文件名唯一性存储,若文件存在,则在原文件后加后缀。
P$ N5 [$ ~6 q/ i% t 58.send local-file[remote-file]同put。 6 }7 V3 W/ \ J
59.sendport设置PORT命令的使用。 $ ?6 h3 |, j3 p- B! D
60.site arg1,arg2……将参数作为SITE命令逐字发送至远程ftp主机。 & [; A2 y* c& w. M1 c/ {6 N @# D% d) e
61.size file-name显示远程主机文件大小,如site idle 7200。
+ s! d9 e5 e3 S) k/ }- { v 62.status显示当前ftp状态。
- F$ F1 m8 s$ [) r3 n% K8 ~ 63.struct[struct-name]将文件传输结构设置为struct-name,缺省时使用stream结构。
* V& O2 {; A0 N7 ]# H64.sunique将远程主机文件名存储设置为唯一(与runique对应)。
/ t S( w0 [2 W0 A) I3 @ 65.system显示远程主机的操作系统类型。
+ W9 G: s$ V/ `7 [* i# ` 66.tenex将文件传输类型设置为TENEX机所需的类型。 2 V& |# s( w) c2 Q/ U3 n5 M
67.tick设置传输时的字节计数器。 2 a# e; }4 s( n" B: f6 O* F3 {. `
68.trace设置包跟踪。 + F1 l3 B3 X8 f; d- I2 o0 E
69.type[type-name]设置文件传输类型为type-name,缺省为ascii,如typebinary,设置 二进制传输方式。0 A. K+ ?5 @0 c0 t% A) v& \! J- `
70.umask[newmask]将远程服务器的缺省umask设置为newmask,如umask 3。
/ `9 P2 ?5 N+ s2 j' \3 S 71.useruser-name[password][account]向远程主机表明自己的身份,需要口令时,必须输入口令,如user anonymous my@email。
/ r) w; J2 s2 i( d m8 i 72.verbose同命令行的-v参数,即设置详尽报告方式,ftp服务器的所有响应都将显示给用户,缺省为on. + {# B+ [1 o) Y. c8 b
73.?[cmd]同help。 3 l$ n* o) v) m
7 g; t6 Q7 v+ {( w
那么如何应用这些命令提高效率呢?下面我举一个例子,如何利用fttp进行后台下载,假设你的ISP给你提供了shell并且可以用nohup,你想由fttp.download.com/pub/internet/下载一个30M的程序aaa.zip具体步骤如下:
- \6 U9 d1 b M0 y: d! `4 ? 1.用notepad做一个文件如aaa1内容如下 ( R$ W7 y, R/ k+ W" g( F
open ftp.dwonload.com
$ L$ c% S+ |0 G4 F1 [. a! T user anonymous zyz@cenpok.net ( ~4 h: c6 I# P) C
cd /pub/internet/
r5 T* L D3 q# h# } i
+ q% o% @$ H8 c; Q3 E get aaa.zip ) U; Z9 P/ Z: i! w
close
N5 D F& ~2 l! f1 F; _ bye & z: S& Z+ d; Q* U; W: K
2.拨号登录到你的ISP上。用telnet 或netterm登录到shell,一般都在你的home子目录里bbs~/ " Z Y6 E9 M# v9 {
3.用fttp上传aaa1到ISP服务器你的子目录。
7 B- z6 o) e, _ 4. 执行nohup fttp -invd aaa2&
4 `* y) ~9 i- N: S 这样这个进程就被放在ISP服务器的后台进行了,如果你想知道情况如何,可以more aaa2就可以知道情况如何了。这时你可以断线了或干点别的,估计时间到了(time约=30M/(33.6K/9)s)拨号上去,more aaa2如果显示成功下载aaa.zip就表示aaa.zip已经被下载到ISP的服务器上了,你再由ISP的服务器拉回来就相当与点对点了,记得下载完成后del掉你的文件(aaa.zip),免得浪费ISP资源,它会关掉shell的。 [DISABLELBCODE] |
|