当前位置: 首页 > 图文教程 > 服务器 > Web服务器 > FTP非交互方式文件传输

Web服务器
LINUX学习笔记--FTP服务器设置篇2
在Linux下建立强大的FTP搜索引擎1
在Linux下建立强大的FTP搜索引擎2
在Linux下建立强大的FTP搜索引擎3
FrontPage 98网站FTP到NT服务器
Leapftp的安全问题1
Leapftp的安全问题2
Linux下安PHP,APACHE,MYSQL,PERL方法1
Linux下安PHP,APACHE,MYSQL,PERL方法2
Linux下安PHP,APACHE,MYSQL,PERL方法3
Linux下安PHP,APACHE,MYSQL,PERL方法 4
MS Proxy用法(一)
MS Proxy用法(一)2
MS Proxy用法(二)
MS Proxy用法(二)2
SyGate安装前奏
wingate FAQ大全
Linux服务器设置指南-代理接入服务器(1)
Linux服务器设置指南-代理接入服务器(1)2
Linux服务器设置指南-代理接入服务器(1)3

Web服务器 中的 FTP非交互方式文件传输


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-02   浏览: 35 ::
收藏到网摘: n/a

  FTP(File Transfer Protocol)是文件传输协议,通过它可以从计算机传输或传输到计算机文件。FTP命令可以交互方式使用,也可以非交互方式使用。交互方式的使用较简单,命令执行时系统会逐步提示,非交互方式的实现虽然复杂,但大大方便使用者,因为FTP会自动完成所有的操作。我们在使用FTP命令时,为了操作方便,往往会按非交互方式使用,下面笔者就介绍在SCO UNIX 3.0下FTP实现非交互方式的处理。

  在UNIX系统下,使用RCP命令可以实现远程文件传输,但双方都必须为同一种系统,如果远程为其它系统,则RCP就无能为力了。使用FTP命令不但可以实现非交互方式传输方件,而且在双方使用不同系统时也能使用。UNIX下的FTP命令的使用与Windows NT有所区别,通过UNIX的帮助系统可以知道,FTP命令格式为:
ftp[-v][-d][-i][-n][-t][-g][host]

  从命令格式中可以看出,其命令参数基本和在Windows NT系统下差不多,但是没有[-s:FILENAME]参数,也就是说,不能通过编辑一任意文本文件来实现非交互方式传输文件,不过值得高兴的是,ftp命令在执行时会去寻找一文件名为netrc的文件,如果此文件存在并且其中有FTP命令行中指定的主机名,则会执行netrc文件中命令行。netrc文件中放有远程主机名、注册用户名、用户口令和定义的宏,其格式如下:

  machine主机名
  login用户名
  password用户口令
  macdefinit(定义宏)
  binary
  hash

  get远程主机文件名本地文件名

  bell
  close
  bye

  在命令提示符下运行"ftp主机名"命令即可自动实现文件的传输。另外在UNIX下使用FTP命令应注意下面的事项。

  1、在.netrc文件中,如果使用password命令,其用户口令在文件中没有被加密,所以必须对.netrc文件设置权限,可以在命令提示符下使用"chmod 0600 .netrc"命令设置权限,即只有其文件主有读写权限,而其组成员及其它用户均不可有任何权限,否则password命令无效,导致注册过程中断。

  2、在.netrc文件中,如果使用macdefinit命令,则在其下一行可以输入FTP命令,系统会自动执行这些命令且直到遇到一空行,也就是说在文件尾必须有至少一行空行,否则会出现错误信息"Macro definition missing null line terminator"。

  3、如果在UNIX系统下使用超级用户注册,则.netrc文件必须放在根目录下,如果使用一般用户注册,则.netrc文件必须放在"/usr/用户名"目录下。

  4、在UNIX系统下所有命令均为小写,包括FTP命令。