If you know mainframes, this book will help you extend your expertise to UNIX environments.KEY TOPICS:This book is a quick, complete reference guide - and a powerful tutorial - for any mainframe professional who wants to understand UNIX and TCP/IP. It provides an overview comparing and contrasting mainframe and UNIX environments from the standpoint of the mainframe professional. It introduces mainframers to UNIX data and file handling methods; shows how UNIX provides for the commands and utilities mainframe programmers are familiar with; and discusses UNIX alternatives to mainframe JCL. It covers advanced UNIX shell scripts; UNIX editors; UNIX account configuration; and third-party tools that may make mainframe developers more comfortable in the UNIX environment. The book includes detailed lists of error messages, codes, UNIX signals, hints and techniques; conversion tables for ASCII and EBCDIC; an overview of the UNIX C Shell and TCP/IP, and much more.MARKET:All mainframe programmers, analysts, system analysts and consultants who need to learn UNIX. This including the rapidly increasing number of programmers in IBM environments working with mainframes as network hubs, or with IBM RS/6000 workstations.
“I know how to do it on the mainframe, but what's the command under UNIX?”
More and more organizations are migrating to UNIX, leaving experienced programming staff frustrated by their lack of familiarity with the new environment. But mainframe skills are transferable!
Designed especially for mainframe professionals, UNIX for the Mainframer builds on existing computer knowledge to ease the technology transfer. Programmers, analysts, system analysts, database administrators, and consultants already know how computers work. This book maps that understanding to the UNIX paradigm without rehashing a lot of basic computing concepts or presuming prior familiarity with UNIX.
UNIX for the Mainframer provides a complete orientation to UNIX for users in transition. It is also an outstanding reference volume for looking up the answers to specific questions, for example:
Appendices offer further resources for deciphering common error messages, converting data, comparing hardware, and accessing networks, along with general hints and suggestions for ongoing reading.
UNIX for the Mainframer is the only book that helps mainframers use their existing skills to get them up and running in the UNIX environment, fast.
“David Horvath has written an excellent introduction, tutorial, and reference for those mainframe programmers and administrators who need or want to become part of the larger computing and network world. It is solidly structured, technically sound, and more than passably readable.” Robert Slade, Internet Review Project.
Trademarks and Copyright Acknowledgments.
1. Operating Systems and Environments.
UNIX History. What Is UNIX and How It Is Different From the Mainframe.
UNIX Files. UNIX Directories. Filesystems. Filename Structure. Directory Name Structure and Pathnames. Moving From Datasetnames to UNIX File and Pathnames. UNIX Filename Conventions. Special UNIX Files. UNIX Tape File Access.
Logging In to UNIX. Terminal and Keyboard Behavior. Directory Navigation (cd and pwd Commands). Looking at Directories (the ls Command)—Replacement for ISPF Dataset List Utility. Wildcards and Filenames. Command Buffering. ISPF Browse and Edit Replacement—An Overview of UNIX Editors. IEBGENER and ISPF Move/Copy Utility Replacement. Copy, Move, and Link Commands (cp, mv, and ln). Common Errors and Problem Determination. Problem Determination—Permissions. Problem Determination—Available Space. Problem Determination—Used Space. Problem Determination—Limits on Resource Usage. IEFBR14 and ISPF Library and Dataset Utility Replacement. Delete and Create File Commands (rm and touch). Create, Delete, and Rename Directory Commands (mkdir, rmdir, and mv). ISPF Dataset List Utility Replacement find Command. Pipes and Redirection and the more Command. How To Get Help. Help Under UNIX—man, apropos, and what is Commands. Printing and Replacing ISPF Hardcopy Utility and /*ROUTE PRINT. UNIX Print Commands (lp and lpr). UNIX Print Status Commands (lpstat and lpq). Canceling UNIX Print Jobs (cancel and lprm Commands). Printing From Programs and Commands (Redirection to Printer). IDCAMS Replacement. Creating and Deleting Generation Data Groups. Creating and Deleting VSAM Datasets. ISPF SDSF or IOF Replacement. ps Command. who, finger, and w Commands. ISPF Foreground Processes and Command Replacements. ISPF Background Processes and Batch Submit Replacements. Job Control. Background Job Modifiers (nohup, nice, time, and timex Commands). Canceling Background Jobs and Commands. Job Scheduling—crontab and at Commands and the cron Daemon. cron table Format. crontab Command. at Command. JES2 /*ROUTE XEQ and /*XEQ Replacement. rsh and remsh Commands. rexec Command. ISPF Super-Compare Replacements. File Comparison Commands. diff, cmp, and comm Commands. bdiff, sdiff, and diff3 Commands. ISPF Search-For Replacement. grep Command. Regular Expressions for grep and egrep. egrep and fgrep Commands. Mimicking Search-For Word, Suffix, and Prefix Options. Summary.
Invoking and Exiting Shells. Creating a Simple Command Procedure. IKJEFTO1 (TSO in Batch) Replacement. What To Do With Batch JCL. Replacing Jobs in JCL With Shell Scripts. Where UNIX Looks for Programs and Scripts (the UNIX Path). Environmental Variables and Substitution. Replacing Jobs in JCL With Shell Scripts—Lines 9 through 90. Replacing Jobs and PROCs in JCL with Shell Scripts. Running Jobs. Sample Output—Job, Step, and Program Output—Simple Job Run Successfully. Sample Output—Job, Step, and Program Output—Simple Job Run Failed. Sample Output—Job, Step, and Program Output—Job/PROC Run Successful. Sample Output—Job, Step, and Program Output—Job/PROC Run Failed. Concatenating Files. Concatenated Datasets Through Temporary Files. Concatenated Datasets Through Named Pipes. Instream Proc Replacement. Additional Information on Redirection. Embedded SYSIN in Korn Shell. ISPF Retrieve or Command History. vi Command Line Editing Modes. emacs and gmacs Command Line Editing Modes. Summary.
Korn Shell Meta-characters. Special Shell Variables. Additional Environmental Variable Substitution (Using Meta-characters). Korn Shell Flags. Restricted or Trusted Shells. Looping and Conditionals. for Loop. while Loop. until Loop. Ending Loops Early—Break and Continue. Testing Expressions. if/then - else - fi and elif/then Conditional Tests. case Statement. select Statement. Arithmetic Expressions and Related Commands (let, expr). Variable Attributes. More About Where UNIX Looks for Programs and Scripts. which, where, and alias Commands. Advanced Commands. File Security.
Editing with vi. Creating a vi Configuration File ($HOME/.exrc). Browsing with vi. Heavy-duty vi Editing Example. Moving Around the Screen. Finding Text in vi (Moving to Specific Text). Joining and Splitting Lines. Adding and Replacing Text. Marking or Labeling Text. Changing Text. Deleting Text. Copying and Moving Text. Substituting Text. Moving From ISPF FIND and RFIND to vi. Moving From ISPF CHANGE and RCHANGE to vi. Command Summaries. Important vi Settings (:set Options). vi Command Summary. ex and ed Command Summary. Summary.
Bourne Shell .profile File. Korn Shell .profile and ENV Files. C Shell .login and .cshrc Files. C Shell .logout File. Other Configuration Files.
Programming Languages. 4th Generation Languages, Application Generators, and Application Development Environments. Other Development Tools. OLTP—CICS and Replacements. CASE Tools. Source Code Control and Configuration Management. Relational Databases. Other Databases and Data Access Methods. Middleware / Migration (Accessing Data on the Mainframe From Other Platforms). Code Translation. System Utilities. UNIX Sorting—An Overview. Replacement for SCRIPT—An Overview of Text Processing. Communications. An Overview of File Transfer. Other Sources of Tools. Summary and Conclusion.
Error Messages. Error Codes. UNIX Signals.
GDG Processing Under UNIX. gdg_idcm.ksh. gdg_use.ksh. gdg_del.ksh. rcp_gdg.ksh. Converting ASA Formatted Print Output. filter_asa.c. Mainframe Tape Processing. Comparing Sequential Files. compare_data.c. Converting Sequential Files to Line Sequential. Converting a Single Record Fixed Sequential File to Line Sequential. add_newline.c.
Data Conversion—An Overview. Simple Data Conversion With the dd Command. Data Conversion Example Programs. swapbyte.cbl—Byte Order Swap Function. xlatecde.cbl—Character Set Conversion Function. xlatecde.cpy—Copybook Used by xlatecde.cbl. xlateuse.cbl—Program To Use xlatecde.cbl. xlateuse.ksh—Shell Script To Run xlateuse.cbl. ASCII and EBCDIC Chart.
TCP/IP. TCP/IP Tools and Commands. TCP/IP Addresses. TCP/IP Commands. Other Internet Tools. SNA—IBM Systems Network Architecture.
Training. Local colleges (credit and non-credit). User Groups and Conferences. Books. Magazines/Newspapers. Glossary. Index.
You have just picked up YAUB (Yet Another UNIX Book). And you may be asking yourself why you should read this one instead of any of the other ones. The answer is simple: If you are a mainframe professional (programmer, analyst, project leader, DBA, etc.) and find yourself having to use the operating system generically known as UNIX, this book is for you.
The idea for this book came when I was working on a conversion project from the IBM mainframe to a UNIX machine. In addition to moving the code, we were supposed to help the staff learn the UNIX system. There were other departments in the same organization that were making similar transitions. Their mainframe professionals were very competent using the mainframe to get their job done, but were having trouble with the new operating system.
Because I am comfortable in both the mainframe and UNIX environments, I was called to help these people out. After they took training courses from outside vendors, they returned to their desks and were immediately hit with questions like “How do I do this?” They wanted to do something under UNIX that they were very quick and familiar with on the mainframe but had difficulty figuring out what to do in the new environment. While helping them solve their problems, one person remarked that he wished there was a book written for what he was going through.
I recommended several books that I had read and others that were on the market, such as UNIX for Dummies for example. The people with whom I was working, however, were no dummies and felt insulted at the idea of buying a book by that title. The introductory books were too simple, assuming little or no computer knowledge. But the more advanced books assumed that the reader knew certain things about UNIX already. Besides these problems, the books simply did not answer the question these people were asking: “I do X on the mainframe this way, how do I do it under UNIX?”
At about the same time, a new staff member joined the project, a person who was familiar with UNIX and another interactive operating system known as VMS, but did not know the mainframe. Fortunately, I gave a seminar a few years prior for VMS professionals on how to use the mainframe, so I made a copy of the handouts for the mainframe novice. The mainframe professionals remarked that they wished they could find a book that explained the UNIX operating system in terms with which they were familiar—much as the seminar materials did. That was the beginning of the idea to write this book. What you hold in your hands is the final result.
If you have questions about this book, you can contact me at UNIX_MF@COBS.COM. My Web page is at http://www.cobs.com/~dhorvath