.netrc的使用



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。

•netrc的使用举例

  1.用vi编辑器先编辑一个如下的文件:
    default login anonymous password [email protected]
    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(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参数加以取消。
----
#!/bin/ksh
nohup   ./shellName  &运行shell时,会自动去第一行去找用ksh还是bash 去执行此shell.
nohup    &在后台非挂起运行shell.
.netrc  在一个人的工作目录下,系统会自动读取这个文件去登陆ftp. 这个文件权限设置为400即可。
子shell就是登录shell为了运行期望的程序而执行的全新的shell。

你可能感兴趣的:(工作,Solaris,bash,Access)