分类: LINUX
2012-12-20 22:05:26
FTP(文件传输)和E-mail(电子邮件)、Telnet(远程登录) 一样,是Internet的三大主要功能之一。因为使用频繁,用户往往会遇到各种各样的问题,合理利用FTP命令的初 始化文件.netrc,使运行FTP后自动执行某些FTP的内部命令,可有效地克服各种使用中的不便,极大地方便FTP的使 用者。
.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。
使用举例
1. 用vi编辑器先编辑一个如下的文件:
点击(此处)折叠或打开
第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文件空行之上,即增加下列三行:
点击(此处)折叠或打开
实例设置:
点击(此处)折叠或打开
运行ftp sunsite.unc.edu,即自动完成上述.netrc中的所有操作,无需任何人工干预。屏幕将显示类似于下面的结果:
Connected to sunsite.unc.edu.
220 calzone FTP server(Version wu-2.4(3Wed
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参数加以取消。
点击(此处)折叠或打开
运行shell时,会自动去第一行去找用ksh还是bash去执行此shell。nohup &在后台非挂起运行shell。
3. 设置访问权限:
# chmod 600 .netrc