<P>一、FTP简介 </P>
<P> “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的工作原理</P>
<P> FTP也是基于C/S模式而设计的。在进行FTP操作的时候,即需要客户应用程序,也需要服务器端程序。我们一般先在自己的计算机中执行FTP客户应用程序,在远程服务器中执行FTP服务器应用程序,这样,就可以通过FTP客户应用程序和FTP进行连接。连接成功后,可以进行各种操作。在FTP中,客户机只提出请求各接收服务,服务器只接收请求和执行服务。
在利用FTP进行文件传输之前,用户必须先连入INTERNET网中,在用户自己的计算机上启动FTP用户应用程序,并且利用FTP应用程序和远程服务器建立连接,激活远程服务器上的FTP服务器程序。准备就绪后,用户首先向FTP服务器提出文件传输申请,FTP服务器找到用户所申请的文件后,利用TCP/IP将文件的副本传送到用户的计算机上,用户的FTP程序再将接收到的文件写入自己的硬盘。文件传输完后,用户计算机与服务器计算机的连接自动断开。
与其他的C/S模式不同的是,FTP协议的客户机与服务器之间需要建立双重连接:一个是控制连接,另一个是数据连接。这样,在建立连接时就需要占用两个通信信道。</P>
<P>三、匿名FTP简介 </P>
<P> 我们已经讲了,FTP允许你把文件从一个Internet计算机传递到另一个计算机上。但是,这里有一个基本的约束:如果你没有被正式授权的话,就不能进入计算机。习惯上讲,这就意味着你必须在那台计算机上登录。换句话说,你只有在有了一个用户标识和口令之后,才能在计算机上拷贝文件。
匿名FTP是这样一种工具:作为用户,你本来不注册就不能和远程主机联系并“下传”文件,但是,这个管理系统提供了一个指定的的用户标识anonymous(匿名),在Internet上, 任何人在任何地方都可以使用它。
你不能在没有提供这种匿名FTP服务的Internet主机上使用匿名FTP。
你可以使用anonymous作为用户名,至于口令,你可以将你的电子邮件地址作为口令输入,但是在输入后不会在屏幕上回显。
现在有很多的FTP匿名服务器,例如东方网景ftp://ftp.east.net.cn</P> 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文件和二进制文件的传输
<P> 一个文本文件(也叫做ASCII文件)由普通的字符、字母、数字、标点等等组成。二进制文件包含的信息不是文本的。例如,如果你想“下传”包含图像的文件,你就涉及二进制文件了。在一般情况下,ftp程序都认为它是在对文本文件进行操作, 如果你想“下传”二进制文件,你就应该在录入get或mget命令之前告诉程序。 binary命令告诉ftp程序你将要“下传”二进制文件。 如果你要换回来, ascii命令就表示你将要“下传”文本文件。</P>
<P>例如: </P>
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(下载一个“文本文件”)
<P>这里我们提供一些常用的文件类型以及相应的传输模式。
</P>
文件类型传输模式文本文件ASCII电子表格二进制文件数据库文件可能是ASCII,也可能是二进制文件字处理器文件可能是ASCII,也可能是二进制文件程序源代码ASCII电子邮件消息ASCIIPKzip压缩过的文件二进制文件备份文件二进制文件压缩文件二进制文件BinHex或者uuencoded文件ASCII执行文件二进制文件postScript激光打印机文件ASCIIWWW(HTML)文件ASCII图形文件二进制文件声音文件二进制文件
<P>五、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显示选项的当前状态 </P>
<P>六、客户端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就是其中之一。</P>
<P>七、文件的压缩和归档</P>
<P> 有大量的工具用来压缩文件。在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进行压缩和解压缩处理。</P>
<P> 在windows平台下,打包和压缩是同时处理的。例如winZIP就是这样</P>