第十一章 阅读和发送Usenet文章
在第九章中,我们谈到了关于Usenet的内容。我们看到它拥有2,500
,000多个用户的5,000个不同的讨论组。在第十章,我们看到了Usenet 文
章的格式和你希望了解的技术条件和规定。
在这里,我们将向你解释阅读和发送Usenet文章的有关知识。首先,
说明新闻阅读器(newsreader)是如何成为客户机/服务器系统的一部分的;
然后,我们讨论各种不同的阅读程序。我们也将说明,怎样来判断哪一种
阅读程序最适合你自己,应该怎样去学习使用它们。最后,我们讨论有关
阅读新闻组文章的两个技术上的问题。
把新闻阅读器理解为一个客户机
像许多Internet的服务方式一样,阅读新闻是利用了客户机/ 服务器
的形式(参看第二章), 在这种情况下,新闻服务器程序驻留于Internet上
的一台计算机中。它的任务是把新闻输出到外部去,同时管理接收到的大
量的文章。
为了阅读这些新闻,你使用一个叫做新闻阅读器(newsreader)的用户
程序。它作为与Usenet的接口,使你能够选择你所想要看到的新闻组,并
且从其中挑选出文章,按一次一页显示出这些文章。当你阅读的时候,你
可以通过存盘、传送拷贝文件或通过打印输出来保存这些文章。你也能够
把你个人的新闻资料通过电子邮件系统发送出去,或发送你自己的相关的
应答文章来作为对新闻的响应。
正如我们在第十章解释的那样,新闻文章是通过Internet的 NNTP(网
络新闻传输协议)来传送的。当文章被传送到新闻服务器后, 它们就以标
准格式存储,为了阅读这些新闻,你所需要的仅是新闻阅读器,它知道怎
样去理解存储的格式。目前在许多不同类型的计算机上,运行很多不同的
新闻阅读器。
可是,正如我们在第一章中讨论的,很多使用Internet的用户都使用
某种类型的Unix系统的计算机。在本章中,我们将讨论关于阅读新闻和投
递文章的基本内容。在以后的几章中,我们会详细讨论以Unix系统为基础
的四种最普遍的新闻阅读器。
新闻服务器如何跟踪所有的文章
为了跟踪每一新闻组中的所有文章,新闻服务器给每一篇文章分配一
个识别编号。这些编号以文章到达新闻服务器的先后为序。
编识号从1开始。无论什么时候新的文章到达, 它都被赋以紧接着的
下一编号。例如,我们设想一篇新的新闻文章传送至名为rec.humor 的新
闻组中,并且上一篇在此新闻组中的文章编号为1055,因此这一篇新文章
的编号为1056。这个新闻组中再下一篇的编号为1057, 以此类推。 一些
新闻阅读器在你每一次阅读一篇文章时都显示它们的编号,而另一些新闻
阅读器则不显示这些编号。
一旦一篇文章被删除掉,它相应的编号也就从系统中删掉。因此,在
某一特定的时间内,rec.humor新闻组可能有从1055—2110 号可供阅读的
文章。然而最终,这个编号将达到某个确定的最大值后,编号又将重新从
“1”开始。
每一新闻组都有其自己的,与其它不同的一组编号。因此, 对于多
个新闻组中都具有同一编号的文章也就是可能的了。例如,rec.humor 和
comp.unix.questions这两个新闻组可能都会有编号为1056的不同文章。
新闻阅读器利用这些编号来跟踪在每一新闻组中你已经阅读过了哪些
文章。为了能做到这些,在目录中保留.newsrc文件。 这一文件中包含有
每一新闻组的名字。对应每一新闻组名,罗列你是否选择了那一个新闻组
和哪些文章已经读过。
你不必关心 .newsrc 文件中有些什么内容,除非你真想知道。 当你
第一次阅读新闻时,新闻阅读器会为你建立一个 .newsrc 文件, 此后,
新闻阅读器会保留这个文件,并且无论你在什么时候阅读文章,选择或不
选择阅读新闻组,它都将作相应记载。除此之外,每一次你启动新闻阅读
器时,它都将检查:是否有新的新闻组可利用以及当前的.newsrc 文件是
否正确。
有些用户喜欢使用文本编辑程序来直接修改.newsrc文件。 鉴于这个
原因,在本章最后有一部分将介绍 .newsrc 文件的格式, 同时提出一些
帮助你自己决定作出改变的建议。
在Unix系统下,通常有初始化命令或特殊新闻的文件命名以字符“.
”开始“rc”结束的情况。例如,对于新闻阅读器有.newsrc文件, 对于
电子邮件程序有.mailrc文件,对于C-Shell有.cshrc文件,对于ex和vi文
本编辑程序有.exrc文件,对应Bash shell有.bashrc文件等等。
最前面的“·”意味着这些都是隐含文件:当你使用ls命令列文件目
录时,你看不到带“·”的这些文件名,除非你专门列出它们。当你要读
出像这样的一些文件名时,“·”字符读作点(dot)。 例如,你也许听到
过某人问:“ 在你的点—news—r-c文件(.newsrc)中有些什么新闻组?”
由于这个原因,这样一些文件有时也被称作点文件(dotfiles)。
“rc”是一个早期的规定,它最初代表“运行命令(run command)”,
即当程序每次运行时,会自动执行的那个命令。
怎样选择新闻阅读器
在这部分,我们将向你介绍最流行的Unix新闻阅读器——rn、trn 、
nn和tin——并且说明怎样选择使用它们(如果你需要选择的话)。
尽管它们是最广泛使用的新闻阅读器,但如果你工作在X Window 或
Gnu Emacs 下, 你可能会有其它选择。 我们在第二章中已解释过, X
Window提供了一种图形用户接口,你可以同时运行多个程序, 每一个程
序都有自己的运行窗口。有一些新闻阅读器是专为X Window开发设计的,
其中最著名的是xrn和xvnews。这两个阅读程序都以rn为基础设计(以下详
述),但又有其自己的特点。
另一特殊的工作环境是Gnu Emacs。在此我们不详细讨论, 仅仅说明
这个系统是建立在名为Emacs的流行的文本编辑程序基础之上的。gnus 和
gnews是两个专为Gnu Emacs设计的新闻阅读程序。
然而,在大多数场合下,最广泛使用的是我们上面提到的四个新闻阅
读器,它们才是需要详细讨论的。
rn 是这些新闻阅读器中最早的一个。 它是由加利福尼亚的 Santa
Monica系统发展公司(System Development Corporation)的Larry Wall
开发的,于1983年4月8日首次发表。(Wall也是Perl ——一种流行的程序
设计语言的创建者。 ) 今天, “ rn ”被得克萨斯州休斯敦的 Baylor
college of Medicine的Stan Barber所维护。
Wall发展了rn取代了更早的阅读程序——“readnews”。他精心设计
rn,使之最大限度减少了程序和用户之间的相互影响,便于尽可能快地显
示新闻。其结果是新闻阅读器在尽可能短的时间内显示出尽可能多的文章。
trn是由加利福尼亚硅谷Borland公司的Wayne Davison开发的。trn
是rn的现代的变形,于1990年7月21日首次发表。它除了具有rn 的所有特
点和命令外,还具有其它的功能。与rn不同,trn把文章按主线分组, 使
得很容易地选择你所要阅读的文章(或许你还记得在第十章我们讲过, 主
线连接了最初的和所有后面的一系列的文章)。
nn是由丹麦的Texas Instruments A/S和Kim Storm开发的。nn于1984
年首先在丹麦发表,而后1988年在欧洲发表,1989年7 月向全世界公开。
今天,nn是由澳大利亚Demaas Proprietary Limited 的Pater Wemm维护。
Storm开发nn是在Usenet发展得比较庞大的时候,它拥有大量文章 ,超
过了人们的阅读能力。即使把范围限制在你最喜欢阅读的新闻组中阅读,
你仍旧还会有很多文章难以阅读。因而,Storm设计的nn 使你容易迅速地
浏览大量的文章。综合起来说,nn要求比rn、trn更多的用户操作。
tin是四种新闻阅读器中最新的。它是由Iain Lea创建并于1991年8月
23日首先公布的。那时的Usenet已经变得很庞大了。不仅是个人无法应付
越来越多的文章,另外还有太多的新闻组。那些想要迅速跟踪不同类别主
题的用户发现,新闻组的编号简直无法控制。Lea开发的tin使得能够容易
查阅大量的新闻组清单,容易选择你所想要研究的新闻组。一旦你选定了
一组,tin将会提供文章的清单——有点像nn ——并且让你选择你所想阅
读的内容。
简言之,rn能够迅速提供文章,用户可极少干予。trn 除了能够容易
利用主线工作外,其它工作过程与rn类似。nn要求更多的干予,但是它能
让你迅速浏览大量的文章。tin要求最多的干予。 但只允许方便地处理大
量的新闻组,并且在每一组内可查阅大量的文章。
因此,你要选择恰当的新闻阅读器。以下是如何选择:如果你想要在
一些新闻组中阅读大多数文章,那么使用rn,或最好使用trn; 如果你想
要从少量的新闻组中挑选文章的话,那么便用nn;如果你想要阅读大量的
新闻组,那么使用tin。
选择哪一种新闻阅读器最适合你,参考一下你喜欢怎样阅读一份报纸;
如果你是一页一页地从头到尾读一份报纸,你是适合使用rn类型的人;
如果你从总体上读文章,并且必要时来回翻页,那么你就应使用trn;
如果你是迅速地浏览报纸,仅仅阅读最适合你口味的文章,你就选择
nn;
最后,如果你是喜欢一份接一份地阅读整份报纸,你会中意tin。
正如你能够想象到的那样,Usenet的用户较持久的争论之一就是:哪
一个新闻阅读程序最好? 实际上,适合你的最好的新闻阅读器很大程度上
依赖于你是如何吸收新闻的。当新闻进入新闻阅读器,某一种类型不能适
用于所有的新闻。
如果你想使用新闻阅读器,但目前你的系统上还没有。那么把这份专
题讨论给你的系统管理员看, 然后请求给系统装入这些程序。 所有这部
分所提到的新闻阅读器都可通过匿名FTP(在第十二章解释)免费获得。
你可能会问,哪一种是我们最喜欢的新闻阅读器? 我们可以在不同的
时候使用不同的新闻阅读器。可是,如果我们必须选择出仅仅一种新闻阅
读器,我们会选择tin。
不可能会在一个荒凉的孤岛上阅读 Usenet 中的新闻, 加州的 The
Pagesat company of Palo Alto提供了一种经济的Usenet系统, 它通过
小型的个人通信卫星接收数据。如果要得到更详细的资料,你可以去函与
[email protected]取得联系。
新闻阅读器的名字是什么意思
你是否想知道新闻阅读器名字的意思是什么?
在rn之前,有一种早期的叫做“readnews”的新闻阅读器,它的速度
很慢而且是逐行显示新闻。Larry Wall设计开发了快速的定向显示( 主线
连接的rn)以取代“readnews”。rn这个名字, 指出了这个阅读新闻程序
比原来的更好。
trn更向前进了一步:它代表“threaded rn”(你也许还记得trn与rn
类似,除了附加的利用文章主线工作的功能外)。
如果你使用rn,你会看到它至少显示你所查阅的每一篇文章的第一页。
Kim Storm开发的nn,使显示的仅仅是你选择需要阅读的文章。他认为,你
读到的新闻越少越好,nn代表一种思想,即“没有新闻就是好新闻”。
最终我们有了tin,这个新闻阅读器是Iain Lea开发的, 它是建立在
名为tass的旧的阅读程序基础之上。Lea选择tin这个名字代表了“ Tass
+Iain’s Newsreader”。
学习使用一种新闻阅读器
在你开始学习你所需要的新闻阅读器之前,我们想花一点时间复习一
些基本内容,无论你今后使用哪一种新闻阅读器,它都将有益于你。
你会发现所有的新闻阅读器都有许许多多的命令,不要一下子记住所
有的命令,也不用担心,有这么多的命令你一时怎么去理解。我们从学习
一些基本命令开始:如怎样启动新闻阅读器?如何选择一个新闻组去阅读?
怎样阅读文章?所有的新闻阅读器大多仅需要使用很少的几个命令。
你将会发现你控制新闻阅读器越好,你从Usenet中感到的乐趣越大。
最终你将愿意去学更多的命令。但是最好的方法是一次学会一个命令。
在不同的时候,你会发现不同的命令适合你。例如,当你选定一个新
闻组想阅读时,你会用不同的命令来操作,比你在阅读文章时的可选择的
命令多。在新闻阅读器章节中,我们会提供各种命令的摘要。你可在阅读
新闻时,利用这个摘要作为参考。
除此之外,每一新闻阅读器还有一个专门的帮助命令,你可在任何时
候使用。对于rn、trn和tin来说帮助命令是“h”,对于nn则是“?”。无
论什么时候你需要帮助,你所需要做的仅仅是按一下这个键,它将列出所
有可使用的命令。
学会熟练使用新闻阅读器的方法, 同你能有资格进入卡内基音乐厅
(Carnegie Hall)演奏一样,实践、实践、再实践。幸运的是, 阅读新闻
比学习拉小提琴更有乐趣和更安静。
在以下的章节里,我们将向你依次介绍每一种新闻阅读器,但是不准
备作详细讨论。一旦你开始阅读新闻,你也许想为你使用的新闻阅读器核
对一下正式的命令。你可使用Unix系统操作手册。以下就是它如何进行工
作的。
所有的Unix系统都有一内附的参考手册,它包含了每一命令有关的信
息的文件。为了显示这些信息,你可使用“man”命令。只需录入“man”,
然后录入你所希望学习的命令即可。
例如,为了学习“ls”命令(你可使用它来列出文件名),录入:
man ls
为了学习使用“man”命令本身,录入:
man man
为了阅读正式的参考手册,你所需要做的是录入“man”, 后面再跟
阅读器程序名,选择录入:
man rn
man trn
man nn
man tin
需要切记的是你所读到的是参考信息,而不是入门介绍。
当你录入了这样一个命令,“man”使用分页程序(paging program)
来显示输出。分页程序的功能就是显示信息,一次一屏。用户把一屏的信
息称作为一页。因而,我们能够这样说分页程序的功能就是显示信息,一
次一页。当你读完屏幕上的信息后,按键显示下一页。
与大多数Unix系统的程序一样,分页程序有许多选择项和大量的命令。
我们在此不深入讨论。仅说明一下系统的“man ”命令将使用分页程序里
三个中的任一个: more、pg或less。
如果你当前正使用“more”或“less”,你可按空格键显示下一页。
如果你正使用的是“pg”,按回车键。在所有三个程序当中,都可按“h”
——帮助,“q”——退出。 如果你不清楚你正在使用的是哪一个分页程
序,试着同时按下空格键和回车键,看看会有什么结果。
发送你自己的文章
作为Usenet一员,你投递文章的愿望,可能只想要获得一些新闻,或
对先前的文章作出回应,或提出一种新的观点来讨论,或还有其它什么目
的。每一个新闻阅读器都有自己的命令,能简单、容易地投递文章。
在这部分,我们来讨论应用于投递文章的一般性知识。
首先,如果你不知道如何使用文本编辑程序,投递任何一种类型的文
章都不容易。毕竟,你创建不出文章,它就不会存在。此外,如果你当前
正在应答别人的文章,你也可能需要编辑他们的文章,并且加入你自己的
评论 。所有这一切都需要文本编辑程序。
两个最常见的Unix文本编辑程序是vi和emacs。 这两个编辑程序都很
复杂,需要花点功夫去学习。如果你现在使用PC或Macintosh 的仿真终端
联到远程主机(参看第三章),你就可以在你自己的计算机上起草文章,并
且传送给主机。但是,这不是起草文章的最好方式。
而现实是,如果你现在使用Unix系统, 你必须学会使用文本编辑程序。
你假如不使用文本编辑程序,你在使用Internet时的感觉就绝对比不上使
用了文本编辑器那样满意(例如,那将使你投递文章到Usenet 就不那么方
便)。
如果你拿不定主意应该学哪一种文本编辑程序,那么请使用vi。它是
世界标准,可适用于每一种Unix系统。不要听到有些人告诉你vi非常难学
而被吓倒。学好它所需要的是实践练习和好的教科书。
如果你现在正使用Unix系统,那么花时间去学习如何使用vi文本编辑
程序是值得的。
教你如何使用vi——和Unix一般知识——最好的书籍是Harley Hahn
著的《A student's Guide to Unix》(M6Graw—Hill 1993)。
另外一点需要懂得的是:回复一篇文章最好不要发送应答文章。所有
的新闻阅读器都能容易地给文章的作者发电子邮件。这要看你的回复对所
有的人都感兴趣或是只对作者感兴趣;如果你的应答对于所有人都感兴趣,
那么可以发送后续文章; 如果你的应答只是一般性的, 那么可以通过电
子邮件回复。
在多数情况下,你最好是以给作者发邮件的方式来响应文章,而不是
以投递应答文章的方式,因为应答文章会传遍全世界各地。
当你确实需要发送应答文章,新闻阅读器会很方便地在其中引用( 包
含)原来文章所有或部分内容。 它是编辑与你应答文章不相关的所有原来
文章内容的最好方式。(详见第十章。)在阅读跟踪文章中,使人最为恼火
的是作者大量引用原文而仅在末尾只加几行评论。
当我们建立一个应答文章时,要删去原来文章中所有多余内容, 以使
其他人容易阅读。作为首要的原则,引用部分不应该超过你自己的评论(
一些新闻阅读器执行这一规则)。
当你第一次开始投递文章时,你可能希望发送一到两篇练习文章。你
应该知道,对于这样的试验有专门的新闻组。在表11-1中,列出了一些在
主流和选择性的等级体系中的练习新闻组。 所有的新闻组名都是以“
.text”结尾。在任何时候,你都能传送练习文章到其中一个新闻组。
如果有本地的等级体系(参见第九章),你可以找到一个本地试验新闻
组。如果是这样的话,这是投递练习文章最好的地方。另外,你应该使用
misc.test(把练习文章投递到主流新闻组)或使用alt.test(发送至选择性
新闻组中)。
当你想要练习投递一篇文章时,只能使用.test新闻组。 投递一篇练
习文章到非.test新闻组中会被认为是一种不友好的方式。
我们曾在第十章中提到,你可以在你发送文章的末尾,通过你的目录
建立一个名为.signature的文件来附上你的签名。当你正在试验一个新的
签名时,你可以投递练习文章到表11-1中所列新闻组中其中的一个,并且
看看新的签名是否正确。
在Internet上有许多的计算机 运行查询和响应.test新闻组中文章的
专用程序。如果你投递一篇练习文章,你能得到自动的响应。并且通过电
子邮件,告诉你练习文章已经传送到了某某计算机。
新闻组名
alt.test
bit.listserv.test
biz.test
gnu.gnusenet.test
u3b.test
vmsnet.test
misc.test
表11-1供练习用的新闻组
我们想要提到的最后一点是,在你投递文章之前你应该掌握Usenet的许
多规定和惯例。我们在第十章中已讨论了这些观点。尤其是,在你发一个
问题到新闻组之前,必须确认你已经读过FAQ(频繁被问问题)表, 如果该
新闻组有这样一份表的话。
如果你是一个新的用户 , 这里有一专为新用户建立的名为 news
.newusers.questions的新闻组。在这个新闻组中, 有许多关于规则的文
章解释有关Usenet的所有问题。同时它也是你发送有关使用Usenet的问题
的地方。如果你有关于使用新闻阅读器的问题,你可以把问题发送到news.
software.readers中。
.newsrc文件的格式
正如在以前的章节中我们解释的那样,新闻阅读器保留了一个名为“.
newsrc”的文件来跟踪你选择的新闻组和已经阅读过的文章。
在这部分,我们将叙述这个文件的格式,以使你知道怎样使用文本编
辑器,怎样修改你自己的.newsrc文件。如果你不关心这些内容的话, 跳
过这部分内容也无妨。
为什么你需要编辑.newsrc文件,这里有两个原因。第一, 你可能想
要改变新闻组的顺序。当你启动新闻阅读器时,它将依顺序寻找新闻组,
通过编辑.newsrc文件,你可以首先显示更有趣的新闻组。你也可以使用
新闻阅读器来作这样的修改,但是不如直接编辑.newsrc文件容易。
编辑.newsrc文件的第二个原因, 你可能对选择的新闻组的预订会作
一些变动——也就是说,更加详细确切地说明你想要阅读哪一新闻组。通
过利用新闻阅读器,你可自动地终止预订。通常,你却并不想全部终止订
阅,仅想终止少数新闻组。你可以通过新闻阅读器完成这些工作。但是如
果你想要做大的变动,直接编辑这个文件会更快一些。
在你编辑.newsrc文件以前,先保存一副本。 如果你损坏了你的原始
文件,你仍能从副本中得到恢复。这对于编辑任何一个重要的文件来说,
都是很好的建议。
.newsrc文件存在于用户的目录中,而且新闻阅读器能自动保存。 所
有的新闻阅读器都使用这个文件,并且它只有一种格式。
对每一新闻组只有一行,它包括:
新闻组名
冒号(:)或感叹号(!)
空格
编号清单
如果一个新闻组名后跟有一个冒号(:),它表示你选择了当前组。感
叹号(!)表示你没有选择。编号清单指的是你已经阅读过的文章(你也许记
得,当文章传送到了新闻服务器后,每一篇文章都被赋以一个编号)。 编
号清单包含单个编号或编号范围,以逗号隔开。
这里是从一个典型的.newsrc文件中选出的几行:
alt.fan.wodehouse: 1-819
rec.humor.funny: 1-8192
rec.humor: 1-41234,41236,41239
comp.unix.questions! 1-6571
misc.books.technical!
你可以看到前三个新闻组是被预订了的,而后两组没有被预订,在每
一新闻组中,你同时也能看到哪些文章已经读过。例如,在rec.humor中,
1—41234和41236、41239号文章已经阅读过了。
如果一行中没有任何编号,它表示那一新闻组中的文章还未被读过。
misc.books.technical就属于这种情况。
最后说明的是,尽管comp.unix.questions没有被预订, 但它却在其
它某个时候被预订过,因为其中1-6571号文章已阅读过了。
编辑.newsrc文件时,把你最喜欢的新闻组放在前面。