徐小玉的博客。
分类: LINUX
2007-08-21 17:55:24
FTP 简介
一、FTP概述
尽管Telnet提供了访问远程文件的极好方法,但怎么也比不上使用自己计算机中的文件方便。如果用户想使用其它计算机上的文件,最理想的方法就是把它COPY到自己的计算机中,以便在本地计算机上操作。那么用什么方法去将远程计算机中的文件获取过来呢?FTP正是完成这项工作的工具。
FTP以它所使用的协议:文件传输协议(File Transfer Protocol)来命名的。正如其名所示:协议的任务是从一台计算机将文件传送到另一台计算机,它与这两台计算机所处的位置、联系的方式、以及使用的操作系统无关。假设两台计算机能与FTP协议对话,并且能访问INTERNET,就可以用FTP软件的命令来传输文件。对于不同的操作系统具体操作上可能会有些细微差别,但是其基本的命令结构是相同的。
FTP是个非常有用的工具,你可以在任意个可经FTP访问的公共有效的联机数据库或文档中找到你想要的任何东西。全世界现在已有1000多(96年的数据)个FTP文件服务器对所有INTERNET用户开使用,用户可以通过与INTERNET相连的计算机,把自己需要的文件传输过来。
FTP采用“客户机/服务器”方式,用户端要在自己的本地计算机上安装FTP客户程序。FTP客户程序有字符界和图形界面(如)两种。首先我们将研究在字符界面上如何在已有帐号(注册名和口令)的两台计算机之间传送文件,其次我们将讨论“匿名FTP”,它是一特殊服务,允许用户在没有帐户的情况下,访问公共FTP数据库。大多数公共数据库提供了匿名FTP路径,这意味着用户即使没有注册名也可以得到很多的免费文件。
二、如何连接
首先,我们将考虑如何在已有帐户的两台计算机间传送文件。用户在本地计算机上运行FTP客户程序时,像TELNET一样,FTP需要指定将要交换文件的计算机,这可以用以下的命令来完成:
C:\windows\ftp 远程主机名
远程主机为用户要连接的计算机,这就开始了FTP程序,且连接到了这名字的远程主机上。当有的系统不能处理某些域名地址时,可以使用远程主机的IP地址,如202.38.184.82。远程计算机可是INTERNET上的任一主机,不管其操作系统为UXIN、NT、MACINTOSH,还是DOS系统。
当FTP作好与远程计算机的连接后,要求输入注册名和口令,下面是一个连接实例:
c:\windows\ftp noya.bupt.edu.cn
220 noya FTP srver(UNIX System V Release 4.0) ready.
Name(noya:mzw):mzw
Password:
230 User mzw logged in.
ftp>
远程主机如果是DOS和Macintosh这样的系统,FTP可能只需键入注册名,因为这类操作系统上没有口令安全保护。这些计算机上,避免不必要的存取,通常由中止FTP的服务软件来处理的。
如果你在NAME的光标处回车,FTP将发送你在本地系统使用的注册名。在上面的例子中,本地系统的名字和缺少的注册名字显示在括号中(noya: mzw)。作为捷径可以键入回车来代替全名。像本地注册一样,你使用的注册名确定了你可以访问哪些远程文件。请记住你必须使用登录远程系统的注册名和口令。远程系统接受你的注册名和口令后,你随时可以开始传输文件。FTP显示ftp>提示符提示你进一步的命令。
三、FTP主要功能
1.传送单个文件
FTP可在两个方向传输文件。它可在本地计算机上取一文件将它送到远程计算机上,或者在远程计算机上取一文件将它放在本地计算机上。这可由get、put命令来实现。
get命令
get是把远程主机上的文件获取到本地来,用如下格式:
ftp> get 源文件 目标文件
源文件是用户要COPY的远程计算机上文件的名字,目标文件是用户要在本地创建的名字。目标文件名字是任意的,如果省略不要,COPY的名字将同源文件的名字。在以下的例子中,我们以guest为用户名登灵到tech.bupt.edu.cn主机上,将help.txt文件从noya.bupt.edu.cn中获取过来:
c:\windows\ftp noya.bupt.edu.cn
connected to noya.
user: guest
331 password:
230 User guest logged in.
ftp> get help.txt
200 PORT commadn successful.
150 ASCII data connection for comments.
226 ASCII Transfer complete.
1634 bytes recevied in 0.052 seconds (30Kbytes/s)
ftp> quit
221 Goodbye.
put 命令
put是把本地的文件送到远程主机上,其格式与get命令的格式相同:
ftp>put 源文件 目标文件
2.多文件的传输
我们前面讨论的get和put命令一次只能传输一个文件。有时,如果想一次传输多个文件,可用mput、mget命令来实现。格式如下:
ftp> mput 文件名列表
ftp> mget 文件名列表
3.FTP中的目录
在FTP中,涉及的两套目录:你的本地目录和远程计算机的目录,在远程主机上改变目录可用如下命令:
ftp> cd 目录名
该命令工作起来与通常SHELL的CD命令一样,不同的是它只在远程计算机上有效。这些可以总结如下:
当不能确定当前所处的目录时,可以用pwd命令来查看自己的位置。
ftp> pwd
lcd命令的规则同UNIX的CD命令一样,但它改变的是本地计算机的目录。
四、FTP命令总结
ascii | 进入ASCII方式,为传输文本文件用。 |
binary | 进入二进制方式,为传输二进制文件用。 |
cd 目录名称 | 改变远程计算机的工作目录。 |
close | 结束FTP与远程计算机的会话,并且返回FTP命令状态。运行close命令后,用户可以与一新的系统连结,或者从FTP中退出。 |
delete 文件名 | 删除远程系统中指定名的文件。 |
dir 目录或文件 | 在远程计算机上,列出全部目录或文件。 |
hash | 当每次用get或put命令传送一个数据块时,让FTP显示一个#。在用户不确信网络是否工作时有用。这给你一看得见的确定数据在传输的信号。当传输很大的文件时,如果FTP已显示这种信息,表示传输正在进行。hash命令是一个布尔变量式的命令,用hash命令打开显示#开关,再用hash命令关闭显示。 |
help 命令 | 显示出关于此命令的一段帮助文字。 |
lcd 目录 | 在本地计算机上将缺少目录改变为指定的目录。 |
ls | 在远程计算机上列出一短的目录,参数与dir的相同。 |
mget 文件列表 | 从远程计算机上获得多个文件。文件列表可以是一列用空格分开的文件名。或者经常带有表达任意文件的*和表达此位置上的任意东西的?的匹配类型结构。 |
mput 文件列表 | 将多个文件传送到远程计算机上。 |
open | 连接到指定的计算机上,如果你从某个系统传输完文件后,想连接到一新的系统上,这时是有用的。你必须首先关闭(close)原来的连接。 |
prompt | 使用mget或mput时,promput命令让FTP在传输每个文件前提示你确定一下。这样防止覆盖已有的文件。当发了promput命令时如果已经启动了提示,FTP将把提示关掉,此时再传输所有的文件时,没有任何提问。 |
pwd | 显示远程当前目录的名字。 |
lcd | 显示本地计算机当前目录。 |
quit | 关闭当前打开的所有连接,并退出FTP。 |
user | 将用户名发送到远程计算机来登录,当没有正确地输入用户名和口令时,可使用此命令。它可以不用关闭当前连接。 |
! | 在UNIX系统中,当运行FTP时,可不退出FTP,直接运行!后键入的UXIN命令。 |
CTRL+C | 中断FTP命令。 |
五、匿名FTP
迄今为止,我们所讨论的都是在与已有帐启的计算机间传送文件,用户如想传送文件必须在此计算机上注册名和口令,这对用户和远程主机管理人员都将是麻烦的,匿名FTP(anonymous FTP)可超过此限制。它允许没有注册名和口令的用户以anonymous或FTP用户登录来访问计算机上的某些文件,当然,会有很大的限制。匿名用户一般只能获取文件,不能在远程计算机上建立新文件或修改已存在的文件,并且对可以COPY的文件也有严格的限制。并且anonymous不能访问INTERNET上所有的主机,只能访问提供此服务的主机。
当匿名FTP启动时,有一称作anonymous或FTP的特殊注册名。如果开启FTP,连接到某一远端计算机上,并以anonymous或FTP作为注册名,FTP可接受任何字串作口令。但一般要求用电子邮件的地址作为口令,这样服务的管理员知道谁在使用那些匿名FTP用户所特别许可的文件。许多FTP文档是由学校或公司的个人非正式经营的,当用户登录时,他们会要求用户限制访问数据的数量或者限制每天访问数据的时间。这些在你首次进入时会显示出来,请遵守这些规定,以免引起不必要的麻烦。
登录到匿名FTP服务器之后,可以多次使用cd和dir命令查看可以获得的资料信息。许多FTP服务器一般把anonymous用户能访问的文件放在pub目录下。许多目录都含有readme文件,阅读这些文件可以看一个对该目录所包含内容的解释。一些新的FTP服务器不论你何时进入一目录都自动地在你的终端上显示一文件,你可能一次次地看到。这一特点是很有用的,它使你省去了不得不寻找readme文件。在列出文件来看看是否有想要的东西后,把想要的文件COPY到本地计算机中。
匿名FTP除不需要口令外,其它功能与操作像标准FTP一样。