第六节 FTP文件传输

§6-6-2 FTP传输的几种使用方式

在windows终端窗口下使用
    
在windows终端窗口(windows XP的命令提示符)下输入命令行: ftp.xjtu.edu.cn或输入IP地址ftp 202.117.1.24即可进入ftp操作界面
图6-6-1 ftp登录界面之一


    当ftp程序开始后,它将把你所想连接的远程主机联系起来。 当这种联系建立后(如果远程主机较远的话,这种联系要花一些时间),你将看见下面的信息显示出来:
Connected to ftp.xjtu.edu.cn
220 ftp.xjtu.edu.cn FTP server ready.
user (ftp.xjtu.edu.cn:(none)):
    第一行信息告诉我们联系已经成功了。注意,我们联系的远程主机名实际上是ftp.xjtu.edu.cn.这是因为ftp.xjtu.edu.cn名字又叫 ftp server。
在匿名FTP中这种别名是很普遍的。这是因为它们使用易记住的名字,另外,系统管理员为了不弄错用户而可以灵活地改变计算机。例如,如果系统管理员认为有必要用不同的计算机来进行FTP ,他可以不必告诉每一个用户这种变化。这样,他要做的只是确保地址ftp.xjtu.edu.cn换在新的计算机上。
    第二行如下所示:
220 ftp.xjtu.edu.cn FTP server ready..
    这行告诉我们FTP服务器的名字以及这个服务器所用的FTP软件的版本号。
注意这一信息的开头有一个数字220,在FTP中所有的信息中都是以这样的数字开头的,没有办法去掉它,但这些数字是不重要的,你可以不管它。这些数字向你显示,这些信息确实是从远程服务器上传送来的。而没有用这个数字开头的行是来自ftp客户机程序。
最后,让我们看看最后一行的信息:
user (ftp.xjtu.edu.cn:(none)):
    这是我们的ftp客户机程序要求的,就是问我们想要用什么用户标识去登录名叫ftp.xjtu.edu.cn的计算机.
    如果你键入回车键,ftp 程序将用缺省的用户标识传送到远程主机。在大多数情况下,你希望用anonymous登录远程主机,简单地录入这个名字并回车:
anonymous
    你将看见如下显示:
图6-6-2 ftp登录界面之二


    FTP服务器已认可用户标识anonymous, 现在你可录入你的电子邮件地址作为口令。如果一些FTP 服务器认为你的口令不像是正确的地址,就不允许你登录。一些FTP服务器要检查你的口令,看它是否像你的真正的邮件地址。 如果不对,你将被拒绝进入某个公共目录(你也许根本不知道发生了什么)。
    当你键入批准的用户标识和口令,你将看见下面一行显示出来的信息:
图6-6-3 ftp登录界面之三


    这就意味着你正式可以登录,可以使用匿名FTP提供的资源了。
    第二行,ftp>,是你的ftp客户机程序的提示符。 当你看见这个提示符,你就可以录入一个ftp的命令了。我们将在这章的后面讨论各种命令,到时我们将向你显示“下传”一个文件时匿名FTP的整个过程。
    现在,我们只想提到两个命令:显示所有ftp命令的清单,键入“?” ;结束FTP,使用“quit”。
    最后一点我们想谈谈当你的FTP客户机不能与远程主机相联系时是什么原因。 如果发生下述情况,可能有三个方面的原因
首先,FTP服务器可能暂时无法使用。在这种情况下,我们将看见:
ftp>connect:Connection refused
第二,与远程主机相连的网络可能不起作用了。这种情况也可能是主机连上的网络有问题,或这个主机本身没有工作。像这种情况,我们将看见如下信息:
ftp>connect: Host is unreachable
最好的解决办法是再重新连一遍。
最后一种情况是你的地址写错了。例如,你想从ftp.xjtu.edu.cn上“下传”文件,但你却录入了错误地址:
ftp ftp.xjtu.edu.cn
    你将看见下面的信息显示出来:
图6-6-4 ftp登录失败原因之三


    这时,你可以录入另外一个名字的主机(我们将在下一节里向你介绍) ,另外,你可以用quit命令终止程序。
图6-6-5 ftp退出


    上面显示的"unknown host"容易让人误解。在这里,你的FTP客 户机不能与远程主机相联系的原因有很多,两种最普遍的原因是:
1.你把计算机的地址拼写错了。
2.你指定的计算机名字在Internet上不存在。
一但你登录到FTP服务器上以后,
    当一个目录包含着其它一个目录,我们就叫这第二个目录为次级目录 ( sub- directory ), 有时, 把第一个目录叫做主目录或叫根目录( parent directory),次级目录叫做子目录(child directory)。
    每一个Unix计算机系统都有一个包括系统中的所有次级目录和文件的主目录,这个主目录称作根目录。在根目录下有很多的次级目录,这些次级目录下又有另一些次级目录,以此类推。
图6-6-6 根目录列表(一)
图6-6-7 根目录列表(二)
图6-6-8 根目录列表(三)
图6-6-9 根目录列表(四)

在我们的例子中,pub是根目录下的子目录;linux是pub目录下的子目录;office是 linux目录下的子目录,而Koffice是 office目录下的子目录。
    如果你要画一个这个系统的图,它就像一棵树一样,有树枝和更小的树枝长在一个主树干上,这个主树干就叫做根目录。
    当我们写一个子目录名时,必须首先从根目录开始,然后要表示出所经过的所有目录,直到最后的树枝。明白这些后,你只需要记住两件事。
    首先,根目录用一个简单的符号“/”表示,我们不用“root”这个单词;第二,我们用相同的符号“/”来分开一个目录名和另一个目录名, 如这个名字 /pub/linux/office,用文字描述一下就是“从根目录开始,然后进入pub子目录,接着进入 linux 子目录, 最后进入 office子目录”。
    当你使用Unix操作系统时,你就想像自己是置身于一个目录树中,正在运行的目录叫做你的工作目录或当前目录。你使用适当的命令,就可以从一个目录移动到另一个目录(这就像从树上的一个树枝移到另一个树枝上),你将发现,当你“下传”一个包含在某目录中你想要的文件以前, 移到该目录是很方便的。
    正由于这种方便,我们能够按照目录顺序描述一个文件所在的位置。 例如,我们想告诉一个朋友,linux讨论组在FAQ表中的位置。 我们就要这样告诉他,FTP到ftp.xjtu.edu.cn中, 拷贝文件 /pub/linux/office/koffice/t20_tar.gz。
目录名被"/"字符分开,就描述为路径或路径名, 这样, 为了在 Internet上FTP一个文件,你必须知道:(1)包含这个文件的匿名FTP主机的名字;(2)文件的路径名。如果你看一下这本书《附录》, 你就会发现许多Internet资源都是用这种方法描述的。
ftp命令概述
当你录入了ftp命令并和远程主机建立了联系,你将看见这样的提示符: ftp>
有了这个提示符,你就可以录入ftp命令了(ftp命令有很多)。FTP客户机程序将把你的所有命令送入FTP服务器,FTP服务器将响应你的请求。这就是说,你录入一个又一个命 令,直到你达到了你的目标(也就是说“下传”了文件),然后录入quit命令终止FTP程序。任何时候,你可以录入?或help来显示所有的ftp命令,图12 -1包含着所有命令。(不要为你的ftp客户机没有所有这些命令而担心,一般你的客户机包含了一些最重要的命令。)如果你想看一下一个指定的命令的概况,录入?(或help)和命令名。
图6-6-10 帮助命令

例如,如果你录入
? quit
你将看见:
图6-6-11 ?quit命令显示


ftp > 提示符后,你可以录入?或help, 它将显示出FTP服务器 所识别的所有可能的命令的摘要,摘要如下。
命令可能是缩写,这些命令是:
!crmacdefproxysend
$ delete mdelete send portstatus
account debug mdir put struct
append dirmget pwd sunique
asciidisconnect mkdir quit tenex
bell8form mlsquotetrace
binary getmode recv type
bye glob mput remotehelp user
case hash nmap rename verbose
cd help ntrans reset?
cdup 1cdopen rmdir
close1s prompt runique

你可能会惊奇,难道我真的要学会使用所有的命令吗?这个回答是否 定的。对于常用的匿名FTP程序来说,你只需要会使用图12 -2所列的命令就行了,我们将在下面讨论这些命令。
当你想结束一个正在执行的ftp命令时,按 CTRL-C。
基本命令
quit关闭和远程主机的联系,终止ftp程序
?显示所有ftp命令表
?command显示一行指定的命令的概况
help显示所有ftp命令表
help command显示一行指定的命令的概况
! 本地主机:停止ftp,开始shell
! command本地主机:执行指定的shell命令
连接
open[host]与指定计算机建立连接
close关闭和远程主机的连接,但保留ftp
user[name[password]]设置用户标识
目录
cd[directory]远程主机:改变到指定的目录
cdup远程主机:改变到主目录
dir[directory[local-file]]远程主机:显示长的目录清单
lcd[directory]本地主机:改变目录
ls[directory[local-file]]远程主机:显示短目录清单
pwd远程主机:显示当前目录名
传送文件
get[remote-file[local-file]]“下传”一个文件
mget[remote-file...]“下传”多个文件
设置选项
ascii(缺省)把文件设置成ASCII文本文件
binary把文件设置成二进制文件
hash是/不:每传送一个数据块显示一个#号
prompt是/不:传送多个文件的提示
status显示选项的当前状态
基本的ftp命令
我们把ftp命令分成几种类型。
    首先,是基本命令。 我们已经介绍了 quit,?和help命令(这一命令与?相同)。
另外一个基本命令是!(惊叹号),这个命令使用在Unix操作系统上 是录入一个正规命令行到你的本地计算机,简单地在!之后录入命令,然后按回车键,这个ftp程序就运行起来,把这个命令送入你的Unix shell 执行。这个命令执行完后,ftp程序将恢复控制并且重新显示它的提示符。
这里有一个例子。我们想在你的本地系统上用Unix的date命令来显示时间和日期。在ftp>提示符后,我们录入!date。当date命令执行后,我们将回一个ftp>提示符:
ftp > ! date
Thu Jun 17 23:11:19 PDT 1993
ftp > 
如果你想录入不只一个Unix命令,你可以只录入!字符:
ftp > !
这个ftp程序将运行起来,开始一个新的shell。你现在可以录入你想要执行的任何一个Unix命令。当你执行完后,终止 shell,ftp程序将恢复控制。对于多数shell,你可以录入CTRL-D来终止shell。如果这样不能完成,试着用exit命令来终止这个shell。
ftp的连接命令
     第二类ftp命令是控制和远程主机联系的命令:open、close和user。 我们已经介绍过open命令了,你能用它来建立FTP连接。
close 命令将终止FTP连接,但不终止ftp程序。当你想关闭一个连接,再打开另一个连接时,你就可以用close命令。
如果你和一个远程主机连接成功了,但是你的用户标识和口令却是错误的,你可能失去,也可能不会失去这次连接(这依赖于你所使用的FTP服务器)。如果你没有失去这种联系,你就只有在指定了一个有效的用户标识和口令后才能正常工作。想这样做,就要使用user命令。简单地录入:
user
ftp程序将问你要进入的用户标识和口令,如果你想进入,就要直接指定信息:
user anonymous xumng@ftp.xjtu.edu.cn
在这里,我们指定的用户标识是anonymous,口令是ftp.xjtu.edu.cn。
ftp的目录命令
    第三类ftp命令是你能从一个目录移动到另一个目录,并且显示该目录的内容。正如我们曾解释过的,你正在工作的目录叫做工作目录(或当前目录)。当你建立了一个FTP联系后,你可以跟踪两个工作目录:一个在远程主机上,一个在你的本地计算机上。对于大部分匿名FTP主机来说,你开始就自动地位于根(最高级)目录上,要移动到别的目录上, 就用cd(改变目录)命令。录入这个命令名,后面跟你想移动到的目录的名字,然后按回车。例如,如果你想移动到名叫 /pub/usenet/news/answers的目录下,录入:cd/pub/linux/office
如果你了解Unix操作系统,你就可以用单个的cd命令,每一次移动到一个目录下。例如:
cd pub
cd linux
cd office
然而,你需要使用cd命令的这种技巧超出了本书的范围,详细内容请参看关于Unix操作系统方面的书。
有时,我们可以用pwd (显示工作目录)命令来显示你的远程主机工作目录的名字。例如,如果你录入
pwd
你将看见类似下面的信息显示出来:
257 "/pub/linux/office" is current directory
(请记住,FTP服务器的信息总是以一个数字开头。)
这时,你将看见一个与你预料不相同的目录名。例如,在ftp.xjtu.edu.cn系统中,如果你用录入pwd命令来移动到/pub/linux/office 目录下,你实际上将看见:
257 "/pub/linux/office" is current directory.
这不是出错了。这意味着系统管理员给了第二级目录两个不同的名字: linux和usenet-by-group。在这种情况下, 你可以用你用的那个名字。 "usenet-by-group"这个名字更详细,而usenet这个名字更容易书写。
在 Unix 操作系统中,“print”(打印)这个词的意思常常是“display”(显示)。这样,pwd(显示工作目录)命令的功能就是显示你的工作目录名。这个传统说法使我们回到 Unix早年的时代,当时终端实际上是把它们打印在纸上。
当你录入ftp命令时,你的本地计算机上的工作目录是你碰巧所在的目录。 当你“下传”文件时,文件将放在这个目录中。如果你想把你的文件移入别的目录,你就要在开始“下传”文件以前用lcd 命令移动到别的目录。例如:
lcd faq-files
这个命令就使你的本地工作目录变为faq-files。 你将再次发现多看 一些Unix书中的信息是有用的。
在ie浏览器窗口中访问FTP
    如同在浏览器里浏览网页一样的简单,只要你输入相应的地址,注意此时用的协议不再是http协议,而是ftp协议,如:ftp://ftp.xjtu.edu.cn这样就可以进入网站目录了,其目录如同本地硬盘上的一样,是一些可见的文件包。如果我们要登录该ftp服务器(默认是匿名的)单击右键,选择“登录”然后再输入用户名以及密码,即可。
图6-6-12 匿名登录
图6-6-13 授权用户登录


7上一页  1 2 下一页8