跳到内容

Oberon/ETH Oberon/教程/互联网

来自维基教科书,开放世界中的开放书籍

这些教程页面由 André Fischer (afi) 编写,并得到Hannes Marais 的编辑帮助,托管在ETHZ,并保留在ETH 许可 下。相关内容可以通过 Book.Tool 在系统中找到。扩展内容也可以在纸质版 上找到。一些教程页面在WayBack 存档 中。

互联网指南

教程目标

[编辑 | 编辑源代码]

关于互联网,人们已经说过和写了太多,因此提供另一个“访问互联网的终极完整参考材料”是徒劳的。走进任何一家出售电脑书籍的书店,看看“互联网”书架:您会很快发现互联网非常流行且需求量很大。从一些书籍的庞大体积,您也可以推断出互联网很难学习和使用,如果要使用 Unix 命令掌握所有互联网服务,这并不完全错误。

因此,我们明确的目标是引导您完成使用现有工具的实践培训,并辅以对操作原理的清晰简洁描述以及对所用命令的定义。很少花时间来描述和定义各种互联网服务:书籍已经包含大量且合适的材料。最后,您应该相信使用互联网很简单 - 当然是用 Oberon!Oberon 不是唯一一个将集成互联网连接程序作为免费赠品包含在内的系统,但它与众不同。

首先,看一下目录,浏览到您需要的内容,然后选择该主题。有很多东西可以探索。玩得开心!

估计时间:大约 4 小时(全部)。只能少量食用。

互联网连接

[编辑 | 编辑源代码]

此版本的 Oberon System 3 能够连接互联网,即只要满足一些先决条件,本版本提供的系统扩展,以及包含的工具和文档,就可以让你访问互联网。互联网是一个横跨全球的计算机网络。互联网的参与者包括大学、大型公司、非营利组织和想要获取、分发和共享信息的个人。

先决条件

[编辑 | 编辑源代码]

Oberon for DOS: 你需要在你的 config.sys 中安装你的网络硬件(通常是以太网)的包驱动程序。

此外,你还需要创建一个名为 "Hosts.Text" 的文本文件,其中包含以下行:

255.255.255.192 netmask
129.132.134.1 gwy:lillian-gw lillian-gw.ethz.ch
129.132.1.11 dns:dns1 dns1.ethz.ch
129.132.134.9 hst:pankow pankow.inf.ethz.ch

其中前缀 gwy:、dns: 和 hst: 分别指定网关、域名服务器和本地主机。条目 netmask 和 domain 指定默认域名和子网特定的网络掩码。网络掩码、网关和本地主机需要由用户指定。域名、网络掩码和域名服务器可以省略。在这种情况下,默认设置是 ethz.ch 作为域名,129.132.1.11 和 129.132.1.12 作为 ETH 域名服务器。实际网络掩码将通过 ICMP 协议从网关查询。

限制: 域名服务器的最大数量为四个!

Oberon for Windows: 使用互联网工具需要 Windows 的 WinSocket 实现。一个名为 Trumpet 的共享软件实现可以在大多数 FTP 服务器上获得。安装 WinSockets 后,你需要在你的 "oberon.ini" 文件中添加一个名为 NetSystem 的新部分(并根据你的机器细节进行适当的更改)

[NetSystem]
HostName=machine.domain
HostIP=255.255.255.255

HostName 是你的机器名称,HostIP 是它的 IP 地址。你可以将这两个条目都省略,这样系统会尝试自行找出这些信息(这是最好的做法)。使用命令

System.State NetSystem

来查看 HostName 和 HostIP 是否已设置。如果没有,你需要在 ini 文件中添加 HostName 和 HostIP 条目。通常,只添加 HostName 就足以让系统找出 HostIP 条目。

MacOberon: 需要来自 Apple 的 MacTCP 或包含 MacTCP 的 System >= 7.5 来使用互联网工具。

最后,如果你不熟悉互联网,阅读一些出版的书籍或计算机报刊上的文章,了解一下互联网将是一个好主意。

互联网轻松使用

[编辑 | 编辑源代码]

如何阅读世界范围内的讨论组中的文章?选择你想到的主题,很有可能你会找到这样的文章。这不是一份文档吗?要么是一篇“简单”的文本,要么从更广泛的意义上来说,如果你选择了地理或电影作为主题,它就是一篇带有图片的文本。如果选择了电影作为主题,文档甚至可以包含声音片段。

好吧,使用 Oberon,你习惯了使用命令打开(准确地说是)文档:

Desktops.OpenDoc documentLocator

Oberon 中的这个互联网连接包使用基于文档的方法来访问互联网资源。你不必为你要使用的每项服务都学习一个不同的界面及其所有特性。所有服务都以统一的方式呈现并被隐式调用;也就是说,特定于服务的技术细节由系统在幕后谨慎地处理。

好像这样还不够简单,你甚至可以使用面板和超文本文档的形式,来使用精细的图形界面,这样你甚至不需要自己指定定位器。

智能文档的文档定位器

[编辑 | 编辑源代码]

为了识别资源(以访问)、它们的位置和获取它们的方法,提供了一个通用方案。它基于特定于互联网的 统一资源定位器 (URL),其中忽略了一些元素,并扩展了以相同方式处理本地文档和其它资源的选项。使用这个方案,可以访问各种资源作为“简单”的文档,并使用 Desktops.OpenDoc 命令打开它们。例如,假设你听说过 WWW 上存在 Spirit of Oberon 的主页。你只需要找到它的 URL,你就可以使用以下命令访问它:

Desktops.OpenDoc "http://huxley.inf.ethz.ch/~marais/Spirit.html"

请注意,定位器用双引号 (") 括起来。这是因为字符串中出现了除 "." 之外的特殊字符。

通用方案的强大之处在于,同一个设备可以定位 WWW、新闻组或 Gopherspace 中的资源,可以通过 FTP 或 Telnet 访问,可以定位你的邮箱或硬盘上的本地文件。以下是一些你可以访问的资源类型的示例:

"http://www.inf.ethz.ch/"
"gopher://gopher.ethz.ch"
"mailto:[email protected]"
"ftp://huxley.inf.ethz.ch/"
"telnet://ethics.ethz.ch"
"news:comp.lang.oberon"
"nntp:comp.lang.oberon/144"
"file://Internet.html"

使用 Oberon,一切都变得更简单,包括互联网!

本地文件定位器的意义

[编辑 | 编辑源代码]

当访问 WWW 中的文档(一个 HTTPDocs 文档)或 Gopher 中的文档时,你会注意到文档的名称是它的 URL。你会看到,可以将文档下载到本地文件。即使从 Web 上获取这些文件,也可以像浏览 Web 上的文件一样浏览它们。

文档定位器语法

[编辑 | 编辑源代码]

对于那些有兴趣的人,这里有一个文档定位器语法的 EBNF 描述。所有非终结符都在之后描述。

documentLocator =
"mailto:" user "@" host .
| "telnet://" [ user [ ":" passwd ] "@" ] host [ ":" port ] .
| "http://" host [ ":" port ] [ "/" path ] [ "?" query ] .
| "news:" ( group | msgid "@" host ) .
| "nntp:" group "/" artnr .
| "ftp://" [ user [ ":" passwd ] "@" ] host [ ":" port ] "/" path ] .
| "gopher://" host [ ":" port ] [ "/" type [ selector [ "?" query ] ] ] .
| "file://" filename
host = hostname | IPaddress
hostname = namepart { . namepart }
namepart = letter { letter | digit }
IPaddress = digits . digits . digits . digits
digits = digit { digit }
port = digits
artnr = digits
group = namepart { . namepart }
filename = namepart { . namepart }

注意: 这是 IETF URI 工作组于 1993 年 11 月发布的特定 URL 方案的简化版本 - "http://www.w3.org/hypertext/WWW/Addressing/Addressing.html"

使用邮件

[编辑 | 编辑源代码]

连接到邮件服务器

[编辑 | 编辑源代码]

为了能够发送和接收邮件,你必须能够访问互联网邮件存储库。Oberon System 3 包含一个免费的交互式邮件程序。

工作原理

[编辑 | 编辑源代码]

邮件程序使用邮局协议(POP)从互联网主机接收邮件。这样的邮件程序通常被称为用户代理。您可以检查您的邮箱,查看是否有邮件到达。邮箱中的邮件可以读取、接收、回复或删除。接收邮件意味着将邮件转移到本地邮件数据库中,并从中央邮箱中删除。本地邮件数据库中的邮件通常可以读取、回复或删除。本地邮件数据库可以搜索用简单查询指定的特定邮件。 新邮件或对已接收邮件的回复,可以编辑并使用标准简单邮件传输协议(SMTP)发送。
技术提示:其他广泛使用的 PC 和 Macintosh 邮件程序也是基于 POP 的用户代理,它们利用了这个协议,但几乎所有这些程序都会将您地址的邮件从邮件存储库移动到您的计算机,并在您的计算机上存储为常规文件。这个程序从中央存储库读取您的邮件,而无需先将它移动到您的计算机。

每次您想要使用邮件时,您都必须事先以三种方式设置您的系统。首先,您必须使用邮件面板中标题为“设置”的图标化程序定义您的安装环境。

其次,要读取您的邮箱,您必须以以下两种方式之一输入您的用户 ID 和密码

  • 使用邮件面板中的“设置用户”按钮
  • 通过执行与该按钮关联的 NetSystem.SetUser 命令

第三,要发送邮件,您必须执行命令 NetTools.Set EMail

请注意,每次启动 Oberon 时,您都必须输入您的用户 ID 和密码:这些值不会永久存储。
注意,安全隐患:这两个值,尤其是您的密码,可以使用 System.State NetSystem 命令轻松检索。请记住,当您离开您的电脑无人看管时!要更改您的密码,请使用 Telnet 访问您的邮件服务器并执行 Unix passwd 命令。

交互式使用邮件

[编辑 | 编辑源代码]

要撰写发给用户的邮件,请打开一个文档,其文档定位符具有以下语法

"mailto:" 用户 "@" 主机

尝试编辑发给 Oberon 开发团队的邮件,使用

Desktops.OpenDoc "mailto:[email protected]"

将打开一个名为“[email protected]”的查看器。第一行已经为您准备好了:它是一个“To:”标题行,包含从定位符中提取的收件人地址。您现在可以在查看器中设置插入符并开始撰写邮件文本。您可以在“To:”行中添加任意数量的地址,并且您可以写入任意数量的附加“To:”行,将共享相同主机的收件人分组。最后,您可以在“Cc:”(抄送)行中添加任意数量的地址,以指定您希望向谁发送邮件副本。

建议以“Subject:”标题行开头。您也可以将查看器中选择的任何其他文本合并到此查看器中,这是一个简单的设备,为向个人发送文件或 Oberon 文档问题提供了一个简单的解决方案。

如果之前设置过邮件面板,文本字段小工具将包含您的 SMTP 服务器名称。如果该字段仍然包含默认值

最后,通过单击“发送”按钮发送邮件。您可以在同一个文档查看器中立即开始撰写新邮件。您需要做的就是擦除之前输入的所有内容,并根据需要修改“To:”标题行。

使用邮件面板

[编辑 | 编辑源代码]

Desktops.OpenDoc Mail.Panel

邮件面板在逻辑上分为邮件列表(上半部分)和控制面板(下半部分)。我们现在将回顾控制面板按钮的功能。请注意,系统的反应可以在面板中间的“状态”文本字段中跟踪。

从面板的上半部分开始,您有一系列按钮

在邮件列表中,每条邮件都会显示一行描述或标题摘要。最近的邮件位于顶部。如果没有等待的邮件,则“状态”字段中会显示“无邮件”。

如果您单击列表中的邮件摘要行,邮件将在名为“Mail.Text”的文档查看器中显示。

命令 NetSystem.SetUser 用于在访问您的邮箱之前标识自己。执行命令时,鼠标指针会冻结。然后,您必须盲目输入密码,也就是说,密码不会在屏幕上回显。密码输入必须以 ENTER 或 RETURN 键结束。密码的最大长度为 64 个字符。

[获取] 将服务器上排队的邮件检索到 MailMessages 文件。如果 MailMessages 还不存在,则会创建它。根据配置设置,检索到的邮件将从服务器中删除或保留在服务器中。

[发送 *] 将标记的文本发送到“To:”标题行中出现的地址。邮件文本必须按上一节中描述的方式撰写。没有已发送邮件的日志,但 AutoCc 配置设置将产生一份发送给发件人的副本。

[设置] 单击图标化程序中的小方块将其翻转到“邮件设置”面板。现在,在相应的文本字段中输入 POP 服务器和 SMTP 服务器的名称。三个单选按钮定义用于发送(由 Mail.Send 命令执行)的mime 参数。翻转图标化程序,并使用 [存储] 按钮使更改永久生效。

[回复] 将打开一个名为“Mail.Out.Text”的文档查看器,其中包含两行标题:“To:”和“Subject:”,准备回复在最近选择中找到的地址。该地址将显示在“To:”行中。您现在可以键入邮件正文。要发送它,请标记它,然后单击“发送”按钮。使用 F2 键清除任何选择,可以打开一个空邮件模板以创建新邮件。

[引用 ^] 在回复邮件时,您可以通过复制或复制(根据您的喜好)来引用文档查看器中显示的邮件的任何部分。选定的文本段将插入回复中的插入符,并且每行都将以“> ”为前缀。

将查看器文本作为邮件发送

[编辑 | 编辑源代码]

您可能已经注意到(在发送 * 和回复 ^ 中),在撰写邮件后,只需标记查看器并单击“发送 *”按钮即可将其发送。因此,任何查看器中显示的文本,只要添加了至少一行“To:”行,其中包含至少一个有效的地址,就可以以相同的方式发送。此外,它甚至可以在不使用邮件面板的情况下发送;也就是说,可以通过直接执行与“发送 *”按钮关联的 Mail.Send 命令来完成。

Mail.Send smtpServerName [mime] * 将标记的文本发送到“To:”标题行和“Cc:”行中列出的收件人,通过指定的 SMTP 主机发送。如果指定,mime 可以取以下值

ascii - 发送纯 US ASCII 文本
iso - 发送纯 8 位 ISO 文本
oberon - US ASCII 带有 application/oberon doc
ooberon - 仅 application/oberon doc

邮件命令

[编辑 | 编辑源代码]

前面描述的每个按钮都是与邮件模块的命令相关联的小工具。这些命令与前面描述的邮件面板密切相关。也就是说,它们无法在为其设计的上下文之外执行,除了 Mail.Send 之外。

将数据编码为 ASCII

[编辑 | 编辑源代码]

使用 SMTP,互联网主机只能发送文本数据。Oberon 连接通过提供使用辅助模块AsciiCoder 将“二进制”文件和文档(包含嵌入对象)转换为纯 ASCII 字符串来避免这种困难。生成的文本将在文档查看器中呈现,可以合并到邮件撰写过程中的邮件中。对于此类邮件的收件人,同一个模块提供了解码邮件编码部分的逆变换。为了节省传输时间,可以选择压缩文本(在命令中使用“%”选项)。AsciiCoder 是 Oberon 的 Unix uuencode/uudecode 版本,最终与 compress/uncompress 的使用相结合。

术语“编码”和“解码”并不表示“加密”。

通过邮件发送文本文档和文件

[编辑 | 编辑源代码]

可以通过将 Oberon 文本文档和文件的任意内容转换为纯 Ascii 数据流,将它们通过电子邮件发送,使用
AsciiCoder.CodeTextAsciiCoder.CodeFiles

通过邮件接收文本文档和文件

[编辑 | 编辑源代码]

通过电子邮件接收的具有任意内容的 Oberon 文本文档和文件可以使用以下方法转换回来
AsciiCoder.DecodeTextAsciiCoder.DecodeFiles

自动转发您的邮件

[编辑 | 编辑源代码]

如果您想在您不在时让邮件服务器转发您的邮件,请创建一个名为“.forward”的文件,其中包含一行,该行包含您的邮件要转发的地址。使用 FTP 访问邮件服务器上的主目录,并将文件传输到该目录。

要停止转发,请使用 FTP 访问邮件服务器上的主目录,并删除该文件。

访问 Usenet 新闻组

[edit | edit source]

Usenet(“用户网络”的缩写)通常被称为新闻网络新闻,即使在报纸意义上没有多少真正的新闻。Usenet 是一个庞大的讨论组集合,围绕着无数个主题。Oberon 语言和系统是此类讨论组的主题:comp.lang.oberon。注意:在接下来的解释中,我们将假设您熟悉新闻组命名约定,这些约定可能在前面的示例中得到识别。

讨论组有时被称为新闻组或简称为。在每个新闻组中,各个贡献被称为文章帖子

连接到新闻服务器

[edit | edit source]

为了能够阅读新闻组中的文章,您必须通过 Internet 访问 Usenet 站点。Oberon 系统 3 免费包含一个交互式新闻阅读器。

技术提示:Usenet 文章使用 NNTP(网络新闻传输协议)传输。新闻模块直接实现此(仅此)协议。

注意 1:因此,可以避免通过某些读者可能已经使用过的“传统”新闻阅读器(例如 rn、trn、nn 或 tin)进行通信。

注意 2:不支持其他网络安排,例如 UUCP。

您将从中获取文章的站点由其名称标识,例如 ftp.inf.ethz.ch。在访问新闻服务器之前,必须设置其名称。

设置 NNTP 主机名 - NetTools.Set

[edit | edit source]

NetTools.Set NNTPHost (hostName | ^) 设置或更改将与之交换文章的 NNTP 主机的名称。通过将名称存储在名为 Net.Lib 的公共库中,该设置将永久保存。您只需设置一次。

检查 NNTP 主机名 - NetTools.Get

[edit | edit source]

NetTools.Get NNTPHost 检查当前设置并在 Oberon 日志中显示它。

您的 NNTP 主机维护的新闻组

[edit | edit source]

有多少个组?- News.ShowAllGroups

[edit | edit source]

News.ShowAllGroups 打开一个名为“所有组”的文本文档查看器,其中列出了新闻服务器维护的所有组的名称。该列表不会让您更容易选择新闻组。截至目前,“ftp.inf.ethz.ch”承载了 2,500 多个项目。但是,它将清楚地表明定义和维护个人新闻组列表的重要性。

有新的新闻组吗?- News.ShowNewGroups

[edit | edit source]

News.ShowNewGroups 打开一个名为“新组”的文本文档查看器,其中列出了自上次使用该命令以来添加到新闻服务器的所有新组的名称。

维护您的个人新闻组列表

[edit | edit source]

Desktops.OpenDoc News.Tool

News.SubGroup (groupName | ^) 订阅groupName

News.UnsubGroup (groupName | ^) 取消订阅。

News.SubscribedGroups 打开一个名为“已订阅组”的文本文档查看器,其中列出了您打算订阅的新闻组的名称。此信息基于本地文件“News.Read.Text”的内容,该内容由后续的“订阅”和“取消订阅”命令累积修改。该文档呈现了一个超文本组名称列表,以蓝色显示。每个元素都可以使用鼠标中键单击进行选择,如下所述。

选择新闻组

[edit | edit source]

选择新闻组是打开一个文档,其 文档定位器 具有以下语法

"news:" group - 或
"news:" xalphas "@" host

尝试使用以下命令访问 Oberon 语言和操作系统组

Desktops.OpenDoc "news:comp.lang.oberon"

或者,您可以通过启动一个News.SubscribedGroups命令,并通过鼠标中键单击文档查看器中显示的列表项之一,来使用稍微更直观的 方法。

然后将向您呈现另一个具有以下外观的文本文档

显示选定新闻组名称的顶行后面是关于每篇文章的信息,以简短的一行描述的形式。从左到右阅读,您会找到文章编号,然后是三行文章标题内容:“主题”、“来自”和“日期”。后续文章由初始文本“Re: ”明确指出。未读文章以红色识别,而蓝色表示已读文章。

请注意,关于已读文章(以蓝色显示)的信息将仅在您下次打开该新闻组时显示。

同样,此文档也组织为超文本,其中可以使用鼠标中键单击选择红色或蓝色的文章编号。

选择和阅读文章

[edit | edit source]

以下是关于如何阅读和解释新闻文章标题的简要说明。

路径:列出文章要到达您的新闻服务器所经过的计算机的名称。从右到左阅读列表!名称用“!”分隔。

来自

新闻组:指定文章发布到的新闻组。当您阅读特定组的文章时,这些文章显然已发布到该组。但是,如果您查看旧文章(您之前保存的),则了解文章出现在哪个组中非常方便。

消息 ID

NNTP 发布主机

或者,您可以直接根据其在选定新闻组中的编号选择文章。以下是如何指定此请求的示例

Desktops.OpenDoc "nntp:comp.lang.oberon/4932"

之前已描述了 正确的语法。不要忘记将参数用双引号“""”括起来,因为存在特殊字符。

不幸的是,该示例很可能无法产生可用的结果,因为该编号不再存在(请查看 Oberon 日志)。

发布文章 - News.PostArticle

[edit | edit source]

发布文章之前,必须使用 NetTool.Set 命令设置您的电子邮件地址。如果未设置电子邮件地址,NNTP 服务器将不会接受您的文章。此电子邮件地址将在文章发布时出现在文章的“来自:”标题行中。

设置您的电子邮件地址 - NetTools.Set

[编辑 | 编辑源代码]

NetTools.Set EMail (电子邮件 | ^ ) 将您的电子邮件地址永久保存到公共库 Net.Lib 中。如果已设置电子邮件地址,则会更改为新的地址。

检查您的电子邮件地址 - NetTools.Get

[编辑 | 编辑源代码]

NetTools.Get EMail 会在 Oberon 日志中显示当前的电子邮件地址。

文章结构

[编辑 | 编辑源代码]

最简单的文章至少包含以 "Newsgroups:" 和 "Subject:" 开头的标题行。

系统会自动添加 "From:" 和 "NNTP-Posting-Host:" 标题行。

News.PostArticle [mime] * 使用指定的 mime 发布选定的文本。MIME 代表多用途互联网邮件扩展。mime 参数可以取以下值

ascii : text/plain, us-ascii
iso : text/plain, iso 8bit
oberon : 包含 application/oberondoc 附件的 text/plain
ooberon : 仅 application/oberondoc

如果省略 mime 参数,系统会自动选择最合适的传输方式,即

- 简单的文本,没有不同的颜色或字体
没有变音符号 -> ascii
有变音符号 -> iso
- 没有对象但有不同颜色或字体的文本 -> oberon
- 带有对象的文本 -> ooberon

如您所料,除非新闻阅读器支持 MIME,否则包含富文本的文章的接收者无法处理它。显然,使用 Oberon 的接收者可以阅读此类文章。但是,您可以预期帖子和回复通常需要使用 asciiiso 作为 mime 参数。

您可能已经注意到,您可以向您未订阅的新闻组发布文章。新闻服务器 ftp.inf.ethz.ch 包含一个名为 inf.test 的新闻组,用于专门测试发布和回复的实际工作方式。将此新闻组用作操场或沙盒:您不会干扰任何其他人。不必说,此新闻组是该服务器的本地新闻组,不会被馈送到 Usenet 的其他部分。

回复文章 - News.FollowupArticle

[编辑 | 编辑源代码]

使用 News.FollowupArticle 命令回复给定文章。使用该命令的步骤与 News.PostArticle 命令的步骤相同,只是必须选择要回复文章的开头部分。

常见问题解答列表 - FAQ

[编辑 | 编辑源代码]

FAQ 列表是一份由志愿者维护的文档,其中识别并解答特定新闻组中经常问到的问题。许多新闻组都有 FAQ 列表,维护者会定期对其进行修改。虽然并非所有新闻组都有此类列表,但 Oberon 有。在阅读相关的 FAQ 列表之前,不要在新闻组中提问,这被认为是礼貌的行为。

使用

Desktops.OpenDoc "news:news.answers"

您可能很幸运地找到与 comp.lang.oberon 相关的 FAQ 列表。但是,我们建议通过 FTP 获取这些列表。

文件传输协议 - FTP

[编辑 | 编辑源代码]

文件传输协议 (FTP) 使您能够将文件从您的计算机移动到另一台计算机,即使另一台计算机具有不同的操作系统和文件存储格式。文件可以是数据、程序、文本 - 任何可以在线存储的东西。

登录到您的本地计算机

[编辑 | 编辑源代码]

FTP.SetUser userName"/" 设置 userNamepassword。斜杠 "/" 是必需的分隔符。userName 和斜杠之间不允许空格。userName 的最大长度为 32 个字符。

当调用该命令时,必须盲打密码,即不会在屏幕上回显。密码输入必须用 ENTER 或 RETURN 键终止。密码的最大长度为 64 个字符。

注意:这是 Oberon 系统中为数不多的几种需要用 ENTER 键终止的模态命令之一。

注意,安全隐患:这两种值,特别是您的密码,可以使用 System.State FTP 命令轻松检索。请记住这一点,尤其是在您离开电脑无人看管时!

要更改您的密码,请使用 Telnet 访问您的 FTP 服务器并执行 Unix passwd 命令。

匿名 FTP

[编辑 | 编辑源代码]

匿名 FTP 是一种功能,允许您访问远程 FTP 服务器并下载文件,而无需注册为用户。这种功能由许多 FTP 服务器提供,这些服务器(由系统管理员)设置为使用名为 anonymous 的特殊用户 ID,允许互联网上的任何人使用。从功能上来说,匿名 FTP 的工作方式与普通 FTP 相同。但是,有两个区别

  1. - 您必须输入您的邮件地址作为密码。这样,服务器维护者可以跟踪谁在访问他们的文件。
  2. - 您只能访问已声明向公众开放的某些目录(由系统管理员)。其他目录则被限制访问。作为额外的安全措施,大多数此类 FTP 服务器允许您下载文件,但不允许上传。如果这些限制不适合您的目的,则需要注册到系统,获得标准用户 ID 和密码。

通常,所有公共目录都位于名为 pub 的目录中,它是主目录的子目录。

交互使用 FTP

[编辑 | 编辑源代码]

访问远程 FTP 服务器上的文件或目录,就像打开一个文档一样,该文档的 文档定位符 具有以下语法

"ftp://" [ user [ ":" password ] "@" ] host [ ":" port ] "/" path

尝试访问包含 Oberon 软件的目录

Desktops.OpenDoc "ftp://huxley.inf.ethz.ch/pub/"

在 FTP 服务器上导航

[编辑 | 编辑源代码]

Desktops.OpenDoc '"ftp://' serverName '/' [path '/' [docuName]] '"' 打开一个名为 serverName 的文档查看器,显示 path 指定的目录中的条目(文件或子目录名称),或者如果省略 path,则显示对公众开放的根目录。它是一个超文本文档,其中以蓝色突出显示的条目是子目录。使用鼠标中键单击此类蓝色文本元素,文档内容将替换为下一级目录的类似列表。请注意,顶部文本字段显示当前子目录。

如果 docuName 附加到终止路径的 "/" 后面,则会显示文档本身。尝试以下操作并观察差异

Desktops.OpenDoc "ftp://huxley.inf.ethz.ch/pub/Tools/Sieve.Mod"
Desktops.OpenDoc "ftp://huxley.inf.ethz.ch/pub/"

顶部的菜单栏中有一个 "后退" 按钮。单击它后,文档内容将再次替换为上一级目录的列表。可以重复此过程,直到访问主目录。如果使用匿名 FTP,则为主目录是面向公众开放的根目录。

大多数 FTP 主机都是基于 Unix 的系统,但是这种演示方式确实非常直观,您实际上不需要了解任何有关 Unix 文件系统的知识。但是,有些人可能已经认识到在文档查看器中使用 dir 命令获得的信息。

控制文件传输

[编辑 | 编辑源代码]

文件传输由菜单栏中的一组按钮控制。在单击按钮之前,必须选择一个文件(或文本)名称。这些按钮按从左到右的顺序排列,描述如下。

显示 ^:将选定的文件传输到您计算机上的临时文件,并打开一个名为 "file://FTP.Temp" 的文档查看器,显示该文件的原始内容。

ASCII ^:将选定的文件传输到您计算机上的临时文件,并打开一个文档查看器,显示该文件的 ASCII 文本内容。

获取 ^:将选定的文件从服务器传输到您的计算机(下载)。

上传 ^:将选定的文件从您的计算机传输到服务器(上传)。

PutT ^: 将选择区域中的文本从您的计算机传输到服务器(上传)。仅传输 ASCII 内容:颜色、字体、对象等将被忽略。所有文本都将转换为 ISO-8859-1。

Del ^: 从服务器删除选定的文件。

终止 FTP

[编辑 | 编辑源代码]

通过点击菜单栏中的“关闭”按钮,关闭与 FTP 服务器的连接。

使用命令控制 FTP - FTPTool

[编辑 | 编辑源代码]

FTPTool 模块提供了一组命令用于控制与 FTP 服务器的通信。这些命令集中在文本工具 FTP.Tool 中,可以分为三类

  • 用于连接/断开服务器的命令
  • 用于控制 FTP 服务器目录的命令
  • 用于传输文件的命令

连接到服务器 - FTPTool.Open

[编辑 | 编辑源代码]

FTPTool.Open (hostAddress | ^) 打开与指定主机的新 FTP 会话。它使用先前通过 FTP.SetUser 命令定义的用户名和密码。

断开服务器连接 - FTPTool.Close

[编辑 | 编辑源代码]

FTPTool.Close 关闭当前 FTP 会话。

FTPTool.ChangeDir

[编辑 | 编辑源代码]

FTPTool.ChangeDir (dirName | ^ | "..") 将当前目录更改为 dirName。如果指定了“..",则当前目录将设置为多级目录结构中的上一级目录,除非当前目录已经是根目录。

FTPTool.CurDir

[编辑 | 编辑源代码]

FTPTool.CurDir 显示当前目录路径。

FTPTool.Dir

[编辑 | 编辑源代码]

FTPTool.Dir 列出当前目录中的所有条目(文件或目录名称)。

FTPTool.DeleteFiles

[编辑 | 编辑源代码]

FTPTool.DeleteFiles ^ 删除当前目录中选定的文件。您不能使用此命令删除子目录。要删除子目录,请使用 FTPTool.RmDir 命令。

FTPTool.MakeDir

[编辑 | 编辑源代码]

FTPTool.MakeDir ^ 在当前目录中创建子目录。

FTPTool.RmDir

[编辑 | 编辑源代码]

FTPTool.RmDir ^ 删除多级目录结构中的空子目录。子目录必须为空才能删除。路径中的最后一个目录名称是将要删除的目录。根目录和当前目录不能删除。

FTPTool.GetFiles

[编辑 | 编辑源代码]

FTPTool.GetFiles ({remFileName => locFileName} | {fileName}) ~ 将列表中的二进制文件从远程服务器传输到本地计算机。当名称对中的两个名称相等时,可以使用单个名称作为简写。

FTPTool.GetTexts

[编辑 | 编辑源代码]

FTPTool.GetTexts ({remFileName => locFileName} | {fileName}) ~ 将列表中的文件从远程服务器传输到本地计算机。这些文件被视为 ASCII 文件,并从 ISO 8859-1 转换为 Oberon。当名称对中的两个名称相等时,可以使用单个名称作为简写。

FTPTool.PutFiles

[编辑 | 编辑源代码]

FTPTool.PutFiles ({locFileName => remFileName} | {fileName}) ~ 将列表中的文件从本地计算机传输到远程服务器。这些文件以二进制文件形式发送。当名称对中的两个名称相等时,可以使用单个名称作为简写。

FTPTool.PutTexts

[编辑 | 编辑源代码]

FTPTool.PutTexts ({locFileName => remFileName} | {fileName}) ~ 将列表中的文件从本地计算机传输到远程服务器。这些文件以 ASCII 文件形式发送。当名称对中的两个名称相等时,可以使用单个名称作为简写。

FTPTool.CompactDir

[编辑 | 编辑源代码]

FTPTool.CompactDir 列出当前目录中的所有条目(文件或目录名称),不包含任何其他信息。

对应表

[编辑 | 编辑源代码]

为了结束本章,所有介绍过的命令都收集在下表中。左侧的 FTP 命令用于交互式环境,即与按钮小部件相关联,而 FTPTool 命令可以在任何文档查看器中使用。为了完整起见,最后一列中列出了 Unix 系统的标准 FTP 命令。

FTP
命令
使用
按钮
FTPTool
命令
标准
FTP
ChangeDir 超文本 ChangeDir cd
后退 后退
CloseDoc 关闭 关闭
CurDir pwd
DeleteDocFile Del ↑ DeleteFiles delete
Dir dir
GetDocFile Get ↑ GetFiles get, mget
GetTexts get, mget
MakeDir mkdir
打开
PutDocFile PutF ↑ PutFiles put, mput
PutDocText PutT ↑ PutTexts put, mput
RmDir rmdir
显示 显示 ↑
ShowASCII ASCII ↑
SetUser

一个实际的使用示例

[编辑 | 编辑源代码]

假设在 Gopherspace 中移动时,您偶然发现了一个匿名 FTP 服务,该服务碰巧存储了一个非常有趣的您想存储在您首选服务器的主目录中的文件。通过 FTP 访问后者(您需要登录!)。现在,在第一个会话中 *获取* 文件,并在第二个会话中 *放置* 它。您将永远不需要使用 Unix 命令。

获取最新版本的 Oberon

[编辑 | 编辑源代码]

您可以从全球多个存档(镜像) Oberon 的服务器中获取最新版本的 ETH Oberon。原始文件位于 "ftp://ftp.ethoberon.ethz.ch/" [失效链接]。一个已知的美国位置是 "ftp.clark.net/pub/thutt/distrib" [失效链接]。[有关当前服务器,请参阅 变体 表格。]

检查您本地的 archie 服务器,以查找方便的来源。[在 2021 年,这是一个过时的建议。]

在 Oberon FTP 服务器上遇到的文件类型

[编辑 | 编辑源代码]

您可以预期遇到以 ".Arc" 结尾的文件名的 Oberon 存档文件。您可以在 压缩 教程中获取有关如何处理此类文件的的信息。UUDecode.Arc 是 FTP 服务器上的一个这样的文件。

使用 Telnet

[编辑 | 编辑源代码]

使用 Telnet,使用远程计算机就像使用本地计算机一样容易。不幸的是,除了使用舒适的用户界面之外,您将从舒适的 Oberon 世界中退出,并且,即使是最善意的人,也无法避免学习和使用另一种计算机语言来控制 Unix、VAX/VMS 系统或其他系统的痛苦。在头也不回地投入这些世界之前,请三思而后行,并注意除了下面描述的公共服务之外,您可能只需要与极少数的 Unix 主机交互,例如,一个用于邮件服务和一个 WWW 存储库。如果您需要管理文件和目录,请使用 FTP,即使要创建诸如 .plan、.project 或 .forward 之类的点 (.) 文件。确实可以使用 Internet 而无需使用 Unix **vi** 编辑器!此功能有多种形式

  • 要么您需要在远程计算机上拥有一个单独的帐户(用户名和密码)
  • 要么您原则上需要拥有一个单独的帐户,但远程计算机提供使用诸如 *guest* 之类的用户名打开芝麻,并警告说会应用访问限制(例如,使用 Desktops.OpenDoc "telnet://ezinfo.ethz.ch" 访问的 ETH 信息系统)
  • 要么您必须使用一个公开的帐户名,用户名为 *guest*、*visitor* 等等,以及一个简单的密码或根本没有密码。有关 Internet 的书籍通常在表格或附录中列出其中一些。
  • 要么您无需任何东西就可以访问公共服务,以下是一个示例。

登录后,您可以像平常一样使用该计算机,也就是说,您的计算机仅仅充当远程计算机的(模拟)终端。用作传输介质的 Internet 变得透明。Oberon System 3 免费提供 VT-100 终端模拟器。

交互式使用 Telnet

[编辑 | 编辑源代码]

访问远程计算机,就是打开一个文档,其 文档定位符 具有以下语法

"telnet://" [ user [ ":" password ] "@" ] host [ ":" port ]

尝试使用以下命令访问 ETH 图书馆系统 (ETHICS)

Desktops.OpenDoc "telnet://ethics.ethz.ch"

将打开一个具有特殊外观的文档查看器:您应该将其视为模拟终端的显示屏。将尝试与远程主机建立连接,并在查看器中报告其进度。看一下不寻常的插入符号形状(垂直矩形),它标记着下一个字符的位置。如果您将鼠标光标定位在查看器中并单击鼠标左键,插入符号将变为填充的矩形。键盘输入现在将被定向到该查看器。

如果由于某种原因尝试失败,将显示一条消息,说明发生了什么错误。您最好也查看 Oberon 日志。

从现在开始,您键入的任何内容都将由远程主机控制,远程主机通常会先显示一条信息性消息。如果您需要登录,系统会提示您输入 "login:" 行。像往常一样进行登录。否则,请按照说明操作。

要成功进行对话,您将需要一个用户指南,或者可以求助于在线帮助信息,通常可以通过输入 "?"、"help" 或对于 Unix 系统输入 "man" 来获取在线帮助信息。

终端模拟器查看器中的文本只会向前滚动,但来回传输的所有内容都将捕获到内部存储器中。现在,如果您单击标题栏中的 "OpenLog" 按钮,将打开一个名为 "Telnet.Log" 的文档查看器,该查看器将显示当前会话的日志。由于这是一个标准的 Oberon 文档,您可以向前和向后滚动它,甚至可以存储它,从而为您提供会话的持久记录。或者,您可以直接使用与该按钮关联的命令

TelnetGadgets.OpenLog

完成与远程计算机的工作后,请先按顺序结束对话,然后单击标题栏中的 "CloseCon" 按钮断开连接。或者,您可以直接使用与该按钮关联的命令

TelnetGadgets.CloseCon

没有标准的终止过程,尽管发出 "logout" 命令通常是正确的做法。相反,离开 ETHICS 等公共服务需要按 PA2 键,这可以通过在输入字段中键入 "A2" 并按 ENTER 来模拟。在后一种情况下,连接也将自动关闭。

最后,单击 "Close" 按钮。没有办法使用该查看器重新连接到服务器。

Telnet 面板

[编辑 | 编辑源代码]

Telnet 面板比交互式调用提供更多舒适性。首先,您可以重复使用它(无需关闭和重新打开)来连续访问多个服务器。其次,它可以针对常用命令进行略微自定义。

使用面板

[编辑 | 编辑源代码]

现在试试:Desktops.OpenDoc Telnet.Panel

打开的 "Telnet.Panel" 文档查看器包含与之前相同的终端模拟器,但在其上方,您会发现一系列按钮和一个包含模型模式 "user@host" 的文本字段。

文本字段接受以下格式的字符串

[ user [ ":" password ] "@" ] host [ ":" port ]

但通常只输入主机名或用户名 @ 主机名。使用后一种版本,您将在单击 "Open" 按钮后直接被提示输入密码。然后,您将进入与 "交互式使用 Telnet" 中描述的相同场景。在未受保护的字段中输入您的密码构成安全风险。

您还将识别 "Close" 和 "Log" 按钮(它们的功能与之前遇到的 "OpenLog" 相同)。

带有标题 "ESC"、"F1"、"F2"、"F3" 和 "F4" 的按钮对于与某些广泛使用它们的应用程序进行对话非常方便。无标题的图标化程序的使用方式如下:按住鼠标中键,拖动直到鼠标光标定位在五个菜单项之一上,最后释放鼠标键。将执行选择的 Unix 命令。可以自定义菜单项。

自定义图标化程序

[编辑 | 编辑源代码]

无标题的图标化程序在其背面隐藏了五个文本字段工具,您可以使用它们来存储常用的 Unix 命令。单击图标化程序上的小方块以将其翻转。您可以输入最多 5 个以 Unix 回车符 "\n" 结尾的 Unix 命令字符串。例如:“ls -al\n” 包括双引号 (")!

翻转图标化程序并单击 "Store" 按钮以使更改永久生效。

一些有用的 Unix 命令

[编辑 | 编辑源代码]

Unix 是一个庞大的主题,但可以概括为几个(不太)不可或缺的命令,您可能想将其记录在图标化程序菜单的位置

passwd: 用于更改您的密码(如果您决定不更改,请使用 CTRL-C)
who: 使用 Oberon 的 Finger.Finger - 请参阅下一章
finger: 使用 Oberon 的 Finger.Finger - 请参阅下一章

请认真注意这一点
CTRL-C: (称为中断键)用于中止正在运行的程序或命令。

手指世界

[编辑 | 编辑源代码]

Finger 是一个 Unix 客户端/服务器应用程序的名称,用于获取有关用户的的信息。Oberon 系统 3 包含一个更精化的手指客户端,免费提供。要使用下面描述的命令,无需使用 Telnet 并使用 Unix finger 命令。因为它可能有助于日常活动,所以我们为您提供了指定搜索所需的最低限度信息。

Finger.Finger 用户 ["@" 主机] 显示有关在指定主机上注册的所有名为“用户”的用户的信息。如果未指定主机,则搜索请求者的主机。

Finger 服务器在用户的家目录中查找两个名为 .plan.project 的特殊文件。如果存在 .plan 文件,则显示整个文件。否则将显示消息“无计划”。如果存在 .project 文件,则显示第一行。您可以使用 Oberon 在本地创建和编辑个人(原则上是纯 ASCII)点文件,并通过 FTP 将它们放置在您的家目录中。

您还可以通过插入以下行,将 Oberon 文本添加到 Oberon 用户的地址中
-----ASCIICODED
紧随其后是您要显示的 Oberon 文本的 AsciiCoded 版本。显然,只有使用 Finger.Finger 命令的 Oberon 用户才能收到明文文本。

Finger.Finger ["@" 主机] 显示在指定主机上登录的所有用户的摘要。如果未指定主机,则搜索请求者的主机。后一种情况产生的信息等同于使用 Unix who 命令获得的信息。

万维网 - WWW

[编辑 | 编辑源代码]

万维网 (WWW 或 W3) 目前是互联网上最流行的信息网络系统之一。可以在 WWW 中访问的项目范围包括超文本文档、图像、声音模式和视频序列。访问 WWW 文档是打开一个文档,该文档的 文档定位器 具有以下语法

"http://" 主机 [ ":" 端口 ] [ "/" 路径 ] [ "?" 搜索 ]

尝试访问苏黎世联邦理工学院 (ETH Zürich) 的 WWW 主页

Desktops.OpenDoc "http://www.inf.ethz.ch/"[1]
[编辑 | 编辑源代码]

超文本文档包含与链接交织在一起的数据。在 Oberon 中,链接以蓝色标记以突出显示,您可以通过单击(使用鼠标中键)选择一个链接。如果您这样做,您正在查看的超文本文档将被另一个由链接后面隐藏的信息识别的文档替换。通过单击菜单栏中的“后退”按钮来回溯。然后您将返回到上一个文档,但下面将描述更详细的移动策略。从一个链接移动到另一个链接称为在 Web 上导航,也称为在 Web 上冲浪。随着一些经验和技巧,您最终会找到您要找的东西。如果您找到一个真正值得记住的文档,您可以选择将其 URL 添加到 热门列表 中。

您正在使用的程序称为浏览器

偶尔,您会注意到 Web 速度很慢。当您连接到速度慢的 Web 服务器或接收包含嵌入图像的文档时,可能会发生这种情况。耐心等待!如果这正是速度慢的原因,请关闭 图像。否则,除了通过按 ESC 中断接收外,您几乎无法控制或停止正在进行的 Web 活动。将出现日志消息“中断”,但系统需要几秒钟才能恢复静止状态。

[编辑 | 编辑源代码]

要查看链接后面隐藏的内容,您可以在选择之前使用 HTTPLinks 面板。要检查链接,只需选择链接文本的任何部分,然后单击“检查”。

使用热门列表

[编辑 | 编辑源代码]

现在您应该对 WWW 有了一些经验,并对导航是什么样子有了感觉。一个问题是,在旅行时,您可能会仔细检查有价值的信息,但很快就会忘记您是如何获得它的。事实上,WWW 会为您获取它 - 无论它在哪里。

如果您决定您正在查看的 HTTPDocs 文档值得在以后重新访问,您只需将其标记并执行以下命令

HTTPDocs.AddToHotList [*]

将文档定位器添加到名为“HTTP.HotList.Text”的本地文件中。如果文件尚不存在,则会创建它。

可以使用以下方法检查和编辑当前的互联网资源热门列表(特别是用于删除过时的条目)

HTTPDocs.ShowHotList

或 Desktops.OpenDoc HTTP.HotList.Text 很明显。

这是一个热门列表的示例

该列表每行包含一个文档定位器,易于解释和编辑。您可以将其视为书签列表,并且可以使用它来使用下一个命令快速检索文档。

请注意,热门列表不是超文本文档,并且它还可能包含本地 HTTPDocs 文档的文档定位器(“file:...”)。

HTTPDocs.ReloadDoc ^

加载由(最近)选择标识的文档。通常,选择将放置在热门列表中出现的文档定位器之一上,但这不是必需的。您可以简单地在文档定位器上同时单击鼠标中键和左键来加载文档,而不是使用该命令。

HTTPDocs.History *

在 Oberon 日志中显示标记文档的历史记录。历史记录是代表通往此文档的行程的文档定位器列表。该列表在顶部显示最新的定位器,并且可能包含本地文件的定位器。

技术提示:从 Web 请求的文档将被下载并保存在本地缓存中。它们的文档定位器按历史记录排序,可以查询。本地文档不会被缓存,它们会立即被检索。

HTTPDocs 面板

[编辑 | 编辑源代码]

前面两节中描述的大多数功能都收集在 HTTPDocs 面板 中。您会很容易识别这些按钮的用途

  • 检查器 : 隐藏 HTTPLinks 面板的图标化程序
  • 到热门列表 *
  • 显示热门列表
  • 历史记录 *
  • 重新加载 ^

现在将描述其他按钮。

图像: 此切换按钮用于控制从 Web 接收的信息量,即是否应接收文档中包含的图像。关闭图像支持可能会大大减少下载 WWW 页面的时间。此操作由关联的命令执行

HTMLDocs.SwitchIMG

清除缓存: 释放所有从 Web 请求的文档占用的存储空间。相应的文档定位器不会从历史记录中消失。因此,当使用“后退”按钮时,文档将从服务器重新加载。此操作由关联的命令执行

NetTools.ClearCache

技术提示:对仍然存在于缓存中的文档的请求将通过从缓存中检索文档来快速响应,而不是下载它。因此,如果图像支持已打开(或关闭),请强制浏览器收集最新信息。

下载: 将选定链接后面的文档下载到右侧文本字段小部件中指定的本地文件。此操作由关联的命令执行

NetTools.DownLoadDoc 文件名 文档定位器 ~

其中,在此超链接上下文中,文档定位器很可能是以下形式

["http://" 主机[ ":" 端口 ] ["/" 路径"] ]

重要说明: 事实上,该命令更加通用和强大,因为第二个参数可以是几乎任何文档定位器。例如

NetTools.DownLoadDoc Attachments.Obj
"ftp://huxley.inf.ethz.ch/pub/OMI/Attachments.Obj" ~

但是,定位器可能不表示 FTP 目录或 Telnet 服务。

使用 Gopher

[编辑 | 编辑源代码]

Gopher 是一个强大的信息系统,它允许您以一种简单一致的方式访问许多互联网资源。在详细逐一介绍了一些重要且有用的互联网服务之后,我们可以将 Gopher 作为最接近“一劳永逸”的服务,它提供了一个通往互联网的独特窗口。接下来的描述应该会让这一点变得清楚。

连接到 Gopher 服务器

[编辑 | 编辑源代码]

要使用 Gopher,您必须通过互联网访问 Gopher 服务器。Oberon 系统 3 包含一个免费的gopher 客户端,它利用了 Oberon 的独特功能。

互联网上存在数千个 Gopher 服务器,它们存储着各种信息。每个这样的服务器都承载着对其服务社区的用户感兴趣的信息。例如,许多大学系都是这种情况。Gopher 站点由其名称标识,例如 gopher.ethz.ch

访问 Gopher 服务器是打开一个文档,该文档的 文档定位器 具有以下语法

"gopher://" 主机 [ ":" 端口 ] [ "/" gtype ] [ 路径 ]

尝试访问 ETHZ 的 Gopher

Desktops.OpenDoc "gopher://gopher.ethz.ch" [2]

一个名为“gopher://gopher.ethz.ch”(带有一些后缀)的文档查看器将会打开,呈现一个菜单,您需要做的就是进行一系列的选择。这个在公共Gopher中进行探索的起点被称为主Gopher菜单。菜单,就像我们已经看过的许多其他文档一样,是一个超文本,其中可选择的项目以蓝色显示。

左侧的符号告诉您,如果您选择一个菜单项,将会访问哪种类型的互联网资源。以下解释表显示了这些符号的含义。

▷ 菜单实体
□ 文本实体
■ 二进制文件
? CSO 电话簿或文本搜索
T Telnet 会话
G GIF 图片

技术提示:Unix 用户将已建立与 Unix 菜单的对应关系,其中资源类型由菜单项末尾的符号表示。

在 Gopherspace 中移动

[编辑 | 编辑源代码]

每次您进行选择时,Gopher 将执行任何必要的操作以执行请求。我们现在将探索您在进行选择时会遇到的最常见情况。当您阅读本文时,您可以自行尝试 Gopher 的反应。您将观察到,您的选择将主要由左侧的资源类型符号引导。如果您在做出选择后,即选择了一个项目,您意识到您得到的结果没有达到您的预期,您可以通过点击菜单栏中的“后退”按钮返回到上一个菜单。

您将在菜单项旁边看到的最常见的符号是菜单实体 (▷)。如果您选择这样的项目,Gopher 将获得新的菜单,然后替换上一个菜单。

下一个最常见的符号是文本实体 (□)。如果您选择这样的项目,Gopher 将获取文本并将其显示在菜单的位置。

Telnet 会话符号 (T) 表示需要联系另一种类型的服务。如果您选择这样的项目,Gopher 将启动与远程主机的 Telnet 连接。然后可能发生的情况在Telnet章节中描述。示例菜单上显示的 ETH 图书馆系统 ETHICS 是公共 Telnet 服务的示例。如果您决定不参与,您将“关闭”Telnet 会话,您将返回到 Gopher 客户端。但是,如果您继续使用 Telnet,在会话期间,您将处于 Telnet 环境中,即,您可能需要使用您对 Unix 的知识,并且您最好学习该服务的规则,无论是订阅的还是公开的(通过请求帮助、h、F1 或其他方法)。

符号 (?) 宣布两种类似的查询之一,您应该可以通过阅读项目文本来区分它们。要么您要查询计算机服务办公室 (CSO),要么您要搜索数据库。CSO 是一个关于组织中人员信息的存储库。在大学或其他较大组织的主 Gopher 菜单上经常看到这样的项目,如上面的示例所示。如果您选择这样的项目,您必须在“在此输入搜索字符串:”指示的文本字段中输入搜索参数。文本字段只有在菜单包含 (?) 符号时才会出现。如果您省略指定搜索参数,系统将向 Oberon 日志发送“无搜索字符串”。

没有针对查询格式的一般规则,大多数 Gopher(和 Veronica)都有自己的语法糖,但您可以尝试使用单个“?”以获取有关如何编写查询的更多信息。

如果您选择一个带有二进制文件符号 (■) 的项目,该文件将被传输到您的计算机并存储在名为“Gopher.Temp”的文件中。

最后,如果您选择一个带有 GIF 图片符号 (G) 的菜单项,您将能够看到图片。

请注意,上面显示的主菜单(在结尾附近)包含一个名为“其他 Gopher”的菜单位置,其类型为菜单实体。该菜单反过来(直接或间接地)指向其他 Gopher 服务器的列表。如果您选择其中一个,您的 Gopher 客户端将联系远程 Gopher,代表您请求信息:然后您将从一个 Gopher 移动到另一个 Gopher,平稳且轻松,但所有这一切对您来说都是透明的。因此,很明显,只要知道一个 Gopher 服务器名称,您就可以访问被称为 Gopherspace 的东西,它包含许多相互连接的 Gopher 服务器。那个 Gopher 服务器是开始的地方。

有时,您会注意到 Gopher 速度很慢。这可能是因为它正在连接到远程 Gopher 服务器,或者当您启动数据库搜索时。请耐心等待!除了通过按 ESC 中断接收外,您几乎无法控制或停止正在进行的 Gopher 活动。将显示一条“已中断”的日志消息,但系统需要几秒钟才能恢复正常。

使用书签

[编辑 | 编辑源代码]

到目前为止,您应该已经对 Gopherspace 有了一些经验,并且对在 Gopherspace 中旅行,这实际上是一个由 Gopher 服务器组成的星系,有了感觉。一个问题是,在旅行时,您可能在某个时候仔细检查了有价值的信息,但很快您就忘记了您是如何获得它的。事实上,Gopher 将为您获取它 - 无论它在哪里。为 WWW 描述的热列表维护机制可以同样用于探索和访问 Gopherspace。

使用 Veronica 搜索 Gopherspace

[编辑 | 编辑源代码]

Veronica 是一种基于 Gopher 的资源,您可以使用它在 Gopherspace 中搜索包含指定单词的所有菜单项。

您很有可能在启动菜单附近找到一个访问 Veronica 的菜单位置。您只需要找到 Veronica 一次,然后将其添加到您的热列表中。

例如,以下是从 ETHZ 主菜单到最近的 Veronica 访问服务的步骤

其他 Gopher => 苏黎世大学 => 其他 Gopher => Veronica

使用 Jughead 搜索 Gopherspace

[编辑 | 编辑源代码]

Jughead 与 Veronica 具有相同的功能,但它只搜索 Gopherspace 的一小部分,而不是全部。怎么做?

通过邮件请求互联网服务

[编辑 | 编辑源代码]

通过 Telnet 访问互联网服务

[编辑 | 编辑源代码]

现在您知道如何轻松地访问各种互联网服务,您更愿意忽略以下通过 Telnet 和公共客户端程序的原始方法。但是,如果由于某种原因您的 Gopher 客户端无法运行,您可以尝试通过Telnet访问服务器,方法是使用 Telnet 面板或打开以下示例中建议的文档。

使用 Telnet 访问 WWW

[编辑 | 编辑源代码]

万维网公共浏览器示例

Desktops.OpenDoc "telnet://telnet.w3.org"

不需要登录。它为您提供了与“http://www.w3.org/”相同的信息。

使用 Telnet 访问 Gopher

[编辑 | 编辑源代码]

Gopher 公共客户端示例

Desktops.OpenDoc "telnet://gopher.inf.ethz.ch:70"

请注意端口号 (70) 的使用,它表示您要访问该服务器上的特定服务 (Gopher)。否则,您将需要使用密码登录。

在整个互联网世界中,有许多公共 Gopher 客户端,可以使用一个简单的用户 ID 访问,通常是 gopher,但您将从中获得降级服务。

如果您想从另一台计算机访问互联网,该怎么办

[编辑 | 编辑源代码]

如果您想从另一个办公室或国外访问互联网,您将非常想念一些存储在您的 PC 上的信息,这些信息是永久存储的。将这些信息视为将“您的”互联网移植到另一台 PC 的急救箱。

随身携带您的邮件数据库,即文件“MailMessages”。[3]
设置邮件面板。

在 Oberon.Text 中修改 NNTP 新闻服务器设置。确认新闻服务器包含你订阅的新闻组。如果你想发布文章或回复文章,请执行 NetTools.Set EMail 命令。

对于 WWW、Gopher、Veronica

[编辑 | 编辑源代码]

随身携带你的热列表,即文件 "HTTP.HotList.Text"。可能也包含有价值的本地 .html 文件。

一些有趣的 Oberon 文档定位器

[编辑 | 编辑源代码]

Desktops.OpenDoc ^

"http://huxley.inf.ethz.ch/~marais/Spirit.html" - Oberon 之魂主页 (Windows)
"http://www.inf.ethz.ch/department/CS/Oberon.html" - Oberon 主页
"http://www.inf.ethz.ch/department/CS/Newsletter.html" - Oberon 新闻稿
"http://huxley.inf.ethz.ch/~fischer/AboutTutorials.html" - 教程的起点

"ftp://ftp.ethoberon.ethz.ch/" - Oberon 可交付成果
"ftp://huxley.inf.ethz.ch/pub/System3ForWindows/" - 用于 Win 的 Oberon 可交付成果
"ftp://huxley.inf.ethz.ch/pub/OMI/" - 对象模块交换可交付成果

"gopher://gopher.ethz.ch"
"gopher://gopher.psg.com" - 选择:编程语言 -> Oberon

"mailto:[email protected]"
"mailto:[email protected]"

"news:comp.lang.oberon" - Oberon 语言和系统新闻组

接下来呢?

[编辑 | 编辑源代码]

利用提供的丰富的通信工具集合收集和传播信息。

[ B | C | D | F | G | H | M | N | P | S | T | U | V | W ]

B

浏览器

C

更改你的密码

D

文档定位器
点文件 (Unix)

F

常见问题解答
finger (Unix)
Finger.Finger
转发邮件
FTPTool.ChangeDir
FTPTool.Close
FTPTool.CompactDir
FTPTool.CurDir
FTPTool.DeleteFiles
FTPTool.Dir
FTPTool.GetFiles
FTPTool.GetTexts
FTPTool.MakeDir
FTPTool.Open
FTPTool.PutFiles
FTPTool.PutTexts
FTPTool.RmDir

G

Gopher

H

热列表
HTMLDocs.SwitchIMG
HTTPDocs 面板
HTTPDocs.AddToHotList
HTTPDocs.History
HTTPDocs.ReloadDoc
HTTPDocs.ShowHotList
HTTPLinks 面板
超文本

M

MacTCP
Mail.Panel
Mail.Send
邮件
邮箱

N

NetTools.ClearCache
NetTools.DownLoadDoc
NetTools.Get EMail
NetTools.Get NNTPHost
NetTools.Set EMail
NetTools.Set NNTPHost
News.FollowupArticle
News.PostArticle
News.ShowAllGroups
News.ShowNewGroups
News.StoreInitText
News.SubGroup
News.SubscribedGroups
News.UnsubGroup

P

POP
邮局协议

S

SMTP

T

TelnetGadgets.CloseCon
TelnetGadgets.OpenLog
Trumpet

U

统一资源定位符
URL
用户代理
uudecode
uuencode

V

Veronica

W

who (Unix)
WinSocket
WWW


1996 年 7 月 13 日修订
1997 年 5 月 30 日安装


  1. ETHZ 服务器现在使用 HTTPS,A2 支持而 ETH Oberon 不支持。
  2. 在 2021 年 11 月 31 日,gopher://gopher.ethz.ch 没有响应。Desktops.OpenDoc "gopher://gopher.floodgap.com/" 响应了一个占用超过一个屏幕的页面。
  3. 在 ETH Oberon 2.3.7 中,所有消息都存储在 ASCII 文件 MailMessages 中,相邻消息由空行分隔。
华夏公益教科书