电脑技术学习

Internet文件传输(FTP)

dn001
 
  一、FTP简介   

  “FTP”这个词是文件传送协议的缩写(File Transfer Protocol),FTP的主要作用就是让用户连接上一台所希望浏览的远程计算机。这台计算机必须运行着FTP服务器程序,并且储存着很多有用的文件,其中包括计算机软件、图像文件、重要的文本文件、声音文件等等。这样的计算机称为FTP站点或FTP服务器。通过FTP程序,用户可以查看到FTP服务器上的文件。FTP是在Internet上传送文件的规定的基础。我们提到FTP时不只是认为它是一套规定,FTP是一种服务,它可以在Internet上,使得文件可以从一台Internet主机传送到另一台Internet主机上,通过这种方式,主要靠FTP把Internet中的主机相互联系在一起。

  像大多数的Internet服务一样,FTP使用客户机/服务器系统,你在使用一个名叫ftp的客户机程序时, 就和远程主机上的服务程序相连了。你也许知道,当你从远程计算机上拷贝文件到自己的计算机上时,我们称为“下传”(downloading)文件; 当你从自己的计算机上拷贝文件到远程计算机上时,称为你“上传”(uploading)文件。 如果你不明白的话,就请想象有一台远程计算机悬浮在你头上的天空之中,“up”就是远离你,“down”就是朝向你。

   当我们谈论FTP时,我们使用和Telent相同的术语。你的计算机叫做本地主机,别的计算机叫做远程主机。在Internet语言中,我们说这个ftp客户机程序允许你向远程主机发送或接收文件。

   当使用ftp程序时,你录入ftp命令和你想要连接的远程主机的地址。一旦程序开始,你就可以录入命令,来回拷贝文件。当你使用ftp时, 有很多命令你都可以使用。例如,你可以查询远程计算机上的目录,并且可以变换目录。   

  二、FTP的工作原理  

   FTP也是基于C/S模式而设计的。在进行FTP操作的时候,即需要客户应用程序,也需要服务器端程序。我们一般先在自己的计算机中执行FTP客户应用程序,在远程服务器中执行FTP服务器应用程序,这样,就可以通过FTP客户应用程序和FTP进行连接。连接成功后,可以进行各种操作。在FTP中,客户机只提出请求各接收服务,服务器只接收请求和执行服务。

   在利用FTP进行文件传输之前,用户必须先连入INTERNET网中,在用户自己的计算机上启动FTP用户应用程序,并且利用FTP应用程序和远程服务器建立连接,激活远程服务器上的FTP服务器程序。准备就绪后,用户首先向FTP服务器提出文件传输申请,FTP服务器找到用户所申请的文件后,利用TCP/IP将文件的副本传送到用户的计算机上,用户的FTP程序再将接收到的文件写入自己的硬盘。文件传输完后,用户计算机与服务器计算机的连接自动断开。

   与其他的C/S模式不同的是,FTP协议的客户机与服务器之间需要建立双重连接:一个是控制连接,另一个是数据连接。这样,在建立连接时就需要占用两个通信信道。  

  三、匿名FTP简介   

   我们已经讲了,FTP允许你把文件从一个Internet计算机传递到另一个计算机上。但是,这里有一个基本的约束:如果你没有被正式授权的话,就不能进入计算机。习惯上讲,这就意味着你必须在那台计算机上登录。换句话说,你只有在有了一个用户标识和口令之后,才能在计算机上拷贝文件。

   匿名FTP是这样一种工具:作为用户,你本来不注册就不能和远程主机联系并“下传”文件,但是,这个管理系统提供了一个指定的的用户标识anonymous(匿名),在Internet上, 任何人在任何地方都可以使用它。

   你不能在没有提供这种匿名FTP服务的Internet主机上使用匿名FTP。

   你可以使用anonymous作为用户名,至于口令,你可以将你的电子邮件地址作为口令输入,但是在输入后不会在屏幕上回显。

   现在有很多的FTP匿名服务器,例如东方网景ftp://ftp.east.net.cn  

   ftp>open ftp.east.net.cn

   Connected to ftp.east.net.cn FTP server

   (Version 6.6 Wed Apr 14 21:00:27 EDT 1993) ready.

   Name (rtfm.mit.edu:harley): anonymous

   331 Guest login ok, send e-mail address as password.

   Password:tlfm@263.net

   230 Guest login ok, access restrictions apply.

   ftp> cd/pub/usenet/news.answers

   250 CWD command successful.

   ftp> dir(列出当前目录的文件)

   ftp> quit(或bye)

   221 Goodbye.  

  四、ASCII文件和二进制文件的传输

   一个文本文件(也叫做ASCII文件)由普通的字符、字母、数字、标点等等组成。二进制文件包含的信息不是文本的。例如,如果你想“下传”包含图像的文件,你就涉及二进制文件了。在一般情况下,ftp程序都认为它是在对文本文件进行操作, 如果你想“下传”二进制文件,你就应该在录入get或mget命令之前告诉程序。 binary命令告诉ftp程序你将要“下传”二进制文件。 如果你要换回来, ascii命令就表示你将要“下传”文本文件。  

  例如:   

  ftp>binary (标明要传输一个二进制文件)

  200 Type set to I (I代表“image”或者“二进制”)

  ftp>put program.exe (上传一个可执行文件)

  ftp>ascii (标明要传输一个文本文件)

  200 Type set to A (A代表“ASCII”或者“文本”)

  ftp>get help.txt (下载一个“文本文件”)   

  这里我们提供一些常用的文件类型以及相应的传输模式。 

  文件类型 传输模式

  文本文件 ASCII

  电子表格 二进制文件

  数据库文件 可能是ASCII,也可能是二进制文件

  字处理器文件 可能是ASCII,也可能是二进制文件

  程序源代码 ASCII

  电子邮件消息 ASCII

  PKzip压缩过的文件 二进制文件

  备份文件 二进制文件

  压缩文件 二进制文件

  BinHex或者uuencoded文件 ASCII

  执行文件 二进制文件

  postScript激光打印机文件 ASCII

  WWW(HTML)文件 ASCII

  图形文件 二进制文件

  声音文件 二进制文件
  

  五、FTP基本命令表

  1、基本命令

  quit关闭和远程主机的联系,终止ftp程序

  ?显示所有ftp命令表

  ?command显示一行指定的命令的概况

  help显示所有ftp命令表

  help command显示一行指定的命令的概况

  ! 本地主机:停止ftp,开始shell

  ! command本地主机:执行指定的shell命令连接

  open[host]与指定计算机建立

  2、连接

  close关闭和远程主机的连接,但保留ftp

  user[name[password]]设置用户标识

  3、目录

  cd[directory]远程主机:改变到指定的目录

  cdup远程主机:改变到主目录

  dir[directory[local-file]]远程主机:显示长的目录清单

  lcd[directory]本地主机:改变目录

  ls[directory[local-file]]远程主机:显示短目录清单

  pwd远程主机:显示当前目录名

  4、传送文件

  get[remote-file[local-file]]“下传”一个文件

  mget[remote-file...]“下传”多个文件

  5、设置选项

  ascii(缺省)把文件设置成ASCII文本文件

  binary把文件设置成二进制文件

  hash是/不:每传送一个数据块显示一个#号

  prompt是/不:传送多个文件的提示

  status显示选项的当前状态  

  六、客户端FTP应用程序的应用

   1、基于字符界面的FTP程序的使用

   可以通过启动WIN9X下的ftp.exe,然后用以上提到的一些实用命令。

   2、基于图形界面的FTP应用程序

  利用IE和Netscape Navigator都可以访问FTP站点。但两者是有区别的,IE只能从匿名FTP站点下载文件,但不能向其他FTP站点上载文件,而Netscape Navigator既可以用来从匿名FTP站点下载文件,又可以向你拥有帐号的FTP站点上载文件。但是还有许多基于WINDOWS界面的FTP工具。例如我们在传送个人网站到远程主机上时,可以借助于FTP工具(当然在你申请个人网站空间时,主程主机会给你一个账号,密码可自行设定)。这样的软件有很多CuteFTP3.0.27就是其中之一。

  七、文件的压缩和归档  

  有大量的工具用来压缩文件。在Windows平台上,WinZIP8.0和更早的工具pkzip是较常见的。在Macintosh上有Stuffit,UNIX上有一些工具如:compress和gzip。

  一般利用FTP传输文件,都是先将同一目录下的文件进行打包,成为*.tar文件,然后再进行压缩,成为*.zip,或者*.z文件。当你下载该文件后,先必须解压,再进行解包。

  如:在FTP站点上,有一目录PUB下十个文件,要让用户能够一次性下载这十个文件,先打包成files.tar,打包后的文件大小并没有改变,要节省存储空间,和提高传输速度还必须进行压缩,压缩后该文件成为files.tar.z

  当客户端下载该文件后,利用工具先解压缩,成为files.tar,再利用工具将打包的文件解开,成为当初的十个文件。

  一般在UNIX系统中,利用tar进行打包和拆包操作

  打包用命令:tar -cf files.tar “所要打包的目录”

  拆包用命令:tar -xf files.tar

  利用compress和uncompress进行压缩和解压缩处理。  

  在windows平台下,打包和压缩是同时处理的。例如winZIP就是这样。

标签: