CONTENTS Title Page Copyright Page Preface 1 Introducing VMS and DCL 1.1 Logging In to the System 1.1.1 Alternative Login Procedures 1.1.1.1 Automatic Login 1.1.1.2 Logging In Over the Network 1.1.1.3 Dialing In 1.1.2 Logging Out of the System 1.2 Using the DIGITAL Command Language 1.2.1 DCL Command HELP 1.2.2 The DCL Command Line 1.2.3 Prompting and System Defaults 1.2.4 Entering Parameters 1.2.5 Entering Qualifiers 1.2.5.1 Types of Qualifiers 1.2.5.2 Qualifier Defaults 1.2.6 Entering Dates and Times as Values 1.2.6.1 Absolute Time 1.2.6.2 Delta Time 1.2.6.3 Combination Time 1.3 Entering and Editing DCL Commands 1.3.1 Entering a DCL Command 1.3.2 Interrupting and Canceling a DCL Command 1.3.2.1 Using CTRL/T 1.3.2.2 Using CTRL/Y 1.3.2.3 Using CTRL/C 1.3.3 Redirecting the Output of Commands 1.3.4 Recalling Commands 1.3.5 Editing a DCL Command 1.3.6 Controlling Screen Display 1.3.7 Representing DCL Commands with Symbols 1.3.8 Defining Terminal Keys 1.3.8.1 Key States 1.3.8.2 Examining and Deleting Keys 1.4 Utilities 1.4.1 Using the Mail Utility 1.4.1.1 Creating a Mail Subdirectory 1.4.1.2 Sending Mail 1.4.1.3 Reading Mail 1.4.1.4 Creating a File from a Mail Message 1.4.1.5 Deleting Mail 1.4.1.6 Organizing Mail with Folders and Files 1.4.1.7 Using the Mail Keypad 1.4.1.8 Setting the Default Editor 1.4.2 Using the Phone Utility 1.4.3 Using the Sort/Merge Utility 1.4.3.1 Sorting Records 1.4.3.2 Other Types of Sorting 1.4.3.3 Character Data Files 1.4.3.4 Noncharacter Data Files 1.4.3.5 Terminal Input 1.4.3.6 Output File Organization 1.4.3.7 Batch Job Submission 1.4.3.8 Merging Files 2 Working with Files and Directories 2.1 Files 2.1.1 File Names, Types, and Versions 2.1.2 File Characteristics 2.2 Directories 2.2.1 Directory Structure 2.2.2 Directory Names 2.3 Devices 2.3.1 Physical Device Names 2.3.2 Logical Device Names 2.3.3 Generic Device Names 2.4 Full File Specification 2.4.1 Using System Default Values When Specifying Files 2.5 File Operations 2.5.1 Using Wildcards with File Specifications 2.5.1.1 The Asterisk ( * ) Wildcard Character 2.5.1.2 The Percent ( % ) Wildcard Character 2.5.2 Displaying the Contents of Files 2.5.3 Creating and Modifying Files 2.5.4 Deleting Files 2.5.5 Printing Files 2.6 Device and Directory Operations 2.6.1 Displaying Directories 2.6.2 Creating Directories 2.6.3 Deleting Directories 2.6.4 Setting a Default Directory 2.6.5 Setting a Default Device 2.6.6 Searching the Directory Structure with Search Wildcards 2.6.6.1 The Ellipsis ( . . . ) Wildcard Character 2.6.6.2 The Hyphen ( - ) Wildcard Character 2.6.6.3 Using Wildcards to Copy a Directory Structure 3 Working with Processes 3.1 Processes and the User Environment 3.1.1 Programs 3.1.2 Command Procedures 3.1.3 Subprocesses 3.1.3.1 Exiting from a Subprocess 3.1.3.2 Subprocess Context 3.1.4 Batch Jobs 3.1.5 Submitting a Batch Job 3.1.6 Batch Job Output 3.1.7 Restarting Batch Jobs 4 Using Logical Names 4.1 Creating Logical Names 4.1.1 Displaying Logical Names 4.1.2 Deleting Logical Names 4.2 Logical Name Tables 4.2.1 The Process Table 4.2.2 The Job Table 4.2.3 The Group Table 4.2.4 The System Table 4.3 Directory Logical Name Tables 4.3.1 The Process Directory Table 4.3.2 The System Directory Table 4.4 Logical Name Translation 4.4.1 Iterative Translation 4.4.2 Modifying Logical Name Translation 4.4.3 System Defaults During Logical Name Translation 4.5 Logical Name Access Modes 4.6 Creating a Logical Name Table 4.7 Search Lists 4.8 Logical Node Names 4.9 System-Created Logical Names 4.9.1 Process-Permanent Logical Names 4.9.1.1 Redefining SYS$INPUT 4.9.1.2 Redefining SYS$OUTPUT 4.9.1.3 Redefining SYS$ERROR 4.9.1.4 Redefining SYS$COMMAND 4.9.2 System-Permanent Logical Names 5 Representing Data with Symbols 5.1 Data Storage 5.2 Creating and Using Symbols 5.3 Abbreviating Symbol Names 5.4 DCL Commands to Use with Symbols 5.5 Symbol Substitution 5.6 Storing and Manipulating Data with Symbols 5.6.1 Symbol Values 5.6.1.1 Character String Values 5.6.1.2 Numeric Values 5.6.1.3 Values Returned by Lexical Functions 5.6.1.4 Logical Values 5.6.1.5 Using a Symbol as a Value for Another Symbol 5.6.2 Using Symbols in Expressions 5.6.2.1 Character String Expressions 5.6.2.2 Numeric Expressions 5.6.2.3 Logical Expressions 5.6.2.4 Substring Replacement and Numeric Overlays 5.6.2.5 Order of Operations and the Results of Evaluations 6 Writing and Using Command Procedures 6.1 Format 6.2 Execution 6.2.1 Changing Command Levels 6.2.2 Exiting from Command Procedures 6.3 Designing a Login Command Procedure 6.4 Passing Data 6.4.1 Using Parameters to Pass Data 6.4.2 The INQUIRE Command 6.4.3 The READ Command 6.4.4 Obtaining Data from SYS$INPUT 6.5 Returning Data 6.6 Displaying Data 6.6.1 Displaying Character Strings and Symbols 6.6.2 Displaying Text 6.6.3 Displaying Files 6.7 Reading and Writing Files (File I/O) 6.7.1 Specifying Files in Batch Job Command Procedures 6.7.2 Writing to a File 6.7.3 Reading from a File 6.7.4 Modifying a File 6.7.4.1 Minor Modifications 6.7.4.2 Major Modifications 6.7.4.3 Appending Records to a File 6.7.5 Handling Input/Output (I/O) Errors 6.8 Complex Command Procedures 6.8.1 Designing Complex Command Procedures 6.8.2 Coding Complex Command Procedures 6.8.2.1 The IF Command 6.8.2.2 Case Statements 6.8.2.3 Loops 6.8.2.4 Subroutines 6.8.3 Testing and Debugging 6.9 Handling Errors and CTRL/Y Interrupts 6.9.1 The ON Command 6.9.2 The SET [NO]ON Command 6.9.3 CTRL/Y Interrupts 6.10 Restarting Batch Jobs 6.11 Cleanup Operations 7 Maintaining Accounts and System Security 7.1 User Accounts 7.2 Protection 7.2.1 UIC-Based Protection 7.2.1.1 UIC Format 7.2.1.2 Ownership and Access Categories 7.2.1.3 Protection Masks 7.2.1.4 Securing User Data and Devices 7.2.2 ACL-Based Protection 7.2.2.1 Object Types 7.2.2.2 Identifiers 7.2.2.3 Access Control List Entries (ACEs) 7.2.2.4 IDENTIFIER ACEs 7.2.2.5 DEFAULT_PROTECTION ACEs 7.2.2.6 ALARM_JOURNAL ACEs 7.2.3 File Protection 7.2.3.1 Default File Protection 7.2.3.2 Explicit File Protection 7.2.3.3 Directory Protection 7.2.3.4 Mail File Protection 7.2.4 Disk Volume Protection 7.2.5 Device Protection 7.2.6 Displays of Ownership and Protection 7.3 Creating and Deleting ACLs 7.3.1 Using the SET ACL Command 7.3.2 ACL Editor 7.3.2.1 Using Prompts 7.3.2.2 Moving the Cursor 7.3.2.3 Entering and Deleting Data 7.3.2.4 Processing an ACE 8 Editing Files with the EVE and EDT Editors 8.1 The EVE Editor 8.1.1 Getting Started 8.1.1.1 Beginning an Editing Session 8.1.1.2 Ending an Editing Session 8.1.2 Entering EVE Commands 8.1.2.1 Using Defined Keys to Enter EVE Commands 8.1.2.2 Typing EVE Commands 8.1.3 Editing Text 8.1.3.1 Moving the Cursor 8.1.3.2 Entering Text 8.1.3.3 Erasing and Restoring Text 8.1.3.4 Moving Text from One Location to Another 8.1.3.5 Moving a Box of Text 8.1.3.6 Searching for Text 8.1.3.7 Marking Locations in Text 8.1.3.8 Replacing Text 8.1.4 Using Online Help 8.1.5 Recovering from System Interruptions 8.1.5.1 Using the Journal File 8.1.5.2 Refreshing the Screen 8.1.6 Formatting Text 8.1.6.1 Setting Margins 8.1.7 Using Buffers 8.1.8 Listing Buffers 8.1.9 Displaying the Messages Buffer 8.1.9.1 Editing Multiple Buffers 8.1.9.2 Reading and Writing Files 8.1.10 Using Windows 8.1.10.1 Viewing One Buffer 8.1.10.2 Editing Two Buffers 8.1.11 Defining Keys 8.1.11.1 Defining Keys to Execute EVE Commands 8.1.11.2 Defining Keys to Enter Learn Sequences 8.1.11.3 Defining a Gold Key 8.1.12 Using DCL Within EVE 8.1.12.1 Executing a DCL Command 8.1.12.2 Creating a Subprocess 8.1.13 Saving Key Definitions and Attributes 8.2 The EDT Editor 8.2.1 Invoking and Terminating EDT 8.2.1.1 Invoking EDT 8.2.1.2 Terminating EDT 8.2.2 Entering EDT Commands 8.2.2.1 Entering EDT Line Commands 8.2.2.2 Entering Keypad Commands 8.2.2.3 Canceling EDT Commands 8.2.3 Getting HELP in EDT 8.2.3.1 Getting HELP with Keypad-Editing Commands 8.2.3.2 Getting HELP with Line-Editing Commands 8.2.3.3 Getting HELP on Nokeypad-Editing Commands 8.2.4 Changing Editing Modes 8.2.4.1 Changing from Keypad to Line Editing 8.2.4.2 Changing from Line to Keypad Editing 8.2.4.3 Entering Line-Editing Commands from Keypad Mode 8.2.5 Recovering from Interruptions 8.2.6 EDT Keypad Editing 8.2.6.1 Manipulating the Cursor 8.2.6.2 Inserting Text 8.2.6.3 Deleting and Restoring Text 8.2.6.4 Locating Text 8.2.6.5 Substituting Text 8.2.6.6 Moving Text 8.2.6.7 Moving Text Within the File 8.2.6.8 Using Multiple Buffers 8.2.7 Controlling EDT Sessions 8.2.7.1 Startup Command Files 8.2.7.2 Controlling Screen Format with SET Commands 8.2.7.3 Controlling Editing Functions with SET Commands 8.2.7.4 Defining Keys 8.2.7.5 Defining EDT Macros 9 Processing Files with DIGITAL Standard Runoff 9.1 Formatting Text 9.1.1 Filling and Justifying Text 9.1.2 Adjusting Margins and Centering Text 9.1.3 Formatting Paragraphs 9.1.4 Formatting Literal Text 9.1.5 Formatting Lists 9.1.5.1 Numbered Lists 9.1.5.2 Bulleted Lists 9.1.5.3 Nested Lists 9.1.5.4 Lists Beginning with Letters and Roman Numerals 9.1.6 Leaving Space on a Page 9.1.7 Formatting Notes 9.1.8 Formatting Footnotes 9.1.9 Bolding and Underlining Text 9.2 Laying Out a Document 9.2.1 Chapters and Appendixes 9.2.2 Sections 9.2.3 Running Heads 9.2.4 Pagination 9.3 Processing DSR Files 9.3.1 Producing a Table of Contents 9.3.2 Producing an Index 9.3.3 Printing Output Files A Character Sets A.1 ASCII Character Set A.2 ASCII and DEC Multinational Character Set Tables A.3 DEC Multinational Character Set B Expressions FIGURES 2-1 Directory Structure 8-1 EVE Keys-VT200-Series and VT300-Series Terminals 8-2 EVE Keys-VT100-Series Terminals 8-3 EDT Keypad Keys 8-4 EDT Supplemental Keypad Keys A-1 Graphical Representation of the ASCII Character Set A-2 Graphical Representation of the DEC Multinational Extension to the ASCII Character Set TABLES 1-1 Built-In Commands 1-2 Keys That Execute Terminal Functions 2-1 Default File Types 2-2 File Specification Defaults 4-1 Default Process Logical Names 4-2 Default Job Logical Names 4-3 Default System Logical Names 4-4 Default Process Directory Logical Names 4-5 Default System Directory Logical Names 4-6 Equivalence Names for Process-Permanent Logical Names 5-1 DCL Commands to Use with Symbols 5-2 Determining the Value of an Expression 8-1 EVE Commands for Box Editing 8-2 EVE Commands for Buffer Change Journaling and Recovery 8-3 EVE Commands for Saving Attributes