代码之家  ›  专栏  ›  技术社区  ›  tooptoop4

大型机-更改的文件名的扩展后缀名是什么?

  •  3
  • tooptoop4  · 技术社区  · 6 年前

    我记得,当使用ftp get将文件从大型机复制到windows时,文件名上总会有一些数字后缀,这些后缀每天都会更改。例如abc.4328,那么它将变成abc.23595……等等,在大型机世界中,改变后缀的概念/术语是什么?

    2 回复  |  直到 6 年前
        1
  •  8
  •   cschneid    6 年前

    撇开驻留在Unix文件系统中的大型机文件不谈(z/OS是Unix的一种风格,而且已经有好几年了),大型机文件没有扩展名或后缀。

    大型机文件名(称为数据集名称或DSN)的格式为HLQ[.Q1[.Q2[.Qn]]],其中HLQ是高级限定符,Q1…Qn是后续的限定符,与HLQ分开,并通过句号彼此分隔。整个DSN不能超过44个字符。每个限定符必须由字母、数字和IBM所称的“国家”字符组成,这些字符(在美国无论如何)是@、#和$。此外,限定符不能以数字字符开头。在我看来,最好避免这种情况的例外。

    正如布鲁斯·马丁在评论中指出的那样,大型机具有生成数据组(GDG)的概念,GDG的最低级别限定符采用操作系统生成的GnnnnVnn格式,其中G和V之间的四位数字是“生成号”,V后面的两位数字是“版本号”。生成号由操作系统递增每次创建文件的新实例时。

    所以你可能在考虑一个GDG。请注意,GDG最低级别限定符不依赖于日期或时间,它只指示创建数据集实例的顺序。

    gdg通常不是通过绝对生成数访问的,而是通过相对生成数访问的。如果ABC.DEF是一个GDG,并且有四个现存的生成ABC.DEF.g008v00、ABC.DEF.g009v00、ABC.DEF.g001v00、ABC.DEF.g001v00,那么对ABC.DEF(0)的引用将是ABC.DEF.g001v00的简写。对ABC.DEF(-1)的引用是ABC.DEF.g010v00的简写。引用相对生成(0)始终是对最近创建的GDG实例的引用。

    大型机数据集也可以是PDS(分区数据集)。分区数据集有“成员”,在概念上与(尽管实现了 非常 不同于)PC或Unix文件系统上的目录。PDS可以包含许多相关的成员,例如实用程序控制语句,其中需要将它们作为一个组进行管理。

    PDS名称遵循与普通DSN相同的规则,成员名称遵循与普通DSN限定符相同的规则,但是引用成员需要在括号中指定它。如果MY.DATA是一个PDS,并且我希望访问一个名为XYZ的成员,那么我将指定MY.DATA(XYZ)。

    请注意,数据集的格式不一定在其名称中指明。数据集,例如,包含固定100字节记录的PDS,作为元数据记录在文件系统中。

        2
  •  1
  •   B. Seubert    6 年前

    上面@cschneid的回复很好。要添加到其中:

    1. 在z/OS基本技能页面上有IBM的GDGs文档- https://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zos.zconcepts/zconcepts_175.htm
    2. 有几种数据集类型——GDG实际上不是一种不同的数据集组织,它只是一种特殊的命名约定,表示相对的“年龄”。有顺序数据集(“平面文件”)、分区数据集(有点像被目录包围的平面文件集合)、VSAM数据集(一个很长的主题)和其他一些目前不常用的深奥类型。
    3. gdg是用版本号命名(非VSAM)数据集的非常巧妙的方法,这些版本号可以在JCL或使用这些相对版本号的行命令中引用。但它只是命名

    琐事:在我工作过的地方,系统程序员和操作人员经常把那些gnnnvnn称为“goovoo”数字,而b/c则常常被编号为G00nnV00。。:-)