Chinaunix首页 | 论坛 | 博客
  • 博客访问: 281431
  • 博文数量: 38
  • 博客积分: 706
  • 博客等级: 上士
  • 技术积分: 390
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-05 09:09
文章分类

全部博文(38)

文章存档

2013年(23)

2012年(15)

我的朋友

分类: 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编辑器先编辑一个如下的文件: 

点击(此处)折叠或打开

  1. default login anonymous password user@my.site
  2. macdef init
  3. binary .
  4. runique .
  5. hash on .
  6. prompt off
  7. 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文件空行之上,即增加下列三行:

点击(此处)折叠或打开

  1. cd/pub/packages/solaris/freeware
  2. get xplaygizmo-1.0.gz
  3. bye

    实例设置:

点击(此处)折叠或打开

  1. machine ip
  2. login backup
  3. password daddd
  4. macdef init
  5. binary
  6. hash
  7. lcd /home/oracle/backup/
  8. prompt off
  9. hash on
  10. mput *.*
  11. 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参数加以取消。

点击(此处)折叠或打开

  1. #!/bin/ksh

  2. nohup ./shellName &

    运行shell时,会自动去第一行去找用ksh还是bash去执行此shell。nohup &在后台非挂起运行shell。

3.  设置访问权限:

    # chmod 600 .netrc

阅读(3326) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~