Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Files-11
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Logical names == A '''logical name''' is a system variable which may reference a disk, directory or file, or contain other program-specific information. For example, the logical <kbd>SYS$SYSDEVICE</kbd> contains the system's boot device. A logical name normally refers to a single directory or disk, ''e.g.'' <kbd>SYS$LOGIN:</kbd> which is the user's login (home) directory (or directories); these logicals cannot be used as true disk names—<kbd>SYS$LOGIN:[DIR]FILE</kbd> is not a valid file specification. However, ''concealed'' logical names, defined by <kbd>DEFINE/TRANSLATION=CONCEALED</kbd>, can be used in that way; these ''rooted'' directories are defined with a trailing "." on the directory specification, hence $ DEFINE/TRANS=CONCEAL HOME DISK$USERS:[''username''.] would allow <kbd>HOME:[DIR]FILE</kbd> to be used. More common are simple logicals which point to specific directories associated with some application software which may be located in on any disk or any directory. Hence logical ABC_EXE may point to a directory of executable programs for application ABC and ABC_TEMP may point to a directory of temporary files for that same application and this directory may be on the same disk and in the same directory tree as ABC_EXE or could be somewhere on another disk (and in a different directory tree). In a manner similar to Unix, VMS defines several [[standard streams|standard input and output channels]] which are accessed through the logical names <kbd>SYS$INPUT</kbd>, <kbd>SYS$OUTPUT</kbd>, <kbd>SYS$ERROR</kbd> and <kbd>SYS$COMMAND</kbd>.<ref>{{cite web|url=https://vmssoftware.com/docs/VSI_USERS_MANUAL.pdf|title=OpenVMS User's Manual|at=Chapter 14, Advanced Programming with DCL|website=vmssoftware.com|access-date=2021-04-09|date=July 2020|publisher=VSI}}</ref> Logical names do not have a close equivalent in POSIX operating systems. They resemble Unix [[environment variable]]s, except they are expanded by the file system, instead of the command shell or application program. They must be defined before use, so it is common for many logical names to be defined in the system startup command file, as well as user login command files. In VMS, logical names may reference other logical names (up to a predefined nesting limit of 10), and may contain lists of names to search for an existing filename. Some frequently referenced logical names are: {| class="wikitable" !logical name !! meaning |- |<kbd>SYS$INPUT</kbd>|| [[standard input]] - used interactively, this represents the terminal keyboard. Used in a batch file, it reads batch file lines not preceded with a $ symbol, or specified as an input deck using the <code>DECK</code> command. |- |<kbd>SYS$OUTPUT</kbd>|| [[standard output]] - it will output to the terminal display or the batch log file depending on whether the process is interactive or not. |- |<kbd>SYS$ERROR</kbd>|| [[standard error stream|standard error]] - it will output to the terminal display or the batch error log file depending on whether the process is interactive or not. |- |<kbd>SYS$COMMAND</kbd>|| source of batch file commands. It will read from the terminal or the SYS$INPUT stream depending on whether the process is interactive or not. |- |<kbd>TT</kbd>|| the terminal associated with the process |- |<kbd>SYS$PRINT</kbd>|| the default printer or print queue |- |<kbd>SYS$LOGIN</kbd>|| home directory for each user |- |<kbd>SYS$SCRATCH</kbd>|| [[temporary folder]], directory for temporary files |- |<kbd>SYS$SYSTEM</kbd>|| directory containing most system programs and a few vital data files, such as the system authorization file (accounts and passwords) |- |<kbd>SYS$SHARE</kbd>|| shared runtime libraries, executables, etc. |- |<kbd>SYS$LIBRARY</kbd>|| system and added libraries |} The closest non-DEC operating system to support the concept of logical names is [[AmigaOS]], through the <kbd>ASSIGN</kbd> command. AmigaOS's disk operating system, [[AmigaDOS]], which is a port of [[TRIPOS]], bears some resemblance to DEC operating systems. For example, physical device names follow a pattern like DF0: for the first floppy disk, CDROM2: for the 3rd CD-ROM drive, etc. However, since the system can boot from any attached drive, the operating system creates the SYS: assignment to automatically reference the boot device used. Other assignments, LIBS:, PREFS:, C:, S:, et al. are also made, themselves referenced off SYS:. Users are, of course, allowed to create and destroy their own assignments too.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)