CONTENTS Title Page Copyright Page Preface 1 The DCL Command Line 1.1 Entering Commands 1.1.1 The Parts of a Command Line 1.1.2 Command Prompting 1.1.3 Continuing Commands on More Than One Line 1.1.4 Entering Comments 1.1.5 Abbreviating Command Names 1.1.6 Abbreviations in Command Procedure Files 1.2 Entering Parameters 1.2.1 Specifying a File 1.3 Entering Qualifiers 1.3.1 Types of Qualifiers 1.3.2 Qualifier Defaults 1.3.3 Qualifiers That Accept Values 1.3.4 Qualifiers That Create Output Files 1.3.5 Abbreviating Qualifiers and Keywords 1.3.6 Commonly Used Qualifiers 1.4 Entering Dates and Times 1.4.1 Absolute Time 1.4.2 Delta Time 1.4.3 Combination Time 2 Editing the DCL Command Line 2.1 Executing a DCL Command 2.2 Interrupting and Canceling a DCL Command 2.3 Editing Commands 2.3.1 Deleting Characters 2.3.2 Deleting Lines 2.3.3 More Editing Commands 2.4 Recalling Commands 2.5 Terminal Function Keys 2.6 Defining Terminal Keys 3 File Specifications 3.1 Format for File Specifications 3.2 Network Nodes 3.2.1 Network File Specifications 3.2.2 Access Control Strings 3.3 Devices 3.3.1 Device Names 3.3.2 Logical Device Names 3.3.3 Generic Device Names 3.3.4 Cluster Device Names 3.4 Directories 3.4.1 Directory Structure 3.4.2 Directory Names 3.4.2.1 Named Format 3.4.2.2 UIC Format 3.4.3 Searching the Directory Hierarchy 3.4.3.1 The Ellipsis ( ... ) Wildcard 3.4.3.2 The Hyphen ( - ) Wildcard 3.4.4 DCL Commands to Use With Directories 3.5 Files 3.5.1 File Names 3.5.2 File Types 3.5.3 Version Numbers 3.5.4 Null File Names and Types 3.5.5 Alternate File Names for Magnetic Tapes 3.5.6 Specifying a List of Files 3.6 Using Wildcards 3.6.1 Input File Specifications 3.6.1.1 The Asterisk ( * ) Wildcard 3.6.1.2 The Percent ( % ) Wildcard 3.6.2 Output File Specifications 3.6.2.1 Output File Names 3.6.2.2 Output Directory Specifications 3.7 Default Values 4 Logical Names 4.1 Creating, Displaying, and Deleting Logical Names 4.1.1 Displaying Logical Names 4.1.1.1 The SHOW TRANSLATION Command 4.1.1.2 The SHOW LOGICAL Command 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 Logical Name Directory 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.2.1 Concealing the True Identity of a Logical Name 4.4.2.2 Preventing Iterative Translation 4.4.3 How the System Applies Defaults During Logical Name Translation 4.4.4 Including a Logical Name in an Input File List 4.5 Logical Name Access Modes 4.6 Creating Your Own Logical Name Tables 4.6.1 Shareable Tables 4.6.2 Choosing a Table for a Logical Name 4.6.3 Deleting Tables 4.6.4 Quotas for Tables 4.6.4.1 The /QUOTA Qualifier 4.6.4.2 Job Table Quota 4.6.5 Access Modes 4.6.6 Protection 4.7 Search Lists 4.7.1 Using Search Lists 4.7.2 Search Order for Multiple Search Lists 4.8 Logical Node Names 4.9 Logical Names for Process-Permanent Files 4.9.1 Redefining SYS$INPUT 4.9.2 Redefining SYS$OUTPUT 4.9.3 Redefining SYS$ERROR 4.9.4 Redefining SYS$COMMAND 5 Symbols 5.1 Symbol Types 5.2 Creating Symbols 5.2.1 Local Symbols 5.2.2 Global Symbols 5.2.3 Symbol Search Order 5.2.4 DCL Commands to Use with Symbols 5.2.5 Abbreviating Symbol Names 5.3 Values Used in Symbols 5.3.1 Character Strings 5.3.2 Numbers 5.3.3 Lexical Functions 5.3.4 Another Symbol 5.3.5 Combination of Values 5.4 Foreign Commands 6 More on Expressions 6.1 Character String Expressions 6.1.1 String Operations 6.1.2 String Comparisons 6.1.3 Replacing Substrings 6.2 Numeric Expressions 6.2.1 Numeric Operations 6.2.2 Numeric Comparisons 6.2.3 Logical Operations 6.2.4 Numeric Overlays 6.3 Order of Operations 6.4 Value Type Conversion 6.4.1 String to Integer Conversion 6.4.2 Integer to String Conversion 6.4.3 How DCL Evaluates an Expression 7 Symbol Substitution 7.1 Automatic Symbol Substitution 7.2 Substitution Operators 7.2.1 The Apostrophe ( ' ) 7.2.1.1 Concatenation of Symbol Names 7.2.1.2 Substitution Within Character Strings 7.2.2 The Ampersand ( & ) 7.3 The Three Phases of Command Processing 7.4 Repetitive and Iterative Substitution 7.4.1 First Phase 7.4.2 Second Phase 7.4.3 Third Phase 7.5 Undefined Symbols 8 Protection 8.1 What Is UIC-Based Protection? 8.1.1 User Identification Code (UIC) 8.1.2 UIC Translation and Storage 8.1.3 How the System Determines Access 8.1.4 The Protection Code 8.1.5 How the System Interprets a Protection Code 8.1.6 How Privileges Affect Protection 8.2 Establishing and Changing UIC-Based Protection 8.2.1 Devices 8.2.2 Queues 8.2.3 Volumes 8.2.4 Directories 8.2.5 Files 8.2.6 Global Sections 8.2.7 Logical Name Tables A VMS Process Privileges and Resource Quotas B DEC Multinational Character Set C DCL Character Set FIGURES 3-1 How Directories Are Structured on a Disk 6-1 Replacing Character Strings in Assignment Statements 8-1 Illustrating User Categories with a UIC of [100,100] B-1 DEC Multinational Character Set, Part I B-2 DEC Multinational Character Set, Part II TABLES 1-1 Built-in Commands 1-2 Commonly Used Qualifiers 2-1 Interrupting Built-in Commands 2-2 Interrupting Nonprivileged Command Images 2-3 Interrupting Privileged Command Images 2-4 Line Editing Keys 2-5 Terminal Function Keys 3-1 Examples of Device Codes 3-2 DCL Commands to Use With Directories 3-3 Default File Types 3-4 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 Files 5-1 DCL Commands to Use with Symbols 6-1 Order of Operations 6-2 Determining the Value of an Expression A-1 Process Privileges A-2 Resource Quotas C-1 DCL Character Set