IBM主机技术一本通
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.11 TSO命令

现在我们基本上结束了大部分关于ISPF/PDF的讨论并准备讨论系统中最常用到的TSO命令。在讨论这些命令之前,我们带给你几个小提示帮助你使用TSO和ISPF/PDF功能。

1.11.1 离开ISPF/PDF

离开ISPF/PDF可以使你工作界面的输入=X,如图1.159所示。

图1.159 离开ISPF命令使用示意图

按下Enter键后,如图1.160所示,你就会看到TSO READY信息,表明你已经在TSO环境下了。如果你想回到ISPF环境,可以输入ISPF和Enter键,就会再次进入ISPF环境。

图1.160 离开ISPF命令执行后的结果

1.11.2 输入TSO命令

一般来说,TSO命令是在TSO READY界面中输入的,但是,你同样可以在ISPF/PDF环境中用以下两种方式输入TSO命令。

1.11.2.1 ISPF/PDF选项6——TSO COMMAND

ISPF/PDF的选项6让你可以在不用离开ISPF/PDF环境的情况下输入TSO命令。图1.161显示选项6的界面。绝大多数TSO命令可以在提示符===>后面输入。唯一例外是那些既对TSO有效,又对ISPF/PDF有效的命令。命令HELP是其中一个例子。你可以在TSO READY提示信息后面发出命令HELP,这时系统将它作为TSO命令处理并将与TSO命令相关的帮助信息显示出来。你也可以在ISPF/PDF环境中输入HELP命令,这时,系统会将关于ISPF/PDF功能的帮助信息显示出来。所以,如果你在选项6(TSO COMMAND PROCESSOR)输入HELP命令,你收到的将是ISPF/PDF的帮助信息。每次出现这种情况时,你可以像下面这样输入TSO命令。

在===>的后面输入:TSO command,再按Enter键,其中,command是合法的TSO命令。

图1.161 TSO命令选项(6)的主菜单

1.11.2.2 使用TSO前缀

当你使用ISPF/PDF选项时,你都可以在COMMAND ===> 或OPTION ===>行通过将TSO放在命令的前面来调用TSO命令,如图1.162所示。注意,就像使用ISPF/PDF选项6一样,TSO必须放到TSO命令的前面。

图1.162 使用TSO作为命令前缀的示意图

1.11.3 TSO HELP

当你使用TSO时,你可以输入HELP命令得到特定命令的帮助信息。你可以在TSO READY信息后面输入HELP Command,然后按下Enter键,其中,Command是合法的TSO命令。比如,如果你希望查看关于LISTCAT命令的帮助信息,如图1.163所示,可以输入:HELP LISTCAT。

按下Enter键后,系统就会将下面的帮助信息显示在你的终端上,如果帮助信息一页显示不完,可以使用Enter键继续显示。

图1.163 HELP命令执行后的结果

1.11.4 LISTCAT命令

LISTCAT命令用显示指定编目下的所有数据集清单,选择显示的内容是通过输入名、输入类型、显示的区域而定的。起初的TSO LISTCAT命令由同名的存取方式(Access Method Services)服务命令取代。在正常的TSO/E运作情况下,使用此命令时,将提供有关命令操作符的信息。TSO/E用户想要控制VSAM数据集,或使用终端其他的存取方式服务,请参考z/OS DFSMS编目存取方式服务功能。LISTCAT命令支持唯一操作符的缩写,由于截取而产生的缩写除外。语法和操作符的解释将显示这是唯一的。LISTCAT命令操作符列表如下。

CATALOG(catalog_name/password):指定编目名和密码。

OUTFILE(ddname)/OFILE(ddname):指定除终端以外要使用的输出数据集,ddname可以相当于ALLOCATE命令中FILE操作符指定的名字,当文件释放后,数据被显示出来。ddname表示一个DD语句,代表输出数据集。如果没有指定OUTFILE,只在终端上显示输出结果。

ENTRIES(entry_name/password):输入要显示的数据集名和密码,如果既没有ENTRIES,也没有LEVEL编码,只显示与用户ID有关的数据集。有关ENTRIES操作符的更多信息,请参考DFSMS VSAM存取方式服务。Entry_name指定要显示的数据集名,如果要显示的内容是受密码保护的,并没有通过CATALOG操作符设定,请输入密码password。

LEVEL(level)/LVL(level):指定要显示的entry_names的层次,如果既没有编码LEVEL,也没有编码ENTRIES,只显示与用户ID有关的信息。

CLUSTER:指定要显示的群集输入,当只有输入类型被指定为CLUSTER时,只显示数据和索引部分与clusters有关的内容。

DATA:指定要显示的数据内容,不包括编目的数据部分。如果在ENTRIES和DATA操作符中指定cluster的名字,只显示指定的数据内容。

INDEX/IX:指定索引显示内容,不包括编目的索引。如果在ENTRIES和INDEX操作符中指定cluster的名字,只显示指定的索引内容。

SPACE/SPC:指定在编目中含有数据空间定义的卷标。如果输入是通过entry_name或level来辨别的,SPACE只有当没有其他的entry_type限制时,才编码。

NONVSAM/NVSAM:指定非VSAM数据集的显示内容。当指定产生数据组名和NONVSAM时,显示与产生数据组有关的数据集。

USERCATALOG/UCAT:指定用户编目的显示内容。只有当编目是主目录时,USERCATALOG才有效。

GENERATIONDATAGROUP/GDG:指定产生数据组的内容。

PAGESPACE/PGSPC:指定输入显示的页空间大小。

ALIAS:指定要显示的别名。

Creation(days):指定显示的数据集,它们的创建日期不迟于输入日。

LISTCAT命令的简化格式是LISTC,用来列出你建立的所有数据集。比如,当我们输入LISTC并按下Enter键后,系统就会显现如图1.164界面类似信息。

如果你只想看某个特定的数据集,可以使用下面的命令:LISTC ENT(IBMUSER.TEST.JCL) ALL,系统就会将该数据集的信息显示出来,如图1.165所示。

当LISTCAT被调用,又没有指定操作符时,用户ID或由PROFILE命令指定的前缀就成为输入数据集的第1个简名,只显示与用户ID有关的数据集。除上一节介绍的以外,LISTCAT命令操作符还有如下几项。

EXPIRATION(days):指定显示有效期不迟于现在的数据集。

图1.164 LISTC命令执行的结果

图1.165 使用LISTC命令显示单个数据集信息

● NAME | VOLUME | ALLOCATION | HISTORY:

✧ ALL指定显示的区域,如果没有输入此值,NAME是默认值,ALL指定显示的输入名。

✧ VOLUME指定数据集名、所有人、创建日、到期日、输入类型、卷标和设备类型。对群组输入项(虽然群组数据和索引拥有卷标)、别名、产生的数据组,卷标信息不显示。

✧ ALLOCATION指定由有关分配卷的详细资料提供的信息,有关分配的信息只显示数据和索引部分。

✧ HISTORY指定输入的数据集名、所有人、创建日、到期日。

DATACLAS:与存储管理子系统一起,指出显示编目的数据级别。

MGMTCLAS:与存储管理子系统一起,指出显示编目的管理级别。

STORCLAS:与存储管理子系统一起,指出显示编目的存储级别。

如图1.166所示,下面的命令显示所有以IBMUSER开头的数据集的信息。

图1.166 LISTC命令显示所有以IBMUSER开头的数据集的信息

1.11.5 LISTDS命令

LISTDS命令用于在终端显示数据集的属性。LISTDS命令对VSAM与非VSAM数据集的作用不同,VSAM数据集使用LISTDS命令只显示VSAM数据集的组织结构,而使用LISTCAT命令可以获取有关VSAM数据集的更多信息;对非VSAM数据集,LISTDS命令可以获取如下信息。

● 卷标。

● 逻辑记录长度。

● 分区大小(Block Size)。

● 记录格式。

● 数据集组织形式(Organization)。

● 分区数据集成员的目录信息(Directory Information)。

● 创建日期、有效期和只对非VSAM而言的安全属性。

● 文件名及配置处理方法(Disposition)

● 数据集控制块(Data Set Control Blocks)

LISTDS命令操作符如下。

data_set:输入数据集名,可以使用单个星号字符作为取代其他简名的通配符,但必须输入第一段的名字前缀。

STATUS:指定想要获取的下列附加信息。

✧ 与当前数据集有关的DDNAME。

✧ 数据集结束时的处置方法。

HISTORY:获取数据集的创建日及有效期,并找出非VSAM数据集是密码保护还是RACF保护。

MEMBERS:显示分区数据集的所有成员列表,包括别名。

LABEL:在终端罗列出整个数据集控制块(Data Set Control Block——DSCB)。

CATALOG(catalog_name):列出包含数据集列表名的用户编目。

LEVEL:指定数据集列表名最多的简名数,罗列出所有以指定简名开始的编目数据集。

图1.167显示的是LISTDS命令的执行结果。

图1.167 LISTDS命令的执行结果

1.11.6 LISTALC命令

LISTALC命令用来获取当前已分配数据集的列表,LISTALC无操作符时,显示所有当前分配数据集名的列表。参数列表如下。

STATUS:显示关于每一个数据集状态的信息,这个操作符提供如下资料。

✧ 分配数据集的DD名和有关属性列表的资料。

✧ 数据集结束时的处置方法。

HISTORY:指定想要获取每一个数据集的历史信息,这个操作符提供如下资料。

✧ 创建日。

✧ 到期日。

✧ 数据集的保护措施。

MEMBERS:显示每一个分区数据集的成员列表。

SYSNAMES:罗列出所有已分配数据集的清单,包括临时数据集。

下面的命令显示所有DISP为KEEP的数据集的信息,结果如图1.168所示。

图1.168 显示所有DISP为KEEP的数据集的信息

1.11.7 DELETE命令

你可以使用DELETE命令删除整个数据集或分区数据集中的成员,比如,我们可以如图1.169所示的那样,在ISPF/PDF环境下输入:DELETE‘dataset’再按下Enter键,其中,‘dataset’是你要删除的数据集的名字,比如我们要删除的数据集是IBMUSER.TEST.NEWSET1。

图1.169 删除(DELETE)命令使用示意图

按下Enter键后,如图1.170所示,系统就会将数据集删除并显示数据集成功删除的信息。请注意,由于这里的删除命令没有确认的过程,所以你在使用它们时要特别小心。这让我想起了以前香港地区劝人们不要吸毒的一个广告词叫做“请远离毒品,生命有TAKE 2”。有些不懂广东话的人也许不知道后半句话的意思,所谓TAKE 2指的是电影拍摄过程中的NG(拍错了重拍),但对于人的生命来说,没了也就没了,不可能重新来过,所以每个人必须珍惜生命!扯远了,删除文件也是需要引起特别注意的事情,尤其当你操作的是生产环境时,这一点就更为重要了,删错文件,在生产环境就是事故!

图1.170 数据集删除(DELETE)命令执行后的结果

1.11.8 RENAME命令

为了重命名数据集或数据集成员,你可以如图1.171所示的那样在TSO READY信息后面输入命令。

RENAME ‘old_dataset’‘new_dataset’再按下Enter键,其中,‘old_dataset’是当前的数据集的名字,而‘new_dataset’则是数据集的新名字。在图1.171中,我们要将现有的数据集IBMUSER.TEST.JCL.A1改名为IBMUSER.TEST.JCL.ABC123,最下面的一行显示的是正确的命令,而前面的命令则是错误的。因为在TSO环境下,不需要在命令前面加TSO,它只是当你处于ISPF/PDF环境下时才需要。

图1.171 数据集改名(RENAME)命令的使用示意图

按下Enter键后,如图1.172所示,系统就会完成要求的改名工作并再次出现TSO READY信息,提示你输入下一条命令。

图1.172 数据集改名(RENAME)命令执行后的结果