OpenVMS 用户手册
5.1.4.2 通配符语法
虽然 DCL
保持扩展文件名的字母大小写,通配符匹配是与字母大小写无关的。
用通配符搜索的操作继续匹配于目标文件同样部分的相应字符。表 5-1 包含一些通配符搜索的例子。
表 5-1 通配符和匹配式样示例
式样... |
匹配... |
...但不匹配 |
A*B;*
|
AHAB.;1
|
A.B;1
|
A.*.B*
|
A^.DISK.BLOCK;1
|
A^.C^.B.DAT;1
|
A?B.TXT;*
|
A^.B.TXT;5
|
A^.^.B.TXT;1
|
*.DAT
|
Lots^.of^.Periods.dat;1 |
DAT.;1
|
Mil?no.dat |
Milano.dat;1
|
Millaano.dat;1
|
NAPOLI.?.DAT
|
napoli.q.dat;1
|
napoli.abc77.dat;1
|
5.2 深目录结构
在 OpenVMS Alpha 上,ODS-2 和 ODS-5 卷结构两者都支持深的目录嵌套,如下所示:
- 可以有多达 255 级目录。
- 在 ODS-2 中,目录名格式是 39.39。
- 在 ODS-5 中,每个目录名长度可以有多达 236
个 8 位或 118
个 16 位字符。
例如,可以建立以下深嵌套的目录:
$ CREATE/DIRECTORY [.a.b.c.d.e.f.g.h.i.j.k.l.m]
|
在 ODS-5
卷上,可以建立以下长名目录:
$ CREATE/DIRECTORY
[.AVeryLongDirectoryNameWhichHasNothingToDoWithAnythingInParticular]
|
RMS 要缩写比 255 个字节要长的完整文件说明,使未修改的应用程序可以使用。5.2.1 目录命名语法
在 ODS-5 卷上,目录名符合大多数使用 ISO Latin-1
字符集命名文件名时同样约定。句点和特殊字符可以出现在目录名中,但是在有些情况下,它们前面必须加上一个音调符号 (^),以便把它们识别为文字字符,如表 5-2
所示。
表 5-2 ODS-5 卷上的目录名
CREATE/DIRECTORY. . . |
结果 |
[Hi^&Bye] |
Hi^&Bye.DIR;1 |
[[Lots^.Of^.Periods^.In^.This^.Name]
|
Lots^.Of^.Periods^.In^.This^.Name.DIR;1
|
5.2.2 目录 ID 和文件 ID 缩写
在有些环境下,完整文件说明可能包含比 255 字节更多的字符,以致于未修改的应用程序不能使用。如果在这样应用程序中的文件说明需要超过 255 字节长度,那么 RMS
将产生一个较短的文件说明,方法是把目录缩写为目录 ID (DID),以及如果必要,把文件名缩写为文件 ID (FID)。
当文件说明太长时,RMS 首先使用它的目录 ID 标识目录尝试产生一个较短的目录说明。这个较短的说明称为 DID。
TEST$ODS5:[5953,9,0]Alghero.TXT;1
|
注意,这种格式的目录名必须有三个数目和两个逗号,以避免 UIC 格式目录名的二义性。使用 DIRECTORY 命令可以观看文件说明的较短 DID 版本和完整版本。5.3 使用 DCL 的扩展文件说明分析特性
文件名的默认 DCL 分析样式是用于 ODS-2 式样文件名。
在 DCL 命令行上使用扩展文件名时,需要把分析样式设置为 EXTENDED 才可接受和显示扩展文件说明。要设置分析样式,输入命令:
$ SET PROCESS/PARSE_STYLE=EXTENDED
|
注意,这个命令在 OpenVMS VAX 系统上没有效果。
在输入这个命令后,DCL 可接受类似以下的文件名:
有关详情,可参阅 OpenVMS DCL Dictionary: N--Z 对 SET
PROCESS/PARSE_STYLE 命令的描述。
要重新设置 DCL 的默认分析样式,输入以下命令:
$ SET PROCESS/PARSE_STYLE=TRADITIONAL
|
在输入这个命令后,DCL 只接受 ODS-2 文件名格式。5.4 能够使用扩展文件说明的地方
有些 DCL 命令和 OpenVMS 公用程序完全支持扩展文件说明。它们已被修改为利用扩展文件名的所有特性。它们可以接受和处理扩展文件说明,而不会出错,并且不会修改字母大小写。另外,它们可以接受和产生超过传统 255 字符限制的长文件说明,使之保存为原始格式1 -- 而不需要把它们缩写为目录
ID (DID) 或文件 ID (FID) 的格式。
默认支持的
DCL 命令和 OpenVMS
公用程序很少或没有修改来利用扩展文件名。预期这些公用程序和命令会正确地处理扩展文件说明的大多数属性 (例如新的字符和深目录结构)。然而,它们可能会以错误的大小写建立或显示文件名。
与完全支持的公用程序相反,默认支持的公用程序依赖于 RMS 提供的 DID 和 FID 缩写来处理长文件说明。结果,这些公用程序服从以下与 DID 和 FID
缩写相关的限制:
- 在使用 FID
缩写环境中的匹配操作可能不会总是如预期那样工作。例如,通配符匹配操作可能不能找出所有目标文件名,因为长文件名可能表示为数字的 FID
缩写格式。这种限制特别适用于在 RMS 之外执行的匹配操作。
- 通配符和默认不能与 FID
缩写一起使用。例如,以下命令是非法的:
$ DIRECTORY a[1,2,3]*.txt
$ COPY a[1,2,3].txt *.txt2
|
因为 FID
缩写是文件唯一的数字表示式,它不能用来表示或匹配任何其他文件。 - 使用 FID 缩写建立文件是非法的。
有关 DID 和 FID 缩写的详情,请参阅 Guide to OpenVMS File Applications。
有关特定命令或公用程序的详情,请参阅 OpenVMS
文档集中适当的手册。
不支持扩展文件命名
不支持扩展文件名的
OpenVMS 公用程序和命令可以在 ODS-5
卷上正常工作;然而,它们受限于只处理传统的文件说明。在 ODS-5 卷上,应该小心地使用这些公用程序和命令,因为 Compaq 不能确保它们遇到扩展文件说明时能否成功操作。
不支持 ODS-5
不支持 ODS-5 卷结构的 OpenVMS 公用程序和命令不能处理扩展文件名。在 ODS-5 卷上,应该小心地使用这些公用程序和命令,因为 Compaq
不能确保它们能否成功操作,即使当它们只是处理传统的文件说明。
表 5-3 列出因扩展文件名或 ODS-5 的限制而不支持扩展文件说明的 OpenVMS 公用程序和命令。
表 5-3 不支持的 OpenVMS 组件
组件 |
注解 |
不支持 ODS-5 |
磁盘碎片整理程序 |
不支持,除非有一个已更新支持 ODS-5 卷的特定碎片整理工具文档。1
|
不支持扩展文件命名 |
代码编译程序
|
不能对目标文件使用扩展文件名。然而,代码编译程序可以建立支持扩展名的应用程序。 |
INSTALL 已知映象
|
不要把有扩展文件名的映象安装为已知映象。 |
LINK
|
不能输出具有扩展文件名的映象。 |
MONITOR
|
不能可靠地处理扩展文件名。 |
网络文件 (NET*.DAT)
|
不要改名为一个扩展文件名。 |
目标模块 (.OBJ)
|
不要改名为一个扩展文件名。 |
页和交换文件 |
不要使用扩展文件名。 |
SYSGEN
|
不要写入具有扩展文件名的参数文件。 |
系统启动文件 |
不要改名为一个扩展文件名。 |
1注意,DFO 已被修改以支持 ODS-5 卷。
注意
1 如果您在 DCL 命令行中键入长文件说明,DCL 仍然限制命令行长度为 255 字节
。
|
5.5 显示扩展文件名的文件
有些 DCL 命令有以下新限定词控制扩展文件名的显示:
/STYLE= [CONDENSED | EXPANDED]
|
这个限定词允许您控制修改的 DCL 命令如何显示扩展文件名和任何关联的提示。
关键字 CONDENSED
显示建立文件时的文件说明,适合许多公用程序所要求的 255
字节字符串的限制。必要时,这个文件说明可能包含
DID 缩写或 FID 缩写。关键字 EXPANDED
完整地显示存储在磁盘上的文件说明,并且不包含 DID 缩写或 FID 缩写。
以下几节包含 DIRECTORY、TYPE、PURGE 和 DELETE 命令使用 /STYLE 限定词的例子。5.5.1 DIRECTORY 命令
当观看目录内容时,DIRECTORY 命令允许您选择以什么格式显示文件名:
DIRECTORY/STYLE=(关键字[,关键字])
|
按照默认,DIRECTORY 命令必要时使用 DID
显示文件名,而不必使用 DID 时则显示完整的目录说明,如同您在以下例子中看到的样子:
$ DIRECTORY
目录 TEST$ODS5:[23,1,0]
abcdefghijklmnopqrstuvwxyABCDEFGHIJKLMNOPQRSTUVWXYabcdefghijklmnopqrs
tuvwxyABCDEFGHIJKLMNOPQRSTUVWXYabcdefghijklmnopqrstuvwxyABCDEFGHIJKLM
NOPQRSTUVWXY.abcdefghijklmnopqrstuvwxyABCDEFGHIJKLMNOPQRSTUVWXYabcdef
ghijklmnopqrst;2
共 1 个文件。
目录 TEST$ODS5:[TEST.RANDOMTESTING.RANDOM]
AddressFiles.DIR;1 LOGIN.COM;3 test.1;1 test^.1.clue;1
Travel.LIS;1 whee.;5 work.dat;8
共 8 个文件。
总计 2 个目录,9 个文件。
|
DIRECTORY 命令在 /STYLE 限定词中使用这两个关键字,可产生两列目录列表。每列列出所有文件名。CONDENSED 列包含任何需要的 DID 或 FID,而 EXPANDED 列包含完整目录名和文件名。任何文件出错显示在 CONDENSED 列。以下例子展示 DIRECTORY 命令在 /STYLE 限定词中使用这两个关键字的结果:
$ DIRECTORY/STYLE=(CONDENSED,EXPANDED)
目录 TEST$ODS5:[23,1,0] TEST$ODS5:[TEST.RANDOMTESTING.RANDO
M]
abcdefghijklmnopqrstuvwxyABCDEFGHIJ abcdefghijklmnopqrstuvwxyABCDEFGHIJ
KLMNOPQRSTUVWXYabcdefghijklmnopqrst KLMNOPQRSTUVWXYabcdefghijklmnopqrst
uvwxyABCDEFGHIJKLMNOPQRSTUVWXYabcde uvwxyABCDEFGHIJKLMNOPQRSTUVWXYabcde
fghijklmnopqrstuvwxyABCDEFGHIJKLMNO fghijklmnopqrstuvwxyABCDEFGHIJKLMNO
PQRSTUVWXY.abcdefghijklmnopqrstuvwx PQRSTUVWXY.abcdefghijklmnopqrstuvwx
yABCDEFGHIJKLMNOPQRSTUVWXYabcdefghi yABCDEFGHIJKLMNOPQRSTUVWXYabcdefghi
jklmnopqrst;2 jklmnopqrst;2
AddressFiles.DIR;1 AddressFiles.DIR;1
LOGIN.COM;3 LOGIN.COM;3
test.1;1 test.1;1
test^.1.clue;1 test^.1.clue;1
Travel.LIS;1 Travel.LIS;1
whee.;5 whee.;5
work.dat;8 work.dat;8
共 8 个文件。
|
DIRECTORY 命令可以在 /STYLE 限定词中使用一个或两个关键字。5.5.2 TYPE 命令
当显示文件和提示时,TYPE 命令接受 /STYLE 限定词选择显示在系统消息中的文件名格式:
这个例子展示 TYPE 命令使用 TYPE=EXPANDED
和 CONFIRM 限定词:
$ TYPE/CONFIRM/STYLE=EXPANDED abc*.*rst;2
TYPE TEST$ODS5:[TEST.RANDOMTESTING.RANDOM]abcdefghijklmnopqrstuvwxyzABCDEF
GHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYabc
defghijklmnopqrstuvwxyzGHIJKLMNOPQRSTUVWXYabcdefghijklmnopqrst;2 ? [N]: Y
[System outputs contents of file]
|
5.5.3 DELETE 命令
DELETE 命令接受 /STYLE
限定词,选择执行该命令时显示的文件名格式:
在以下例子中,省略号 (...) 表示在文件名中的许多字符。这些例子使用 CONFIRM
限定词产生系统消息。
DELETE 使用默认值 (CONDENSED):
$ DELETE/CONFIRM abc*.*.*
DELETE TEST$ODS5:[TEST.RANDOMTESTING.RANDOM]abcAlphabet.stuff;1 ? [N]: Y
DELETE TEST$ODS5:[23,1,0] abcdefg. . .QRSTUVWXY.abcdefg. . .tuvw
xy;1 ? [N]: Y
|
如果需要完整文件说明,DELETE 命令与 /STYLE 限定词和 EXPANDED
关键字一起使用 :
$ DELETE/CONFIRM/STYLE=EXPANDED abc*.*.*
DELETE TEST$ODS5:[TEST.RANDOMTESTING.RANDOM]abcAlphabet.stuff;1 ? [N]: Y
DELETE TEST$ODS5:[TEST.RANDOMTESTING.RANDOM]abcdefg. . .QRSTUVWX
Y.abcdefg. . .tuvwxy;1 ? [N]: Y
|
5.5.4 PURGE 命令
PURGE 命令接受 /STYLE
限定词,选择执行该命令时显示的文件名格式:
在以下例子中,省略号 (...) 表示在文件名中的许多字符。这些例子使用 CONFIRM
限定词产生系统消息。
PURGE 使用默认值 (CONDENSED):
$ PURGE/CONFIRM
DELETE TEST$ODS5:[23,1,0]abcdefg. . .QRSTUVWXY.abcdefg. . .tuvwxy;1
? [N]: Y
|
如果需要完整文件说明,PURGE 命令与 /STYLE 限定词和 EXPANDED
关键字一起使用:
$ PURGE/CONFIRM/STYLE=EXPANDED
DELETE TEST$ODS5:[TEST.RANDOMTESTING.RANDOM]abcdefg. . .QRSTUVWXY.ab
cdefg. . .tuvwxy;1 ? [N]: Y
|
5.6 终端显示扩展文件名
要显示扩展文件名,终端必须设置为显示 ISO Latin-1 字符集。否则,终端显示的字符可能不匹配 PC 展示的效果。要观看或更改终端显示的字符集,使用终端设置对话框
。选择显示字符集的任选项通常可以在 General 标签处找到。
DEC 多国字符集和 ISO Latin-1 字符集的不同字符列在附录 A
中。5.7 在混合环境下工作
如果系统运行 OpenVMS Alpha V7.2 或更高版本,您可以利用在 ODS-5
卷上的所有扩展文件说明的能力。您也可以继续存取 V7.2 之前版本的文件和目录。例如,您可以做以下所有事情:
- 在 ODS-2 卷上建立和存取深目录结构
- 读取在 OpenVMS
早期版本建立的 BACKUP 保存集
- 把 ODS-5 名的文件复制到运行 OpenVMS
早期版本的系统上 ODS-2 名的文件
如果工作在混合版本或混合体系机构的 OpenVMS Cluster 环境中,会有一些限制。运行
OpenVMS 以前版本的系统不能装上 ODS-5 卷、正确地处理扩展文件名或者看到扩展文件名。在 OpenVMS V7.2 以前版本的用户不能存取在
ODS-5 卷上的任何文件。这确实如此,不管该卷是否物理连接到
CI 或 SCSI 总线,或者通过 MSCP 或 QIO 服务器。这些用户也不能建立或恢复 ODS-5
映象的保存集。然而,他们可以从 ODS-5 保存集中恢复
ODS-2 兼容的文件名。
OpenVMS V7.2 VAX 系统局限于以下扩展文件说明功能:
- 装上 ODS-5 卷的能力。
- 在 ODS-5 卷上写入和管理 ODS-2 兼容文件的能力。
- 存取 ODS-5 文件说明时,查看假名 ( \pISO_LATIN\.???
或
\pUNICODE\.??? ) 的能力。
工作在包含 OpenVMS Alpha 和
OpenVMS VAX 系统的环境下时,知道以下事情是重要的:
- 系统类型和操作系统版本
- 默认目录是基于 ODS-2
还是基于 ODS-5
- 建立文件的目的地是 ODS-2 卷还是
ODS-5 卷
OpenVMS 7.2 允许 VAX 系统装上 ODS-5 卷;然而,在 OpenVMS VAX
系统中的用户只可以存取 ODS-2 兼容文件名的文件。
在 OpenVMS Alpha 系统上,您可以挑选是否把一个卷转换为 ODS-5。如果工作在 ODS-2 和
ODS-5 卷的混合环境,那么在 ODS-5 卷上建立文件时应当紧记 ODS-2
文件名的限制。如果要把一个在其文件名中有特殊字符的文件从 ODS-5 复制到 ODS-2
卷,您必须给它一个 ODS-2 兼容的名称。
|