·netrc中应包含的基本命令
FTP中有几十个命令,在.netrc中应该设置的大致有如下几条:
1.default loginpassword
在Internet中,存在大量的匿名ftp帐户,用户在不同的主机间频繁登录anonymous帐户,输入自
己的电子邮件地址作为口令,这种输入极其繁琐,完全有必要利用.netrc文件,在进入ftp时自动
完成该过程。
2.binary
许多用户在下载大量文件之后才意识到下载的文件是二进制文件,而自己却是使用ascii方式传
输,使下载文件无法使用,做了许多无用功。在.netrc文件中提前将传输方式设置为binary,完全
可避免出现上述情况。
3.runique
使用Internet的用户都知道,在浩如烟海的文件中,有大量同名文件,如readme、index等,如果
将同名文件下载到同一目录,则新传的文件会覆盖原同名文件。为了使具有潜在重要性的文件不
至于被意外覆盖,也需要在.netrc文件中,设置runique参数防止上述错误。
4.prompt off
使用ftp时,经常会用到mget或其它需要确认的ftp命令,将此确认过程取消,可大大方便使用者。
5.hash on
ftp中的hash命令,使得在进行文件传输时,每传输1千字节,在屏幕上显示一个"#"号,用户通过观
看屏幕上的"#"号,可以很直观地看到传输速度的快慢,以及文件的传输完成情况,以决定进一步的
操作。
6.idle 7200
目前国内的Internet专线速率普遍偏低,用户数却在急剧膨胀,所以用ftp传输销大一些的文件
时,经常会因为线路拥塞而断线,致使ftp进程中断,为了减少因断线而反复登录的次数,需将idle
命令的参数设置为最大(一般为7200秒)。
7.macdef
macdef定义一个宏,macro_name为宏定义的名称。在macdef行下,可输入任何有效的ftp命令,并
以空行结束宏定义,执行时只需在宏名前加"$"号即可。如果宏名定义为init,则该宏命令在启动
ftp后自动加以执行,无需用户输入$ macro_name。
·netrc的使用举例
1.用vi编辑器先编辑一个如下的文件:
default login anonymous password user@my.site
macdef init
binary .
runique .
hash on .
prompt off
idle 7200
(空行)
第1行意为缺省情况下,进入anonymous帐户,并以自己的电子邮件地址为口令;第2行至第8行定义
了宏init,该宏中的所有5条命令将在进入ftp环境后立刻执行,第8行(空行)不可省略,否则为无
效宏定义。
2.利用.netrc可将用户所需操作大大简化,极大地提高工作效率。如,利用archie命令查找到文件
xplaygizmo-1.0.gz在匿名ftp主机上unsite.unc.e-du的目
/pub/packages/solaris/freeware下,用户欲将该文件用ftp下载,只需用vi编辑器将archie的
查找结果插入到.netrc文件空行之上,即增加下列三行:
cd/pub/packages/solaris/freeware
get xplaygizmo-1.0.gz
bye
(空行)
运行ftp sunsite.unc.edu,即自动完成上述.netrc中的所有操作,无需任何人工干预。屏幕将
显示类似于下面的结果:
Connected to sunsite.unc.edu.
220 calzone FTP server(Version wu-2.4(38)Wed 0ct 2 09:30:40 EDT 1996)ready
331 Guest login ok,send your complete e-mail address as password.
230.............
230 Guest login ok,access resrictions apply.
200 Type set to I.
Receive unique on.
Hash mark printing on (1024 bytes/hash mark).
Interactive mode off.
200 Maximum IDLE time set to 7200 seconds
cd/pub/packages/solaris/freeware
250 CWD command successful.
get xplaygizmo-1.0.gz
200 PORT command successful.
150 Opening BINARY mode data connection for xplaygizmo-1.0.gz(8753 bytes).
########
226 Transfer complete.
8753 bytes received in 50.8 secs(0.17 Kbytes/sec)
221 Goodbye.
缺省时,运行ftp命令将检测用户的HOME目录中的.netrc文件,并自动加以执行,如果不想使
用.netrc,可在ftp命令行中使用-n参数加以取消。