抛开驻留在 Unix 文件系统中的大型机文件(z/OS 是 Unix 的一种风格,并且已经有好几年了),大型机文件没有扩展名或后缀。
大型机文件名(称为数据集名称或 DSN)采用 HLQ[.Q1[.Q2[.Qn]]] 的形式,其中 HLQ 是高级限定符,Q1...Qn 是与 HLQ 分开的后续限定符,并且彼此通过句号。整个 DSN 不得超过 44 个字符。每个限定符必须由字母、数字和 IBM 所谓的“国家”字符组成,这些字符(无论如何在美国)是 @、# 和 $。此外,限定符不能以数字字符开头。有一些例外,在我看来,最好避免。
正如 Bruce Martin 在他的评论中指出的那样,大型机具有世代数据组 (GDG) 的概念,它具有最低级别的限定符,采用操作系统生成的 GnnnnVnn 形式,其中 G 和 V 之间的四位数字是“世代number”和V后面的两位数字是“版本号”。每次创建文件的新实例时,操作系统都会增加代号。
因此,您可能正在考虑 GDG。请注意,GDG 最低级别限定符不依赖于日期或时间,它仅指示创建数据集实例的顺序。
GDG 通常不是通过绝对代号而是通过相对代号来访问的。如果 ABC.DEF 是一个 GDG 并且有四个现存的世代 ABC.DEF.G0008V00, ABC.DEF.G0009V00, ABC.DEF.G0010V00, ABC.DEF.G0011V00 那么对 ABC.DEF(0) 的引用将是简写ABC.DEF.G0011V00。对 ABC.DEF(-1) 的引用将是 ABC.DEF.G0010V00 的简写。引用相对生成 (0) 始终是对最近创建的 GDG 实例的引用。
大型机数据集也可以是 PDS(分区数据集)。分区数据集具有“成员”,并且在概念上与 PC 或 Unix 文件系统上的目录略有相似(尽管实现方式非常不同)。 PDS 可能包含许多相关成员,例如实用程序控制语句,希望将它们作为一个组进行管理。
PDS 名称遵循与普通 DSN 相同的规则,成员名称遵循与普通 DSN 限定符相同的规则,但引用成员需要在括号中指定。如果 MY.DATA 是 PDS 并且我希望访问名称为 XYZ 的成员,我将指定 MY.DATA(XYZ)。
请注意,数据集的格式不一定在其名称中指明。一个数据集是,例如包含固定 100 字节记录的 PDS 作为元数据记录在文件系统中。