菜鸟科技网

zos命令有哪些常用操作?

z/OS 是 IBM 的旗舰操作系统,主要用于大型机环境,它的命令体系与 Linux/Unix 或 Windows 有显著不同,更加强调交互式会话基于 JCL 的批处理

zos命令有哪些常用操作?-图1
(图片来源网络,侵删)

z/OS 命令主要分为两大类:

  1. 交互式命令:用户在终端(如 ISPF/PDF 或 TSO/E)中直接输入并立即执行的命令。
  2. 批处理命令:这些命令通常不是直接输入的,而是作为 Job Control Language (JCL) 语句的一部分,提交给系统在后台执行。

交互式命令

这些是你在与 z/OS 系统进行实时交互时最常用的命令,它们通常通过 TSO/E (Time Sharing Option / Extensions) 环境执行,而最常用的 TSO/E 前端是 ISPF (Interactive System Productivity Facility)

TSO/E 基础命令

这些是 TSO/E 的核心命令,用于管理你的会话和基本操作。

命令 全称 描述 示例
LOGON Log On 登录到 z/OS 系统。 LOGON IBMUSER
LOGOFF Log Off 安全地注销并终止你的会话。 LOGOFF
TIME Time 显示当前系统时间。 TIME
STATUS Status 显示你的 TSO/E 会话的当前状态信息。 STATUS
PROFILE Profile 显示或修改你的 TSO/E 配置文件设置。 PROFILE
FREE Free 释放被分配的数据集或资源。 FREE 'DSN(DATASET.NAME)'
HELP Help 获取命令的帮助信息。 HELPHELP COMMAND_NAME

数据集操作命令

这是 z/OS 用户最频繁使用的命令类别,用于管理文件(在 z/OS 中称为数据集)。

zos命令有哪些常用操作?-图2
(图片来源网络,侵删)
命令 全称 描述 示例
LISTDS List Data Set 列出数据集的属性(如 LRECL, BLKSIZE, DSORG 等)。 LISTDS 'IBMUSER.MY.PGM(COBOL)'
LISTCAT List Catalog 从系统目录中列出数据集的信息。 LISTCAT ENTIRE (列出所有) 或 LISTCAT LEVEL('IBMUSER') (列出特定用户下)
ALLOC Allocate 分配一个新的数据集或为数据集分配文件。 ALLOC DA('IBMUSER.NEW.DATA') NEW SPACE(1,1) CYL
DELETE Delete 删除一个或多个数据集。 DELETE 'IBMUSER.OLD.DATA'
RENAME Rename 重命名一个数据集。 RENAME 'IBMUSER.OLD.NAME' TO 'IBMUSER.NEW.NAME'
COPY Copy 复制一个数据集的内容到另一个数据集。 COPY INDA('IBMUSER.SOURCE.FILE') OUTDA('IBMUSER.BACKUP.FILE')
IEBGENER (Utility) 一个常用的实用程序,用于复制数据集,或将顺序数据集转换为分区数据集。 通常在 JCL 中使用,但在交互式下也可调用。

交互式实用程序命令

这些命令让你在不离开 ISPF 界面的情况下执行实用程序功能。

命令 描述 示例
SDSF System Display and Search Facility,这是最重要的命令之一!它是一个强大的工具,用于监控和管理系统资源,查看作业输出、打印机队列、用户会话、CPU/内存使用情况等。 SDSF
ISPF 启动 ISPF 主菜单。 ISPF
IKJEFT01 一个程序,用于执行主机上的外部程序或命令(如 Unix System Services 命令)。 IKJEFT01 '/bin/ls -l /tmp'
IKJTSO 另一个用于执行 TSO/E 命令的程序。 IKJTSO 'LISTDS IBMUSER.*'

批处理命令 (JCL)

在 z/OS 中,绝大多数大规模、重复性的任务都是通过批处理作业来完成的,这些作业由 JCL (Job Control Language) 控制,JCL 本身不是传统意义上的“命令”,而是一组向操作系统描述作业如何执行的指令。

一个 JCL 作业由三个主要语句组成:

  1. //JOB 语句:标识作业的开始,提供作业名、用户信息和会计信息。
  2. //EXEC 语句:执行一个程序或步骤,例如执行一个实用程序或用户程序。
  3. //DD 语句:定义数据集,为程序提供输入或输出。

常用 JCL 示例

复制数据集 (使用 IEBGENER)

这个作业会将一个顺序数据集复制到另一个顺序数据集。

zos命令有哪些常用操作?-图3
(图片来源网络,侵删)
//MYJOB JOB (),'USER',CLASS=A,MSGCLASS=X
//STEP1    EXEC PGM=IEBGENER
//SYSUT1   DD DSN=IBMUSER.INPUT.FILE,DISP=SHR  // 输入数据集
//SYSUT2   DD DSN=IBMUSER.OUTPUT.FILE,         // 输出数据集
//             DISP=(NEW,CATLG,DELETE),         // 创建并编目,完成后删除
//             SPACE=(TRK,(10,5)),               // 空间分配
//             DCB=(LRECL=80,BLKSIZE=800)        // 数据集属性
//SYSIN    DD DUMMY
//SYSOUT   DD SYSOUT=*
  • //MYJOB JOB ...: 作业定义。
  • //STEP1 EXEC PGM=IEBGENER: 执行名为 IEBGENER 的复制程序。
  • //SYSUT1 DD ...: 定义程序的输入数据集。
  • //SYSUT2 DD ...: 定义程序的输出数据集,并指定如何处理它(新建、编目、删除)。

排序数据集 (使用 SORT)

这个作业会对一个数据集进行排序。

//SORTJOB  JOB (),'USER',CLASS=A
//SORTSTEP EXEC PGM=SORT
//SORTIN   DD DSN=IBMUSER.UNSORTED.DATA,DISP=SHR
//SORTOUT  DD DSN=IBMUSER.SORTED.DATA,DISP=(NEW,CATLG)
//SYSOUT   DD SYSOUT=*
//SYSIN    DD *
  SORT FIELDS=(1,10,CH,A) /* 按前10个字符,升序排序 /*
/*
  • //SYSIN DD * ... /*: 这里提供了一个内嵌的控制数据集,告诉 SORT 程序如何排序 (SORT FIELDS...)。

编译和链接 COBOL 程序

这是一个典型的多步骤作业,用于编译源代码并链接编辑生成可执行模块。

//COMPILE JOB (),'USER',CLASS=A
//COBSTEP  EXEC PGM=IGYCRCTL
//SYSUT1   DD SPACE=(TRK,(10,5)),UNIT=SYSDA
//SYSUT2   DD SPACE=(TRK,(10,5)),UNIT=SYSDA
//SYSUT3   DD SPACE=(TRK,(10,5)),UNIT=SYSDA
//SYSLIB   DD DSN=SYS1.COBOLLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN    DD DSN=IBMUSER.MY.COBOL(SOURCE),DISP=SHR
//*
//LKEDSTEP EXEC PGM=HEWL,PARM='XREF,LET,LIST,MAP'
//SYSLMOD  DD DSN=IBMUSER.LOADLIB(MYPROG),DISP=SHR
//SYSLIN   DD DSN=&&OBJECT,DISP=(OLD,DELETE)
//SYSPRINT DD SYSOUT=*
//*
//DELETE  EXEC PGM=IDCAMS
//SYSIN   DD *
  DELETE '&&OBJECT'
/*
/*
  • //COBSTEP: COBOL 编译步骤。
  • //LKEDSTEP: 链接编辑步骤,输入是编译产生的目标模块 (&&OBJECT)。
  • //DELETE: 一个额外的步骤,用于清理中间生成的目标数据集。

Unix System Services (USS) 命令

现代 z/OS 集成了 POSIX 兼容的环境,称为 Unix System Services (USS),在 USS 中,你可以直接使用熟悉的 Unix/Linux 命令,你需要在 USS Shell (Shell) 环境中执行这些命令。

命令 描述 示例
ls 列出目录内容。 ls -l /u/ibmuser
cd 切换当前目录。 cd /tmp
pwd 显示当前工作目录。 pwd
cat 显示文件内容。 cat myscript.sh
cp 复制文件或目录。 cp file1.txt file2.txt
mv 移动/重命名文件或目录。 mv oldname newname
rm 删除文件。 rm unwanted_file
mkdir 创建目录。 mkdir new_dir
rmdir 删除空目录。 rmdir empty_dir

如何进入 USS Shell?

  • 在 ISPF 主菜单,选择 Utilities -> Unix System Services -> Shell
  • 或者使用交互式命令 OMVS,然后输入 bashsh

常用实用程序

除了命令,z/OS 还有一系列强大的实用程序,它们通常通过 JCL 调用。

实用程序 描述
IEBGENER 通用数据集复制工具。
IEBPTPCH 将数据集内容打印到系统打印机或分配的数据集。
IEBUPDTE 编辑和更新顺序数据集或分区数据集的成员。
IDCAMS VSAM Access Method Services,用于创建、删除、重建、列出 VSAM 数据集。
SORT 功能强大的排序和合并工具。
IEFBR14 一个“空”程序,常用于 JCL 中仅仅分配或删除数据集。
命令类型 执行环境 特点 常见用途
交互式命令 TSO/E 会话 (如 ISPF) 即时反馈,适合交互式操作、调试、小任务。 查看数据集、编辑文件、提交作业、监控系统。
JCL 批处理 描述作业流程,无交互,适合大规模、自动化任务。 编译程序、处理大量数据、备份、定期维护。
USS 命令 USS Shell 类似于 Linux/Unix,适合处理文本文件、脚本和类 Unix 操作。 管理脚本、编译开源软件、Web 服务器管理。

对于初学者来说,建议从 ISPF/PDF 界面开始,熟悉交互式命令和菜单操作,然后逐步学习如何编写 JCL 来自动化任务。SDSF 是你最好的朋友,一定要学会用它来查看作业运行状态和输出。

分享:
扫描分享到社交APP
上一篇
下一篇