[an error occurred while processing this directive]

HP OpenVMS Systems Documentation

Content starts here

OpenVMS 用户手册


前页 目录 索引

3.1.5 文件版本

除文件名和文件类型之外,每个文件有一个版本号。版本号是十进制数,从 1 至 32,767 可区别文件的不同版本。当您建立文件时,系统为它分配版本号 1。

您可以有同一文件的几个版本。除非您指定版本号,系统使用最高现有版本号的文件。如果您指定版本号 0,系统则使用最高现有版本。当您使用命令、应用程序或文本编辑程序 (例如 EVE) 修改文件时,则建立文件的新版本,文件名不变但版本号增 1。

在版本号之前是分号或句点。当系统显示文件说明时,在文件版本号之前显示分号。

指定零或负版本号,您可以以相对方式查看文件的版本。指定零可查找文件的最近 (最高) 版本。指定 -1 查找下一个最近版本,-2 查找在其之前版本,以此类推。要查找文件的最早 (最低) 版本,则指定 -0 为版本号。注意,您不能用比 32767 更高的版本号建立文件。如果您尝试用比 32767 更高的版本号建立新文件,将接收到一条出错消息。

CREATE/DIRECTORY、SET DIRECTORY 和 SET FILE 等命令的 /VERSION_LIMIT 限定词让您控制文件的版本号。如果超过版本限制,系统自动在超过限制时清除最低版本的文件。例如,如果版本限制是 5,而您要建立文件的第 6 个版本 (ACCOUNTS.DAT;6),那么系统就删除文件的第一个版本 (ACCOUNTS.DAT;1)。要查看文件的版本限制,可输入 DIRECTORY/FULL 命令。版本限制列出文件属性: 字段。

3.1.6 网络节点名

一个节点是一个独立的计算系统,是计算机网络的一部分。如果您的系统是网络的一部分,您注册时存取的节点就是您的本地节点。网络的其他节点是远程节点。当您要指定远程节点上的文件时,使用节点名。

节点说明有以下格式:


node["access-control-string"]::

当输入文件说明的节点名部分时,遵守以下规则:

  • 节点名可以包含 1 至 6 个字母数字字符并且必须至少包含一个字母字符。例如:
    AFTP1
    F2OTR2
    MYNODE
  • 节点名 (带或不带存取控制字符串) 必须总是后跟双冒号 (::)。
  • 当您指定节点名时,您可以包括一个 0 至 42 个字符的存取控制字符串。存取控制字符串包含要发送到远程节点的注册信息。有关存取控制字符串的详情,请参阅 3.1.12
    注意,需要的双冒号跟随存取控制字符串。
  • 您可以使用逻辑名代替节点名。有关逻辑节点名的详情,请参阅第 11 章

3.1.7 指定 DECnet-Plus 节点全名

在 OpenVMS 系统上,您可以指定节点全名。然而,您必须安装 DECnet--Plus 软件以识别全节点名。

有效的全节点名可以包含多达 255 个字符并且可以包括除以下字符外的任何字符:

  • 空格
  • 制表符
  • 字符: 逗号 (,)、引号 (" ")、斜杠 (/)、感叹号 (!)、等号 (=)、加号 (+)、at 符号 (@)、省略号 (')、圆括号 (( ))和双冒号 (::)
  • 冒号 (:) 作为第一个或最后一个字符

如果全节点名括入引号 (" ") 内,它可以包含任何字符,但不匹配的引号除外。注意,如果在节点名内有引号,则引号必须是成双的,并且整个字符串,包括引号在内,也必须括入引号内。

虽然 OpenVMS 软件在节点名语法上要求很少的规则,但实际有效的节点名集受到运行在系统上的 DECnet 软件的约束。有关全名的详情,请参阅 DECnet--Plus 文档。语法规则,包括有效字符代码,详细描述在 DECnet--Plus DECdns Management Guide 中。

在以下例子中,整个字符串括在引号内,因为有引号在节点名中:


"MARY:.UNIVERSITY.""SCIENCE LAB"""

有效全节点名的其他例子是:

MYNODE
MASSACHUSETTS:.BUSINESS.YOURNODE
A.B;C

3.1.8 指定 TCP/IP 名称和地址

通过 TCP/IP,除非特别声明,当您在命令行指定主机时,可以使用它的主机名、完全限定的域名或 IP 地址。主机的相对名称是一个简名,它不包括完全限定的域名; 也就是说,它不包括一个或多个句点 (.)。有关 TCP/IP 语法规则,请参阅 Compaq TCP/IP Services for OpenVMS User's Guide

3.1.9 使用 DECnet 存取远程节点上的文件

当您存取远程节点的文件时,DECnet 注册到远程节点。要做到这一点,系统需要到那个节点的注册信息。您可以向系统提供存取控制字符串。如果省略存取控制字符串,发送给远程节点的注册信息就由如下所述确定:

  • 如果远程节点存在代理注册帐户,系统就让您使用该帐户注册。代理注册帐户允许选定的用户注册到节点。
  • 如果不存在代理注册帐户,系统就使用那个节点的默认 DECnet 帐户,该帐户由那个节点的本地系统管理员指定。

如果您包括存取控制字符串,系统就使用它让您注册到远程节点。文件说明的剩余部分传递给远程节点并在那里解释。

如果您指定本地节点作为文件说明的一部分,系统就通过网络给您注册,并执行文件操作,即使文件存在于您的本地节点。有关存取远程系统的其他方法的详情,请参阅 OpenVMS System Manager's Manual

注意

贯穿本章的剩余部分,指定节点名的例子不总是包括存取控制字符串。这是因为在这些例子中代理帐户允许用户在远程系统执行操作。

3.1.10 使用 TCP/IP 存取远程节点上的文件

Compaq TCP/IP Services for OpenVMS 提供文件传送协议 (FTP),能够通过网络存取文件和与另一个主机之间传递文件。要使用 FTP,您需要有一个在 OpenVMS 系统上对 Compaq TCP/IP Services for OpenVMS 具有存取权的用户帐户,和一个在远程 FTP 主机上的用户帐户。在有些情况下,TCP/IP 允许您连接到远程主机,而不要指定帐户和密码。如果不允许这个特性,您就必须提供存取远程主机的用户证实信息。有关使用 FTP 命令的详情,请参阅 Compaq TCP/IP Services for OpenVMS User's Guide

3.1.11 使用网络文件说明

网络文件说明有 3 种格式:

  • 常规
  • 外部
  • 任务

在每种格式中,节点说明可以包括存取控制字符串。有关详情,请参阅产品的 DECnet User's Manual Compaq TCP/IP Services for OpenVMS User's Guide

3.1.11.1 常规文件说明

文件的常规格式是:


node::device:[directory]filename.type;version

3.1.11.2 外部文件说明

外部文件说明是文件名不符合 OpenVMS 语法的文件。用来提供外部文件说明的格式是:


node::"foreign-file-spec-string"

在以下例子中,文件名包含问号 (?),它不能被识别为一个有效的文件名字符。因此,文件名必须括入引号 (" ") 内。它也必须符合您要存取的远程节点操作系统能够识别的格式:


$ COPY BOSTON::"TEST?.DAT" *

3.1.11.3 任务说明字符串

任务说明字符串标识在远程节点执行的程序。您可以在程序中使用任务说明字符串,允许程序与远程节点的另一个程序进行通信。用来指出任务说明字符串的格式是:


node::"task-spec-string"

这个说明标识在远程节点 BOSTON 上的程序 TEST2:


BOSTON::"TASK=TEST2"

注意

当您复制文件到 UNIX 系统或从 UNIX 系统时,有一些限制。有关详情,请参阅 OpenVMS Record Management Utilities Reference Manual

3.1.12 存取控制字符串格式

存取控制字符串指定您可以注册到远程节点的帐户。带存取控制字符串的节点名具有以下格式:


node"access-control-string"::

把存取控制字符串括入引号 (" ") 内并后跟双冒号 (::)。

在 OpenVMS 系统上,存取控制字符串包括一个用户名,后跟一个或多个空格或制表符和一个密码。有关存取控制字符串的详情,请参阅第 10 章

在以下例子中,BOSTON 是网络节点名。"HIGGINS ETUHCARAP" 是存取控制字符串:

  • HIGGINS 是在节点 BOSTON 上的一个用户名。
  • ETUHCARAP 是与该用户名关联的密码:


$ DIR BOSTON"HIGGINS ETUHCARAP"::WEASEL2:[BORIS]ACCOUNTS.DAT

3.2 在文件名中使用通配符

使用通配符使 DCL 命令一次可应用于多个文件而不是一个文件。该命令应用于文件名匹配已输入文件说明部分的所有文件。

本章的许多例子展示在文件操作中使用通配符。对于个别命令,在 DCL 命令中对通配符的使用可能不同。

有两个通配符可用于许多 DCL 命令: 星号 (*) 和百分号 (%)。两者可以作为通配符使用在目录名、文件名和文件类型中。(有关目录使用通配符的详情,请参阅 4.5。) 在版本部分,您可以使用星号 (;*),但不能使用百分号或通配符和数字的混合。

在运行 OpenVMS 7.2 或更高版本的 Alpha 系统上,问号 (?) 可以用来代替百分号 (%)。

如果您正在支持扩展文件说明的环境中工作,请参阅第 5 章有关附加通配符任选项的详细描述。

3.2.1 星号 (*) 通配符

使用星号 (*) 通配符匹配以下内容:

  • 目录、文件名和文件类型字段的整个字段 (或它的一部分)
  • 整个版本号字段,但不能是它的一部分

星号 (*) 通配符使用如下:

  • 处理大量没有个别命名的文件
  • 把选定的文件限制到更加特定的组中
  • 在目录说明中

例子

在以下例子中,该文件说明选择 [FROGMAN] 目录中的所有文件的所有版本:


$ PRINT [FROGMAN]*.*;*

在以下例子中,只显示那些在当前默认目录中文件类型为 .DAT 的文件:


$ TYPE *.DAT;*

在这个例子中的命令选择比 [FROGMAN] 低一级的子目录中的所有文件类型为 .DAT 的文件:


$ DIRECTORY [FROGMAN.*]*.DAT

在以下例子中,通配符出现在目录说明中:


$ TYPE [*.*.*]AVERAGE.*;*

这个文件说明选择所有命名为 AVERAGE 而文件类型不限的文件的所有版本,并且它们存在于当前默认磁盘的任何第二级子目录中。例如,这个文件说明选择 [A.B.C]AVERAGE.DAT,但不能选 [X.Y]AVERAGE.DAT。

3.2.2 百分号 (%) 通配符

使用百分号 (%) 通配符可代替文件说明的任何单个字符。您可以把百分号使用在目录、文件名和文件类型字段中。然而,您不能把百分号使用在版本号字段或 ANSI 磁带文件说明中。百分号代替字段的一个字符位置,并且必须有一个字符可代替。

您可以按需要多次指定百分号,并且可以与其他通配符混合使用。

以下例子显示所有其文件名称是 DISTRICT 后跟单个字符、其类型是 .DAT 的最近版本文件:


$ TYPE [JONES.TAXES.PROPERTY]DISTRICT%.DAT

这个显示将包括文件 DISTRICT1.DAT、DISTRICT2.DAT 和 DISTRICT3.DAT。不显示文件 DISTRICT4_5.DAT,因为在 DISTRICT 后面有一个以上字符;也不显示文件 DISTRICT.DAT。

在这个例子中,文件说明是有效:


$ [MA*]INS%%%A*.J*;*

3.3 其他文件名

以下各节描述 OpenVMS 环境支持的其他类型文件名。

3.3.1 空文件名和文件类型

当一个文件说明组件 (如文件名或文件类型) 缺失时,在 DCL 命令或公用程序的 (内设) 分析操作期间,它经常被一个默认值代替。例如,FORTRAN 命令使用一个默认文件类型或 .FOR。以下命令将引起 FORTRAN 编译程序尝试编译文件 FILE.FOR:


$ FORTRAN FILE

并且,DIRECTORY 命令用星号通配符代替任何缺失的组件。例如,以下命令将显示所有文件名称为 FILE 而不论什么文件类型 (包括句点 (.)) 的文件:


$ DIRECTORY FILE

文件可以有一个空名称 (空值或者有一个只包括句点定界符的文件类型 (有时称为空文件类型))。例如,以下是有效的文件名:


.TMP
TEMP.

3.3.1.1 空文件类型的文件引用

您可以引用一个其类型只包括句点定界符的文件,如下所示:


$ DIRECTORY TEMP.        !

因为没有文件名定界符,因此不可能引用空文件名称的文件。无文件名称的文件引用总是被解释为缺失文件名称。

以下命令将显示一列类型为 .TMP 的所有文件,而不只是文件 .TMP。因为目录公用程序将自动用 "*" 代替缺失的文件名。


$ DIRECTORY .TMP

3.3.2 用于磁带的备用文件名

除标准 (ODS-2 兼容的) 文件名之外,操作系统为标注 ANSI 的磁带支持一种备用的文件命名约定。其格式如下所示:


"filename".;version

文件名可以包含 1 至 17 个来自 ASCII 字符集的字符。这组字符包括数字字符、 大写字母和空格,以及以下字符:


! " % ' ( ) * + , - . / : ; < => ? & _

另外,ANSI 磁带文件名允许用星号 (*) 字符。

有关详情,请参阅 Guide to OpenVMS File Applications

3.4 建立和修改文件

以下各节描述如何使用 OpenVMS 环境支持的工具和命令建立和修改文件。

您可以使用交互文本编辑程序建立和修改文本文件。EVE 和 EDT 是两个包括在 OpenVMS 操作系统的文本编辑程序; 其他文本编辑程序也可用在您的系统中。

您也可以使用 DCL 命令 CREATE、COPY 和 RENAME 建立和修改文件。以下各节描述如何使用这些命令建立和修改文件。

如果您正在支持扩展文件说明的环境中工作,请参阅第 5 章获得有关在您的环境中建立和复制文件的详细资料。

3.4.1 建立文件

CREATE 命令建立文本文件。您不能用 CREATE 命令修改文件; 在按下 Enter 后,您不能返回到上一行修改。您必须使用文本编辑程序修改用 CREATE 命令建立的文件。按下 Ctrl/Z 标记文件尾并返回到 DCL 命令级。

在以下例子中,通过输入 CREATE 命令然后键入文本行,建立名为 TEST.TXT 的文件:


$ CREATE TEST.TXT
this is a test
12345678
[Ctrl/Z]

3.4.2 复制文件

您可以使用 COPY 命令复制:

  • 把现有文件的内容复制到一个新文件
  • 一次复制许多文件
  • 只复制那些满足特定条件的文件,该条件由 COPY 命令的 /SINCE 限定词指定

例子

在以下例子中,文件 FEES.DAT 被复制到 RECORDS.DAT:


$ COPY FEES.DAT RECORDS.DAT

在以下例子中,在默认目录中的所有 .TXT 文件被复制到另一个目录:


$ COPY *.TXT;* [SAVETEXT]*.*;*

在以下例子中,在目录 [JONES.LICENSES.DOG] 中只有那些自 1999 年 12 月 11 日以来修改的文件被复制到默认目录:


$ COPY/SINCE=11-DEC-1999/MODIFIED [JONES.LICENSES.DOG]*.* *

3.4.3 文件串联

COPY 命令也可以用来连接文件。例如,在默认目录中,把 FEES1.DAT 附加到 FEES.DAT (形成新版本的 FEES.DAT),输入以下命令:


$ COPY FEES.DAT,FEES1.DAT FEES.DAT

注意,在 FEES.DAT 之后的逗号和文件名 FEES1.DAT 之间没有空格。


前页 后页 目录 索引