用Archie检索匿名FTP文件


匿名FTP 能够取用人类积累的大量的公共信息,因为Internet上的任何人均可免费得到匿名FTP文件, 象上一章末尾所讨论的那样,任何人只要具备Internet邮件通道,均可得到匿名FTP 文件。

为了下传匿名FTP的文件,你必须知道文件放在什么地方。 实际上,你需要知道的是匿名FTP主机的地址和包含文件的目录名称。否则, 在匿名FTP这个广阔

世界里检索,路在何方?

路是有的,就是使用Archie——世界上最大的图书馆的卡片目录。

Archie是什么

在整个Internet,有一些称为Archie服务器的计算机,这些服务器提供很重要的服务——帮助你找到有特殊文件或目录的匿名FTP主机的名字。为什么使用Archie这个名字?是因为它听起来象“archive(文件、档案)这个单词。我们倾向于将Archie说成是一个人,至少是一个智能化的机器人。

当你想要检索一个匿名 FTP 文件或目录时, 你所要做的事情是告诉 Archie你要检索什么。Archie将进行检索,然后显示每一个包含有那份文件或目录的匿名FTP主机的名字。Archie还将详细地告诉你目录路径。 这样,你就可以轻易地从相应的FTP主机中取得你所需要的FTP文件。

使用Archie服务器有三种方法,本章将给予全部讨论。首先,你可以远程登录到Archie服务器,用Archie用户标识登录( 我们在第七章已解释过如何对远程主机登录)。

一旦登录,一个Archie程序将自动启动。你可每一次录入一个命令,告诉Archie你要检索什么,Archie就将检索其数据库然后显示结果。如果你不能确定要检索什么,Archie将提供另外一种称为“ whatis 的服务, whatis对上千个不同的程序、数据文件和档案资料进行了描述。

使用Archie的第二种方法是使用一个称为Archie客户机的程序,你告诉Archie 客户机程序你检索什么,客户机将自动连接一个Archie服务器,要求它完成检索,根据你的指示输出,并显示结果。一旦你懂得如何使用 Archie,使用Archie客户机就很容易并且很快。你不必象第一种方法那样进行远程通讯,也没必要记住该用什么Archie命令。

最后一种方法,你可以给任一个 Archie 服务器发送一个电子邮件, Archie将执行你的请求,并将结果邮回来。

Archie如何工作

从概念上讲,Archie的工作十分简单,每隔一段时间,特殊的程序连到每一个已知的匿名FTP 主机,然后下传所有公共文件完整的目录表。这些表存贮于称为Internet Archives Database(Internet档案数据库)中。当你要求Archie检索一个文件时,所要进行的全部工作就是对该数据库进行检索。

世界各地的各种Archie服务器都各自保持着对Internet上各匿名FTP 主机的跟踪。例如,Australian(澳大利亚)的Archie服务器就保持着对澳大利亚的匿名FTP 主机的跟踪。由于信息是共享的,所有Archie服务器都将尽可能保持最多数据。平均说来,大约一周检查一次各个匿名FTP主机。

在我们撰写本章的时候,Archie服务器将在1500个不同的匿名FTP 主机上跟踪两百多万个文件。这些文件数据量将达到几百个GB(gigabytes千兆)

Archie原先是作为加拿大蒙特利尔的McGill大学计算机学院的学生和教师自愿者开发的项目,软件是Alan Emtage和 Bill Heelan 在 Peter Deutsch的帮助下编写的。今天,Archie由加拿大蒙特利尔的 Bunyip Information System 公司经营。你可以发邮件到info@bunyip.com 与他们取得联系。

Archie服务器的使用

为了使用某个 Archie 服务器, 先对它进行远程登录, 然后使用“ Archie”用户标识登录(不需口令)。表13—1列出了Internet 用户所能得到的公众Archie服务器目录。例如,下面的命令

将对位于Rutgers大学的服务器进行远程登录:

telnet archie.rutgers.edu

你可以使用任何一个Archie服务器,但显然使用最靠近你的一个服务器会更快一些。

通常,对一个Archie服务器而言,能够对其同时进行远程登录的人数是有限的。如果最近的一个Archie服务器正繁忙,可以用远的一个,或等一会再试。

一旦用"archie"登录到服务器,你会看到一些欢迎使用方面的信息,然后出现下面的提示:

archie>

这时Archie服务器就为接受命令作好了准备。要停用Archie,可录入 quit命令。用help命令可显示帮助信息(后面将详细讨论有关 help命令的内容,因为有些细微差别。)

使用Archie工具时分三步:首先按你喜欢的方式把问题提出来,然后进行实际的工作,最后退出。

下面是一些Archie服务器的地址:
位置Internet地址IP
地址

 

Austriaarchie.edvz.unilinz.ac.at140.78.3.8

Austriaarchie.univie.ac.at131.130.1.23

Australiaarchie.au139.130.4.6

Canadaarchie.uqam.ca132.208.250.10

Englandarchie.doc.ic.ac.uk146.169.11.3

Finlandarchie.funet.fi128.214.6.102 

Germanyarchie.thdarmstadt.de130.83.22.60

Israelarchie.cs.huji.ac.il132.65.6.15

Japanarchie.wide.ad.jp133.4.3.6

South Koreaarchie.sogang.ac.kr163.239.1.11

Spainarchie.rediris.es130.206.1.2

Swedenarchie.luth.se130.240.18.4 

Switzerlandarchie.switch.ch130.59.1.40

Taiwanarchie.ncu.edu.tw140.115.19.24

USA:Marylandarchie.sura.net128.167.254.179

USA:Nebraskaarchie.unl.edu129.93.1.14

USA:New Jerseyarchie.internic.net198.49.45.10

USA:New Jerseyarchie.rutgers.edu128.6.18.15 

USA:New Yorkarchie.ans.net147.225.1.10

表13—1Archie公共服务

用Archie服务器设定变量

为了控制你的工作环境,你可以改变称作variables (变量)的值。每一个变量有一个 名字和一定的值。 你可以通过改变某个特定变量的值以告诉Archie想让某件事如何进行。

例如,通过设定sortby变量,可以指定将检索结果按要求进行分类。录入 show命令,可检查所有变量当前的值:

show

如果只想显示某单个变量的设置,可在show后面指定变量名字,例如:

show sortby

图13—1显示了来自show命令的典型输出结果(现在,不必担心所有变量的含义,过一会我们就将解释几个最重要的变量)。

 

 #‘autologaut'(type numeric)has the value `15'.

`compress'(type string)has the value `none'.

`encode'(type string)has the value `none'.

`language'(type string)has the value `english'.

`mailto'(type string)is not set.

`maxhits'(gype numeric)has the value `100'.

`output-format(gype string)has the value `verbos'.

`pager'(type booleam)is set.

`search'(type string)has the value `exact'.

`sortby'(type string)has the value `time'.

`status'(type boolean)is set. 

`tmpdir'(type string)has the volue ` ltmp'

`term'(type string)has the value`vt100 24 80'

`max split size'(type numertic)has the value`51200'.

`server'(type string)has dthe value`archie.rcltgers.edu'.

    图13—1由Archie的Show命令产生的典型输出 

开始Archie对话最好的途径是用show命令,先花点时间检查一下几个重要的变量,查看它们的设置是否满足要求,如果不满足,就用set 命令将其改变(稍后描述)。一旦按自己的想法准备好了一切,就可以录入命令告诉Archie检索你想要的文件。

在用Archie进行检索之前,先确认几个最重要的变量是按自己要求的方式设置的。这些变量(下面将具体讨论)是:maxhits, output- format ,pager,search,sortby和status。对search命令要特别加以注意。此外,如果你打算让Archie的检索结果以邮件的方式发回,请设置好mailto变量。

从图13—1中可以看出,有三种类型的变量,它们是:布尔型, 数字型和字符串型。

布尔变量(boolean variable)是用作为on/off 的触发开关 ( 单词“ boolean”是为纪念19世纪英国数学家George Boole而得名的)。为使布尔变量为on,用set命令,使布尔变量为off,则使用unset命令。

Archie仅有两个布尔变量:pager和status。pager决定Archie以何种形式显示其输出结果。当设置pager时, 检索结果将送到一个指定的称为 paging的程序,该程序将结果一次一整屏显示。当不设置pager时, 所有结果将连续不断地显示在屏幕上。在大多数情况下,这种显示的结果将只留下最后的一部分信息,先前的信息将退出屏幕。因此一般情况下都应对 pager给予设置。如果以前没有设置好,你可用下面的命令自己设置:

set pager

在Unix中有三个常见的paging程序,它们是more,pg和less。Archie 服务器用less程序显示输出结果,因此less是你要掌握的分页程序。象很多Unix程序一样,关于less有众多的命令,幸运的是你仅需知道其中的两个命令就可以使用它:按SPACE键显示下页屏幕信息,按q( quit) 键返回 Archie状态。为便于参考,在本章末尾有一个关于最有用的less命令的速查表。

关于more程序其名字来源于这样的事实,即在输出的每一屏幕下面,程序都显示一个“more”字样。less程序更新一些,它是为替换more而开发出的,命名为less是个荒谬的评语。因为less程序实际比more程序提供了更多的功能,换句话说,"less才是更多"

另一个布尔变量status其内容就简单多了。当Archie完成一次检索,在屏幕的底部可以显示一状态行。当对status进行了设置时,Archie就显示这一行。如果对status没有设置,Archie就不显示这一行,通常你应当设置status,如果没有设置,可用下面的命令完成设置:

set status

变量的第二种类型是数字变量。就如名字暗示的那样,使用 set 命令可以给数字变量一个值。

对数字型变量你只需理解其中的两个:autologout和maxhits。

autologout变量是用来控制等待接受命令的最长时间,超过这个时间 Archie就将你自动注销。在我们的例子中,autologout(自动注销)的值是 15,它意味着如果过了15分钟你还没有录入一个命令,Archie就将注销并断开连接。用下面的命令可以将autologout设定为另一个值:

set autologout 25

可允许的时间范围是1——300分钟。

当使用Archie检索一个文件时,你常常会发现有许多,大概数百个匿名FTP主机包含有这个文件, 为了加快速度, 你可设置 maxhits 以缩小 Archie检索的范围。Archie一旦检索达到该数,就自动停止检索。例如: set maxhits 10

设置maxhits也许是你应该做的事情,因为大多数Archie 服务器的缺省值是一个大的数目(例如100),而你实际上, 只需要一个较好的主机名。

为节约时间,可将maxhits设置成10就开始检索,如果没有找到, 将 maxhits提高一点再试一次。

第三种变量是字符串变量(string variable), 这个名字意味着这些变量以一串字符的形式保存其变量值。 对于字符串变量你只需了解: mailto,output-format,search和sortby,其中最重要的是search。

mailto变量用来存贮一个邮件的地址,如后面所解释的那样,你可以用mail命令告诉Archie将检索结果以邮件方式发回。如果在发出mail命令之前设定好了mailto变量,那么Archie就知道将检索结果向什么地方发送。否则,在每次使用mail命令时,你都必须指定你的回信地址。

用set命令设置mailto变量,指定其地址,例如:
set mailto harley@fuzzball,uesb,edu

output-format变量是告诉Archie你喜欢用什么格式输出结果。有三种格式可以选择:

verbose,terse和machine。使用带变量名的set命令,后跟你的选择。注意在变量名中一定不要忘了加上“_”符号(下划线)

set output_format verbose
set output_format terse
set output_format machine

通常情况下你应选择verbose或terse格式( 稍后解释这两个格式的含义)。通过试用和选择你喜欢的一个。machine格式用于希望把检索结果发回自己,然后用Unix命令或程序处理原始结果。在本章的末尾将给出一个例子。

下面是关于某项检索结果分别经三种输出格式例子。 该结果是利用 Archie检索一个名为shoo-fly-pie的文件而获得的。用verbose 格式的输出格式如下:

 

    Host mthvax.cs.miami.edu(129.171.32.5)

    Last updated 09:32.17 Jun 1993

    Location:/recipes/ovo

    FILE-rw-r--r-- 1095 bytes 01:00 4 Dec 1991 shoo-fly-pie

用terse格式的输出结果如下:
mthvax. cs. miami. edu 01: 00 4 Dec 1991 1095 bytes/recipes/ovo/shoo-fly-pie

最后,以machine格式输出的结果如下:
19920103010000Z mthvax.cs.miami.edu 1095 bytes- rw- r- - r- -/recipes/lacto/shoo-fly-pie

下一个变量search用以告诉Archie在检索时如何进行模式比较。下一节将单独讨论该变量

sortby变量用以告诉Archie你希望以什么顺序显示检索结果,关于排序有如下几项选择:

set sortby none不排
set sortby filename以文件名按字母顺序
set sortby hostname以主机名按字母顺序
set sortby size按文件从大到小
set sortby time按时间从新到旧
在选项变量前面加一个字母r,则是告诉Archie以倒序排序。
set sortby rfilename按文件名字母倒序
set sortby rhostname按主机名字母倒序
set sortby rsize按文件从小到大
set sortby rtime按时间从旧到新
举例来说,每个文件或目录在最后一次被修改后都要记下修改的时间和日期。如果告诉Archie按时间从最新修改项开始输出并显示结果,则录入命令:
set sortby time
设定检索变量(search variable)
Archie具备的主要功能是按照所指定的模式对 Internet Archives Database(Internet档案数据库)进行检索。为了告诉Archie 开始一次检索,可以使用find或prog命令(本章后面讨论这两个命令)。在开始进行检索之前,应设置search变量以控制Archie按什么匹配形式进行检索。
有七种可能的设置,它们是:etact,sub,subcase,regex, exact  -sub,exact-subcase exact-regex。用set命令后面跟search 再加选择项可设置search变量。例如:
set search exact

设置成exact选项是完成一次基本的、直接了当的检索。 它告诉 Archie按完全一致方式检索你确定的名字,包括大写和小写字母。例如,如果要求 Archie按IBM-PC模式检索,则只匹配IBM-PC,而不匹配IBM-pc或ibm-pc。 你如果确实知道自己想要的是什么,那么这种形式的检索将是最快的且能得到最好的结果。

sub选项则是告诉Archie检索这样一种模式, 它把你的要求作为子字符串包括进去。例如,要求Archie检索PC和它的匹配IBM-PC,PC或PC-dos。这种设置也不区分大写或小写。因此PC也将匹配IBM-PC,PC-dos。

subcase设置除要区分大写和小写外,与Sub相同。选择这种设置时,PC 将匹配IBM-PC而不匹配IBM-pc。

regex选项允许你用一种称为regular expression 标准表达式的方式告诉Archie检索怎样的文件。在Unix中,regular etpression是作为一种简洁的方法来指定一般模式。例如,用regex选项告诉Archie 检索标准表达式PC$,,则它将去检索那些以PC字母结尾的名字。

标准表达式可以是复杂的,这里不打算讨论细节,如果想获得更多的信息,可用help set search命令查看(help命令将在本章后面作详细解释) 。

最后三种设置选项是exact-sub,exact-subcase和excct-regex,其意思是告诉Archie首先进行exact检索,如果没有发现, 再用第二项设置检索一次。例如:

set search exact-sub 这个命令是告诉Archie先精确地按照确定模式检索,如果失败,再把它当作子字符串检索一遍。

进行检索

为准备一次Archie检索,先用show命令检查设置,改变那些不能满足要求的设置,如果不能肯定要设置些什么,则用下面的命令:

    set mailto your-mail-address(你的邮箱地址)

    set maxhits 10

    set output-format varbose

    set pagerset search eact-sub

    set sortby time

    set status

用find命令可以完成一次检索,在find后面加上你要Archie定位的模式。例如:

 

    find shoo-fly-pie

    find rfc1325.txt

    find recipes.tar.z

另一个可能需要了解的命令是prog,它是find的同义词,在Archie初创时,其数据库原本用于保存计算机程序一类的信息。由于这个原因,进行检索的开始命令便叫作prog。

如今,Archie数据库中的信息包含各种各样的匿名FTP资源, 不仅有程序,更多的是各种文件、电子杂志、Usenet档案等你能想象到的各种信息。这样,开始检索的命令就由prog改为find。

然而,如果你所使用的Archie服务器采用的是旧版本的Archie软件,完成检索的命令可能不是find,在这种情况下,你将不得不代之以prog。

用CTRL-C可结束一次正在进行中的检索。

邮寄Archie检索结果:

一旦Archie完成一次检索,你会发现将检索结果发回给自己或某个别的人是非常有用的。为此,你必须录入mail命令:

mail

如果已经设置mailto变量,Archie就会知道将结果向什么地方发送。否则,在mail命令中还必须指定地址:
mail harley@fuzzball.ucsb.edu

如果要邮寄一个以上的Archie检索结果,则在检索之前,先设定 mailto是明智之举。

读取Archie服务器输出时所使用的命令

前面解释过,对pagr变量的设定是想告诉Archie用一个称为less的分页程序显示其输出。当用less显示输出时,一次显示一整屏,然后暂停,以等待下一个命令。

在这个时候,你可以按一下SPACE键以显示更多的信息。或按q键退出 less回到Archie例如,表13—2列出了在观看Archie 输出时可以使用的命令。对大多数命令来说,仅按一下命令键而不需按回车键。然而对/和?命令必须按回车键。

命令含义
SPACE向前走一整屏
q程序退出
RETURN向前进一行
nRETURN向前进n行
b向后退一整屏
y向后退一行
ny向后退n行
d向前(下)走半屏
u向后(上)走半屏
g走到第一行
ng走到第n行
G走到最后一行
P走到整个输出的n%行
/pattern向前按指定模式检索
?pattern向后按指定模式检索
n重复前面的检索命令
表13—2用less观看输出时可用的命令
使用Whatis数据库

如果你知道文件或目录的名字( 或一部分 ) , 就可用 find 命令对 Internet档案数据库进行Archie检索。然而,当你只知道想要什么而不知道单词时该如何办呢?

为了帮助这种情况,Archie具备第二种称为Software Description Database(软件描述库)的信息集。在这个库中包含有可以在匿名FTP档案库中找到数以千计的程序,文件和数据文件的简短描述(实际上, 比软件多得多)。

为在该库中进行检索,须使用whatis命令。在命令后面录入一个你想要的单词,Archie将对软件描述库进行检索,显示所有包含指定单词的条目。对每一个条目提供描述及文件名字。如果该描述看起来象自己想要找的,就可确切知道将要检索哪个文件。

这些条目从何而来的呢?每当一个人编写了一个匿名FTP文件时,他就向Archie的系统管理员发送一简短描述,Archie系统管理员就将这些描述放在软件描述库中。

因而,有一个潜在的因素限制了whatis命令的有效性,如果对方没有提供这种描述(许多文件是这样的),那么你在软件描述库中就找不到它,而且,与Internet Archives Database库不同,这个库不是定期更新,这样一来你可能会找到一个简短描述但在匿名FTP中不存在相应的文件。

尽管如此,当我们检索所要求的文件时,whatis仍是一个有力的工具,它为我们在黑暗中摸索节省了不少时间。(顺便说一下,whatis 这个名字来自Unix whatis命令,它也完成了联机Unix手册中whatis 命令相同的功能)。

这里有个使用whatis的例子,从中你会喜欢发现一些使用电话的有趣的东西,录入:

whatis phone

部分输出如下:

    dialup Maintain a database of phone service and use  cu( 1)

 to call them

    phone Multiuser real-time“talk”/program

    phone-k/phone another user.typing screen to screen

    phoneme Translate English words into their phonetic spellings

    ringback Implements a ring-back system that allows a  phone

 line that is mormally used as a voice line and a dial-out  dat

 a line to be used as a limited dial-in date and voice line.

    sys5-phone VAX-like Phone Utility for SysV

    telewords Telephone number to word conversion

    telno A telephone numbet permutation progrorn

如果你想试一下telewords程序,录入这样的命令find telewords 便可显示相应的匿名FTP所在的位置。

在这个例子中有几点需要说明,首先,注意到whatis命令是进行逐字母的检索。忽略大写和小写之区别。其次,你常会发现条目看似相象但实际上跟你要找的没什么关系。例如Pphoname程序即如此( 虽然看起来很有趣)。

最后,记住whatis命令并不对整个Internet档案库进行彻底的检索,它仅知道那些列入软件描述库中的条目。例如,在几个匿名FTP 主机中都有包含有用信息的名为telephone的目录,由于它们没有在软件库中描述,因而whatis不能够发现它们。

显示帮助信息

有几种方法可以让Archie显示帮助信息。首先,你可以用help命令显示其它有关命令的信息,具体做法是在help后面录入命令的名字。例如: help find
help set

显示包含所有命令的一个表,录入:
help?

如果对pager变量进行了设置,Archie将用less程序显示信息, 要结束显示可按q,一旦退出了less,会看到一个新的提示:
help>

这时你可以一个接一个地录入命令的名字以获得更多的帮助,如果不再需要帮助,简单地按一下回车键就会回到通常情况下的提示符:
archie>

该提示符接受一般Archie命令。

如果希望得到有关变量设置方面的帮助,可在help set后面录入变量的名字。例如:
help set search
help set pager
之后,信息将再一次用lsee程序显示。如果在这时退出,会看到如下的提示符:
help set>

这时可以一个接一个地录入变量的名字以获得更多的帮助。如果按回车键将回到help>提示符。 再按一次回车键会回到通常情况下的提示符。

archie>

在读完帮助信息后为了回到archie>提示符,你必须先按q(退出less),然后按回车键(也许按两次)。

学习Archie的另一个方法是阅读Archie 原正式文件。 下面说明 Archie文档是如何组成的。

所有Unix系统都带有包含每一个命令条目的联机手册。在任何时候都可以用man命令阅读某个摘要命令的档案。 通常将联机手册中的每一摘要条目当作一个page(页)(尽管很多条目远远超一页)。对编制软件的人而言,在一个手册页中解释软件是如何工作的是一件很平常的事。

Archie本身也包含有解释如何使用Archie服务器的文件,当然这个文件从你本地的计算机上是得不到的,但可以在使用 Archie 服务器时录入 manpage命令以获得这种信息。

manpage

这时Archie将显示出手册中页的内容,在使用help或mampage 命令之后,你可以将输出结果用mail命令邮回来。这是一个得到属于自己的正式 Archie服务器文件拷贝的好方法。

最后,我要提及另外三个信息命令。

每当你登录到Archie服务器时,会看到一些欢迎信息。事实上,很多公共Internet主机,例如匿名FTP主机,在登录时只显示一些一般的信息。

用户往往会检索象measage of the day(今天的信息)这样的内容,利用Archie服务器,只要录入motd命令,就可在任何时候重显这样的信息。

如果你还想找出其它的Archie服务器,录入server命令可得到一个服务器名录

最后, 你可以用 version 命令显示出你当前使用的服务器所使用的 Archie软件版本。

Archie服务器命令概要

为便于参考,图13—2列出了所有重要的Archie服务器的命令的概要

停止Archie对话
quit停止Archie操作并脱开连接
执行检索
find(模式)对主要匿名FTP数据库进行检索
prog(模式)老的检索程序
whatis(模式)检索软件描述数据库
显示信息
help?显示命令清单
help(命令)显示指定命令的帮助信息
help set(变量)显示指定变量的帮助信息
manpage显示Archie手册页
motd重显当日信息
servers显示Archie服务器名录
version显示当前Archie的版本
邮递信息
set mail to(地址)指明邮件地址
mail[地址]发出邮件
显示变量设置
show显示所有变量的值
show(变量)显示指定变量的值
设置普通变量
set auologout (分钟数)设置最大的自动关闭登录的等待时间
set maxhits(数字)设置要检索的最大条目数
set pager用paging程序显示输出
unset pager不用paging显示输出
set status检索时显示状态行
unset status检索时不显示状态行
设置输出参数
set output-format verbose用长格式显示输
set output-format terse用短格式显示输
set output-format machine用机器格式显示输
set sortby none不排序输出
set sortby filename按文件名字母排序
set sortby hostname按主机名字母排序
set sortby size按文件字节从大到小的排
set sortby time按时间从新到旧排序
set sortby rfilename按文件名字母倒序排
set sortby rhostname按主机名字母倒序
set sortby rsize按文件从小到大排序
set sortby rtime按时间从旧到新排序
设置检索参数
set search exact完全一致模式检索
set search sub按部分一致检索
set search subcase与sub相同,但要区分情况
set search regex按常规表达检索
set search exact-sub按exact,后按sub方式搜
set search exact-subcase先按exact方式,后按subcase方式检索
set search exact-regex按exact,后按regex检索
图13—2重要的Archie服务器命令概要
应用Archie的童话故事

那是一个风雨交加漆黑的晚上,外面刺耳的风呼呼地刮着,如注的雨象击鼓一样打在玻璃窗上。我们坐在 桌边,拉低的帽缘盖在脸上,抓住这片刻时间打盹,我们累极了,好象弹簧被压缩到了极限。

我们向后仰靠着,一个古老的钟正指向十二点,桌上面压着足以处理一个月的文书业务,半瓶苏格兰威士忌散发着刺鼻的气味,在房间的一角,计算机屏幕发着荧光……

我们不知道她是何时进来的,但是我们的鼻子地闻到了她身上浓烈的香水味。我们说道:“请走开,我们关门检修了。”

“好吧,但你们今天一定得开门,我需要帮助,我会付给你们钱的”。一个急躁的、带着土音的声音说。我们抬起头,惊愕地眨了两下眼睛:

她有五英尺三英寸高,一双碧兰的眼睛,长长的金发垂落在两肩上,就象从高山岩石上飞下的瀑布,身穿一件紧身的外套,显现出玲珑的曲线。

她天真无邪地看着我们,太天真无邪了!使这儿一切都失去了光彩,当然不包括指她的香水。

“听着”,她说道,“我需要帮助,只有你们能帮助我,我现在承受着很大的压力。

“发生了什么事?”

“我只有7小时的时间了,不然的话……”

“到底什么事?小姐,我们已经告诉过你,我们不想为你火中取栗。现在是什么时间了?恫吓还是谋杀?”

她看着我们,眼睛瞪得圆圆的。

“微积分。”她说道。

我们闭上眼睛,又睁开,“好吧,小姐,请讲讲。”

于是,我们听着她讲一个不算美妙的童话,一个古老的故事。一个天真无邪的女孩从乡下来到这个大城市,内心充满了金色的希望和幻想,想碰碰运气,但很快就掉进了漩窝,遇到了麻烦。

事情开始是顺利的,先是一个人带她参加一个聚会,这些人在一间黑屋子里解着他们的方程。后来,她被邀请参加一个私人聚会,在那里一些聪明的小伙子向她介绍了基础代数。开始,她对圆规感到入迷,随身带着它。不久,她又同时对方程式,园锥曲线和幂发生兴趣。直到有一天,她发现自己跑到一个商店去偷了一块半园规——她对此已入迷了。

“你们必须帮助我,”她抗争道,“你们是我最后的希望,我的第一节微积分课明天早上开始,而我现在还没有作好准备,你们知道那个博士会如何对待一个没有作好准备的人吗?”

我们又打量了她一下。

“好吧,”我们说道,“我们愿意帮助你,但你将预付一百元。”

“作个交易怎么样?”她说道, “我知道从什么地方可以拿到一个分析文件的复杂拷贝。”

“非常感谢。我们冒着被警察扭断脖子的危险,这是该得的。”我们说道。“好吧。”她噘着嘴,从外衣口袋里掏出两张五十元的钞票。

就这样我们把她拉到了计算机旁坐下, 这台计算机已经登录到了 Internet上。

“你有自己的PC机吗?”

她点了点头。

“好吧,我们将使用Archie工具为你找到一个有用的程序。”

先对一个Archie服务器进行远程登录,花了点时间对变量进行了设置后就开始了进行对“微积分”的检索。最后我们在华盛顿大学的匿名 FTP 主机中找到了这个程序。我们退出Archie,通过FTP到匿名主机, 进入“ 微积分”目录列表。

“在这儿,”我们说道。“这是你要找的,一个名叫rurcl.zip 的文件,你知道如何调出全文吗?”

她轻蔑地看着我们反驳道:“你祖母知道如何用嘴吸蛋吗?”

“好吧,你现在对这个文件解压缩后,会发现一个称为“ Are You Ready for Caculus?”(为微积分作好准备了吗?)的文件,是由 Arizona 大学的David Lovelock编写的,它将向你指出,为了准备学习微积分,要复习些什么内容。”

她睁大眼睛望着我们,惊奇地问道:“你们是如何知道这些的? ”我们也瞪着眼睛道:“这就是你付钱给我们的原因,小姐。”

“我想我明白了。”

我们将程序下传到我们的计算机,然后为她拷贝到一张软盘上,她拿起软盘,放进口袋然后就向门外走去。

走到门边,她回过头来,大大的、碧兰的、纯真的眼睛看着我们。

“我喜欢你们的做事风格,也许你们会到我那儿去对文件解压缩呢,” 她停了一下又说道:“你们真的知道如何解压缩吗? 把手指放在键盘上,然后就解开了。”

她走了,象小鸟一样飞出了门外。

我们望着外面,还是一个风雨交加的黑夜。

图13—3是一个典型的Archie和匿名FTP检索对话。

 

    % telnet archie.rutgers.edu

    Trying 128.6.18.15-Connected to dorm、Rutgers.EDU

    Escape character is ‘T]’

    Sun OS UNIX (dorm.rutgers.edu)(ttyqo)

    login: archie

    Last login:Wed Jun 23 16∶33∶38 from fuzzball.ucsb.edu

    Sun OS Release 4.1.3 (TDSEERVER-SUN4C-DORM)  #1:

    Sat May 1 16∶46∶07 EDT 1993

    Welcome to the Rutgers University Archie Servev!

      …message of the day deleted.(当日信息略)

    archie>show

    #autologout(type numeric)has the value15

    #compress(teype string)has the valuenone.

    #encode(type string)has the valuenone.

    #language(type string)has the valueenglish.

    #mailto(type string)is not set.

    #maxhits(type numeric)has the value100.

    #output-format(type string)has the volueverbose.

    #pager(type boolean)is not set.

    #search(type string)has the valuesub.

    #sortby(type string)has the valuenone.

    #status(type boolean)is set.

    #tmpdir(type string)has the value/tmp.

    #term (type string)has the valuevt100 24 80.

    #max-split-size(type numeric)has the value51200.

    #server(type string)has the valuearchie.rutgers.edu.

    archie> set maxhits 10

    archie> set pager

    archie> set search exact-Sub

    archie> set sortby time

    archie> find calculus

    ……some responses deleted ……(反馈信息略)

    Host wuarchive.wustl.edu (128.252.135.4)

    Last updated 05∶03∶23 May 1993

    Location:/ edu/math/msdos

    DIRECTORY rwxr-xr-x 1024 Mar 9 18∶02   caculus

    archie>quit

    #Bye.

    Connection closed by foreign host.

    % ftp wuarchive. wustl.edu

    Connected to wuarchive.wustl.edu

    220 wuarchive.wustl.edu FTP server

    (Version 2.1 WU(2) Wed May 19 07∶29∶30 CDT 1993) ready.

    Name (wuarchive.wustl.edu:harley):anonymous

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

    Password:

    …当日消息略

    230 Guest login ok. access restrictions apply.

    ftp>cd/edu/math/msdos/calculus

    250 CWD command successful.

    ftp>dir

    200 PORT command successful.

    150 Opening ASCII mode date connection for/bin/ls.

    total 2344

    …忽略一些行

    -rw-r--r-- I husch234171950 Jan 10 18∶07 rurc1.zip

    -rw-r--r-- I husch234 99621 Jan 10 18∶08 rurc2.zip

    -rw-r--r-- I husch234108018 Jan 11 07∶47 rurc3.zip

    226 Transfer complete

    2657 bytes received in 5.8 seeonds (0.45 kbyfes/s)

    ftp>get rurc1.zip

    200 PORT command successful.

    150 Opening ASSCII mode data connection for rurcl.zip( 171950 bytes).

    226 Transfer complete.

    local:rurcl.zip remote:rurc1.zip.

    172885 bytes received in 1.4e+02 seconds (1.2kbytes/s)

    ftp>quit

    221 Goodbye.

    图13—3典型的Archie和匿名FTP的对话

Archie客户机

直到现在,我们所讨论的都是使用Archie服务器进行直接的检索,即先远程登录,以Archie登录,然后录入命令。然而,一旦你知道了Archie 是如何工作的,一种很好的的方法是通过Archie客户机方式。

Archie 客户机是一个在你的计算机中运行的程序, 你告诉这个程序你想要什么,然后它就为你连接一个Archie服务器,发出请求,接收输出,接着将结果显示在你的计算机屏幕上:

使用Archie客户机不但容易,而且速度也惊人的快,我们常常会发现利用客户机在几秒钟之内就会得到结果(当然,如果服务器正忙着, 得到结果的时间就会长一些。)

另一种因素是大多数Archie服务器对能同时登录的客户都有严格限制,并不是你想什么时候连接都可以,客户机是在你自己的计算机上运行的程序,你任何时候都可使用它。

有各种类型的Archie客户机, 使用最普遍的两个是 archie( 对普通 Unix终端)和xarchie(对X Window终端,见第二章)。也有针对其它计算机的客户机,如运行DOS的PC机,运行VMS的VAX机。

x archie程序用一种基于图形用户界面的 X Window , 一旦你会用 Archie,就会用x archie而无需我们帮助。因此, 本节我们将集中精力讨论archie程序。

为了使用archie,必须将它先安装在你的计算机中。为了弄清是否完成了安装,可以录入archie命令,后跟上要找的东西,试着进行一次检索,例如:

archie rfc1325.txt

如果 archie 程序存在, 则上述命令会返回某种类型的结果, 如果 archie程序不存在,则会显示如下之信息:

archie:Command not found

如果的确如此,那么要访问Archie就不得不对一个Archie服务器进行远程登录或者通过邮件发送请求的方式( 本章后面再解释 ) 。 由于使用 Archie客户机程序是非常之方便,你可以礼貌地请求你的系统管理员为你装上archie。该程序可以从匿名FTP中获得(用Archie对archie这个单词进行检索)。

若如果系统中有archie程序,你可以用man 命令在联机手册中阅读正式文档:

man archie

在阅读有关Archie资料时,你可能见到对Prospero的介绍, Prospero 是一个工具,可以用它来访问遍布整个Internet的信息。利用Prospero,你可以使用一个存于远程计算机上的文件就象使用存于自己的计算机中的文件一样。由Prospero所创建的文件分布式系统是基于虚拟系统模型这样一种思想,且在Internet上得到了广泛应用。任何人只要在自己的计算机中安装了Prospero客户机,均可使用Prospero工具。Archie客户机和服务器使用Prospero技术来沟通他们之间的关系,尽管其细节隐而不见。

Prospero是由Cliff Neuman创建的,Cliff Neuman属于南加利福尼亚大学的信息科学学院。为了获得更详细的说明,你FTP到 prospero. isi .edu。也可以向prospero-request @ isi.edu发送一个信息参加一个普通的Prospero的专题讨论组(我们在第十二章中讨论如何使用FTP,在第十八章中讨论mailing lists。)

使用Archie客户机

要了解如何使用Archie客户机程序,须先明白Archie以及它是如何工作的。如果没太弄明白可再读一下本章前面几节。

使用archie最容易的方法是指定你要检索的文件或目录的名字,例如: archie rfc1325.txt

用上面的命令时,Archie客户机将连接一个Archie服务器,让它完成一次检索,再把结果返回给你

使用Archie客户机的好处之一,是你可以用标准的Unix工具对输出结果进行处理。例如,下面的命令将完成一次检索并且把结果存于名为rfc 的文件中:

archie rfc 1325.txt>rfc

如果rfc文件不存在,则Unix将建立该文件。如果文件存在, 则该文件中原来的内容将由新的内容所代替,因此应加注意。

在Unix中,你可以在一个命令后面用>(大于)符号后跟一个文件名的方式,使命令产生的结果存于该文件中。这种做法称为“重新定向标准输出”。为了看到更详细的内容,我们为你推荐几本好的Unix书籍。

跟其它Unix命令一样,关于archie也有不少的选项来改变它的工作方式。做法是把所说的开关或选项加在命令后面。 例如, - t 选项是告诉 Archie将结果以文件最后一次被修改的时间和日期进行从新到老的排序。 archie-t rfc1325.txt

就象在Archie服务器上用set sortby time一样。

表13—3 包含了一些最重要的选项。其中很多与Archie服务器命令相一致。

选项-e,-s,-c和-V与在Archie服务器中使用set search命令有相同的效果。例如,要进行一次sub检索你可以用-s选项。

archie -s rfc1325

选项-e将完成一项exact检索,后者是隐含的。 因此下面两个命令是等效的:

archie rfc1325.txt
archie -e rfc1325.txt

如果要完成一次组合检索,比如exact-sub可以用-e 和另一个检索选项,例如:

archie -e -s rfc1325<

> 这个命令是告诉Archie先以exact方式检索,如果失败,再以sub 方式检索。

同样,可以用-t和-l选项 控制输出的 格式。-t选项将结果按时间排序(象set sortby time一样),-l 选项将输出送到另一个程序或形成适合于Unix命令再处理的形式(象set output-format machine):

archie -l rfc1325.txt

选项含义
-c子字符串检索区分大小写(set search sub case)
-e精确匹配检索[缺省](set search exact)
-r用正规表达式方式检索(set search regex)
-s子字符串检索(set search sub)
-o文件名将结果发送到指定文件
-l每行列一项(set output-format machine)
-t将输出的时间和日期排序(set sortby time)
-m数字置最大检索条目项(set maxhits)
-h地址将Archie服务器请求发给指定主机
-L将程序所知道的Archie服务器列表显示
-V(冗长的)在较长的检索期间作注解
表13—3重要的archie选项概况
下面是前面命令的输出样本,注意Archie已经将输出形成一行行的形式:
19920515000000Z918850esel.cosy.sbg.ac.at/pub/mirror/rfc/rfc1325.txt
19920515000000Z91885 swdsrv.edvz.univie.c. at/doc/rfc/rfc1325.txt
19920514000000Z91884 plaza.aarnet.edu.au/rfc/rfc1325.txt
19920601000000Z91884 sunb.ocs.mq.edu.au/Documents/RFC/rfc1325.txt
19920817000000Z91885 sifon. cc. mcgill.
ca/pub/ftp-inc/doc/rfc/rfc1325.txt
如果你知道如何使用Unix,你可以将这种类型的输出发 给另外的命令,例如,下面的一系列命令将显示贮于澳大利亚的计算机中的所有条目( 地址以.au结尾的计算机)。

archie-l rfc1325.txt|grep'.au'
关于grep命令如何工作的详细内容,请参阅Unix书籍。 选项 - m 与 Archie服务器中的set maxhits命令有相同的效果,例如, 要设置最大检索条目数为10,可用下面的命令:
archie-m10 rfc1325.txt 为了加速检索进程,用-m选 项以限制输出的数量(我们推荐用-m10)。如果没有找到你所要的,则用较大的值再发一次命令。
如上所述,你可以用Unix重新定向工具将输出送给一个文件。相应的,你也可以用-o选 项完成同样的事情。因而, 下面的两个命令是完全等价的:
archie rfc1325.txt-orfc
archie rfc1325.txt〉rfc

当使用archie程序时,它所连接的是你的系统管理员在安装该程序时所指定的Archie服务器,如果想看一下这个服务器的名字,可录入下面的命令
archie-L

这个命令还将显出其它Archie 服务器的名字。 如果想对某个指定的 archie服务器发送一个请求;你可以使用-h(主机)命令并指定你要的服务。例如下面的命令将请求发给地址为archie.au的archie服务器:

archie-harchie.au rfc1325.txt

最后,我们将讨论的最后的选项,它将对你的检索很有用。使用 -V命令(冗长的)是让archie客户机在检索过程中随着进程作些说明: archie-V rfc1325.txt

每当检索时间似乎较长时,就会看到如下的信息:

Searching……

用这种方法使你估计到目前正在干什么事,使你的情绪保持在一个很好的状态。

通过发邮件方式使用Archie

前面我们已经讨论了两种使用archie的方法。最好的方法是使用能向你的Archie服务器发请求的Archie客户机程序(archie或xarchie)。 如果不能这样做。就对一个Archie服务器进行远程登录,用Archie标识登录后再录入命令。这一节我们将叙述第三种访问Archie服务器的方法:通过电子邮件发送命令。

如果你不能使用 Archie 客户机程序, 或由于某种原因不能直接对 Archie服务器进行远程登录,那么通过邮件方式使用Archie服务器一样是方便的。它也适宜于不急于要检索结果或一次要进行多项检索的时候。你可以通过邮件发出请求,然后在自己的邮箱中获取检索结果。

要通过邮件方式使用archie,就向某个Archie服务器的用户标识发一条信息(表13-1中列有服务器)。在所发的消息中使标题一行空白,在信件的正文写上你想发出去的所有命令,每一条命令占一行。

Archie将执行你的命令,而后将结果返馈回来。使用的大多数命令是以前所讨论的关于Archie服务器的命令(见图13-2的概要),唯一的例外是你不能使用那些在邮件请求中没有意义的命令(例如set pager)。

必须使用的第一条命令是set mailto。这个命令保证Archie将结果发向正确返回的地址。如果漏掉了这条命令,Archie就找你邮件中信头上你的地址。大多数情况下,这也不会发生差错,但最好是把地址明确。为了方便,可使用老版本中的path命令。下面二条命令是等价的。

set mailto harley @ fuzzball.ucb.edu
path harley @ fuzzball.ucb.edu

最后一个你必须使用的命令是quit,这个命令告诉Archie你准备结束并略去后面的各行。这个命令之所以重要还在于有些邮寄程序允许你定义一签名并将其自动地附在你的所有邮件的后面。利用quit命令保证Archie 省略该邮件尾部的附加行。

在你第一次通过发邮件使用某个指定的Archie服务器之前,你应当先向它发一条请求以获得一些帮助信息。这些帮助信息将向你说明该服务器对哪些命令无效。

下面是发出这样的请求的一个简单对话,发送对象是一个称为archie. rutgers.edu的Archie服务器:

 

    %mail archie@archie.rutgers.edu

    Subject:

    set mailto harley@fuzzball.ucb.edu

    help

    quit

    CTRL-D

    EOT

得到答复后, 仔细阅读它, 如果你的 Archie 服务器使用的是旧的 Archie软件版本,则就不能使用图13-2中列出的所有命令。特别是不能使用set mailto,要代之以path;不能使用find,要代之以prog。在下面的简单对话中,我们向Archie发出请求检索有名的rfc1325.txt文件:

 

    % mail archie@archie.rutgers.edu

    Subject:

    set mailto harley@fuzzball.ucb.edu

    set maxhits 25

    set output-format verbose

    set search exact

    set sortby time

    find rfc1325.txt

    quit

    CTRL-D

    EOT

一旦从Archie服务器中收到答复,就可以给匿名FTP 服务器发送信息,以找到真正需要的文件。

Archie概述

    上面我们介绍了如何使用FTP来获取文件。这里将介绍怎样寻找所需文件, 换句话说,就是确定寻找的文件在Internet的哪个FTP服务器中的哪个子目录下。 使用Archie工具就可以解决这个问题。 目前,在Internet上约有30多个Archie服务器,覆盖了遍布在1200个FTP服 务器中的200多万个文件。使用Archie寻找文件主要有三种方法。其一是用teln et访问Archie服务器。其二是使用Archie客户程序,Archie客户程序可在DOS系 统、UNIX系统、Microsoft Windows环境和X Windows环境中使用。这里只介绍Ar chie客户程序的UNIX版本和Microsoft Windows版本,其他版本的Archie客户程 序的使用方法与这两个版本相近,这里就不作介绍了。第司种方法是用E-mail来 查找文件。除此之外,Gopher和Mosaic也支持Archie。

本章主要内容如下:

通过telnet访问Archie服务器;
UNIX版本的Archie客户软件的使用;
MS Windows版本的Archie客户软件的使用
用E-mail查找文件
Archie的其它信息
图形界面的Archie客户机程序

通过Telnet访问Archie服务器


     要用Telnet访问Archie服务器,必须选择一个能给用户提供最
佳服务的Archie服务器,如果没有更好的选择,就请访问离你最
近的Archie服务器。以下列出了一些公共的Archie服务器以及它
们所在的国家/地区。
        主机名                   国家/地区
     archie.ncu.edu.tw             台湾
     archie.wide.ad.jp             日本
     archie.kr                     韩国
     archie.sogang.ac.kr           韩国
     archie.unl.edu                美国
     archie.rutgers.edu            美国
     archie.internic.net           美国
     archie.sura.net               美国
     archie.au                   澳大利亚    
     archie.uqam.ca               加拿大
     archie.doc.ic.ac.uk           英国
     archie.th-darmstadt.de       德国
     archie.unipi.it              意大利
     archie.funet.fi               芬兰
     archie.rediris.es            西班牙
     archie.luth.se                瑞典
     archie.switch.ch              瑞士
     archie.edvz.uni-linz.ac.at  奥地利
     archie.univie.ac.at          奥地利
     archie.ac.il                 以色列
    Archie服务器一般只能同时接受40个用户的访问。
    以下示例是用Telnet访问Archie服务器


# Bunyip Information Systems, 1993

# Terminal type set to `vt100 24 80'.
# `erase' character is `^?'.
# `search' (type string) has the value `sub'.
unl-archie>
    当用户注册进入Archie服务器后,屏幕上显示一些说明,将用户
的终端设为VT100,采用子串搜索,忽略大小写。例如要搜索china,
系统将找到包含china的所有文件名和目录,象CHINA,Chinatown,
SouthChina等都符
合搜索条件。如果用户对系统的初始设置不满意,可以用set命令改
变,我们将在下面介绍具体
的使用方法。在archie提示符后输入命令help,就可以得到所有命令
的帮助信息。
这里列出一些主要命令:
    list: 列出某个国家或地区的所有FTP服务器
    about: 关于Archie的简单介绍
    servers: 显示其它的Archie服务器
    manpage: 与help命令相同
    bugs: 了解bugs以及Archie的缺陷
    bye: 退出
    quit: 退出
    mail: 将最后一次搜索结果寄给指定人
    prog: 搜索命令
    set: 设置一些重要参数,如搜索方式、搜索地区、最多输出数等
    unset: 取消设置
    show: 显示有关参数,如搜索方式、搜索地区、最多输出数等
    site: 列出某个FTP服务器收录的所有文件
    whatis: 搜索摘要数据库
    version: 显示正在访问的Archie服务器的版本号
其中,set命令的主要参数如下:
    mailto address: 设置mail的收信人地址为addresss。如果使用
mail命令,系统将把搜索结果寄给mailto指定的收信人。
    search keyword: 设置搜索方式,其中keyword为exact,regex,sub
和subcase四种方式之一。
    match_domain: 设置文件所在的国家和地区
    match_path: 设置搜索路径
    maxhits number: 设置最大输出数为number,其缺省值为1000
    term terminal x y: 设置终端类型为terminal,屏幕显示为x行和y列。
    pager: 设置输出显示方式。如果设置了pager,屏幕将分列显示,按
回车键显示下一页。取消这种方式,可用unset pager。
    sortby keyword: 设置输出排序方式。可以按时间或字母顺序,用
help set sort可得到该服务器的输出排序方式。
login: ararchie
如Mosaic是Illinois大学国家超级计算应用中心(NCSA)开发的,如果想获取Mosaic的最新版本,就请到该中心的FTP服务器中获取,其服务器名为ftp.ncsa.uiuc.edu。
    如果不知道软件的开发单位,就找一些官方的网络信息服务机构,如超级计算中心、网络信息中心等。
    (6)选择最近的FTP服务器访问。如果国内有,就不要到国外去获取,尽量减少网络的负担。
    一般prog搜索输出的每一项均占用几行,不便于处理,用户可用命令
    set output_format terse
使得每一文件项的输出只占一行。
    在用prog命令搜索时,有一个诀窍,就是先选择小一些的最大输出数,如果搜索结果不理想,再逐渐放大maxhits。如选用maxhits的缺省值,由于等待时间太长,没有太多必要。
    下面再来看看set命令的另一种妙用:设定FTP服务器的地域范围。如果知道要找的文件在哪个地域范围,就可以缩小搜索范围,节省时间。例如,作者搜索的文件在亚洲,就输入    set match_domain asia 有关的地域信息,可用domain命令获得,也可用如下命令:
    set match_domain kr:hk:sg:jp:cn:my.tw.in
来设置。
    再来看看另一种情况,如果知道文件所在路径,可以用下述命令设置:
    set match_path pathname
其中,pathname为路径名,目录之间用冒号相隔,pathname可以是某个完整路径中的一部分。

UNIX版本的Archie软件的使用


    UNIX系统中的Archie客户软件的使用比较简单,命令的一般格式为
    archie[-acelorstVL][-m hits][-h host] string
其中,
    -a: 列出有关的Alex文件名
    -c: 子串搜索,大小写不同
    -e: 完全匹配,即整串字符搜索,大小写不同
    -r: 按UNIX的常规表示法搜索
    -s: 子串搜索,大小写相同
    -l: 改变输出方式,一行列出一个文件项
    -V: 将运行中的信息显示出来
    -t: 输出按日期排序
    -m hits: 定义最大输出文件数,缺省值为95
    -o filename: 将搜索结果存于filename文件中
    -h host: 指定Archie服务器为host
    -L: 列出当前Archie服务器以及其它可访问的服务器
这里,string为搜索字符串。
    可见,如果安装了Archie客户软件,用户可以很方便的去访问如何Archie服务器,寻找所需文件。如果经常访问某个Archie服务器host,可用下面的命令行设置环境变量。
    setenv ARCHIE_HOST host
这样,即使用户不用-h host设定Archie服务器,Archie客户软件也能自动访问该缺省服务器。与Telnet方法不同的是,Archie客户软件只需一个命令行就可以完

MS Windows版本的Archie客户软件的使用


    Archie软件的Microsoft Windows版本是由南加州大学的信息科学院开发的, 采用全屏幕图形显示方式,可用鼠标或键盘操作,使用方便。
1.软件的安装 MS Windows版本的Archie客户软件按以下步骤安装:
(1)安装Packet Drivers与以太网连接;安装Microsoft Windows3.1。
(2)安装Trumput Winsock。Winsock是Microsoft Windows与网络的接口软件, 含有TCP/IP程序。Trumpet Winsock中还包含Slip driver,因此可以通过Modem 与电话线相连,或者通过以太网直接与网络相连,其中Trumpet Winsock软件可 从主机ftp.utas.edu.au的/pc/trumpet/winsock目录中获得。有关Winsock的FAQ (Frequently Asked Questions)可从主机sunsite.unc.edu的/pub/micro/pc-stuff /ms-windows/winsock目录中获取。
(3)安装wsarchie.exe,wsarchie.ini和wsarchie.txt。其中,wsarchie.ini 为初始化文件,wsarchie.txt为说明文件,从中可以得到wsarchie安装的具体信 息。这三个文件可从主机ftp.cica.indiana.edu中获取。
2.WSARCHIE软件的使用 在Windows环境下启动wsarchie软件,当查找文件时,在Archie Server列表 框中选择合适的Archie服务器,在Domain编辑框中输入待搜索的地域范围,选择 搜索方式,并在search for编辑框中输入关键词,按回车键或点击搜索按钮即开 始工作。搜索结果显示在hosts,Directories和Files列表框中。与Archie客户 软件UNIX版本最大的不同是,WSARCHIE具有FTP功能。

用E-mail查找文件


    如果用户的计算机没有直接连在Internet上,只是连在UUCP,Bitnet等网络 中,那么用户将无法用Telnet和Archie客户软件访问Archie服务器。这时,用户 可用E-mail来查找文件。很多Archie服务器都提供E-mail服务,即通过FTP mail 访问Archie服务器。使用E-mail还有一个好处,用户可以将查找文件的任务交给 计算机去完成,而不必长时间等待,用户只需发送E-mail给Archie服务器,就可 以去干其它的事情了。
   使用E-mail查找文件的命令格式为 :mail archie@server
    其中server为要访问的Archie服务器。如果用户的计算机没有直接连在Internet 上,则用命令:mail archie % server@gateway
   其中gateway为其它网络连到Internet的网关。
   在E-mail信体中使用的主要命令如下:
prog string:按regex方式搜索字符串string。
help:提供有关E-mail获取Archie服务的帮助信息。
path address:告诉Archie服务器将搜索结果发给地址address。
compress:如果你估计搜索结果会超过45K,就用此命令对搜索结果先进行压 缩和编码,再发送。
servers:列出所有可访问的Archie服务器。
whatis keyword:与前面介绍的whatis功能相同。
quit:命令结束,忽略命令后的其余消息。
    如果用户想用E-mail方式获取有关中国的文件,进行下述操作:
king>mail
archie@archie.unl.edu
Subject:
prog china
Ctrl+d
用户就会收到有关的邮件。


图形界面的Archie客户机程序

    随着图形界面操作系统和超文本工具的发展,很多Internet网络工具都开发出了图形界面的客户机程序。Archie也不例外。图形界面的Archie客户程序操作更简单方便。 在Windows下进入WSArchie状态,屏幕开出如下图所示的窗口。
光标停留在Search for的方框里,等待用户填入需要检索的文件名。Archie Server方框是一个下拉式菜单,列出全世界现有的Archie服务器地址,用户可以任选一台与之相连。用户一进入Archie检索屏时,光带所停的Archie服务器地址是系统默认的地址。用户可以通过菜单项Options的User Preference菜单条来更改系统默认地址,但用户不能随意增加或删除任何地址,如果确想增加或删除某些地址,需要通过Windows的文件管理器打开wsarchie.ini文件进行修改。带有*的地址表示该服务装载的是Archie3.0版本的软件。Domain框相当于我们前面提到的set match_domain命令,即限定检索的域名范围。通过窗口右侧的检索匹配方式按钮确定检索匹配方式。这些匹配方式的含义与字符型的情况相同。系统的默认值是sub方式。用鼠标按动Search按钮,或者按Alt+E键开始检索,这些操作与一般的Windows操作相同,如果想中止检索,按动Abort键,相当于字符界面的Ctrl+C键。检索结果显示在下半部的方框。Host表示检索到的文件的主机名;Directories表示文件所在的路径;files表示检索到的文件。再下面是更详细的信息。其中与字符型状态略有不同的是,mode表示文件的状态,Date表示文件的建立日期,Archie Date是Archie数据库系统更新该条数据的的日期,Host Address是文件所在的FTP主机的IP地址。
用户可以通过菜单项File对检索结果进行选择编辑,并通过菜单项Options/FTP Setup将所选文件传送回本地系统。
%h、%d、%f分别表示所要登录的FTP主机、文件所在目录和所要选取的文件。一般在Archie的检索结果屏里点亮所要选取的文件、目录和其所在主机,然后启动Option/FTP Setup菜单项,按OK钮就可以把所需文件传回本地。 系统还配有超文本形式的联机帮助功能,用户在检索过程中如果有什么困难可随时查看菜单项Help的帮助信息。 各种版本的Archie客户机程序一般都是以archie为文件名,有时文件的扩展名略有不同,因此这些软件都可以通过Telnet登录到某一台Archie服务器查到其地址,然后用匿名FTP从ftp.demon.co.uk主机的directory/pub/ibmpc/winsock/apps/wsarchie目录下取到。该软件是免费的,可以发电子邮件到david@maxwell.demon.co.uk询问。

Archie的其它信息


    这里主要介绍Archie的电子论坛(mailing list)、电子新闻(Usenet news)中的Archie消息群(news group),以及Archie服务软件的获取方法。其中的内容有助于读者更好的使用Archie工具。如果在使用Archie中有什么问题,就可以从有 关电子论坛和消息群中找到答案,还可以借此求助于网络中的其它Archie用户和管理人员。有关电子论坛和电子新闻等的使用方法参见Usenet的有关内容。
(1)有关Archie的电子论坛 archie-people@bunyip.com 该论坛讨论Archie的开发及未来的发展。 archie-maint@bunyip.com 该论坛讨论Archie服务器的操作、管理、新版本、新特征。
(2)有关Archie的消息群 comp.archieves.admin alt.internet.services
  (3)UNIX版本Archie客户软件和服务器软件的获取 匿名FTP:archie.ans.net archie.sura.net archie.au E-mail:info@bunyip.com
  (4)X Window版本Archie客户软件的获取 匿名FTP:ftp.cs.indiana.edu
  (5)MS Windows版本Archie客户软件的获取 匿名FTP:ftp.cica.indiana.edu
  (6)Archie试验环境
archie.rutgers.edu
archie.unl.edu
archie.sura.net
archie.ans.net archie.au
archie.funet.fi
archie.doc.ic.ac.uk
archie.cs.huji.ac.il
archie.wide.ad.jp