# Set Terminal type
DEFINE TERM "vt100"
SET TERMINAL /DEVICE=VT100 /WIDTH=80
# Exit almost anything:
CTRL-Z
# Change the prompt.
SET PROMPT="''F$GETSYI("NODENAME")' $ "
# Put this in to have it executed on every login.
EDIT SYS$MANAGER:SYLOGIN.COM
# Show your current default directory:
SHOW DEFAULT
# Change directory (like cd):
SET DEFAULT [DIRECTORY]
SET DEFAULT DKA0:[JOE.SUBDIR]
# Go up one directory level (like cd ..):
SET DEFAULT [-]
Go up two levels:
SET DEFAULT [--]
Go up one level then into a sibling directory:
SET DEFAULT [-.SUBDIR]
# List files (like ls):
DIRECTORY
Full details (size, date, protection):
DIRECTORY /FULL
Just filenames, no header/footer (good for scripting):
DIRECTORY /BRIEF /NOHEADER /NOTRAILING
Recursively list subdirectories:
DIRECTORY [...]
Wildcards work as expected:
DIRECTORY *.COM
# Create a directory (like mkdir):
CREATE /DIRECTORY [.NEWDIR]
Create with an owner UIC set:
CREATE /DIRECTORY DKA0:[TESTUSER] /OWNER=[200,#]
# Remove a directory (must be empty; delete the .DIR file itself):
SET DEFAULT [-]
DELETE NEWDIR.DIR;1
# Copy a file (like cp):
COPY OLDFILE.TXT NEWFILE.TXT
Copy into another directory, keeping the name:
COPY OLDFILE.TXT [.SUBDIR]
Copy an entire directory tree:
COPY [SOURCE...]*.* [DEST...] /LOG
# Rename/move a file (like mv):
RENAME OLDNAME.TXT NEWNAME.TXT
Move to another directory (rename across dirs works fine in VMS):
RENAME FILE.TXT [.SUBDIR]FILE.TXT
# Delete a file (like rm):
DELETE FILE.TXT;1
Delete all versions of a file:
DELETE FILE.TXT;*
Delete with wildcard, prompting for each:
DELETE /CONFIRM *.TMP;*
# Purge old file versions (VMS keeps multiple versions by default):
PURGE FILE.TXT
Purge everything in current directory, keeping only 2 versions:
PURGE /KEEP=2 *.*
# View a file's contents (like cat):
TYPE FILE.TXT
Page through a file (like more/less):
TYPE /PAGE FILE.TXT
# Search inside files (like grep):
SEARCH FILE.TXT "searchstring"
Search across multiple files:
SEARCH *.LOG "ERROR"
# Compare two files (like diff):
DIFFERENCES FILE1.TXT FILE2.TXT
# Append to a file:
APPEND NEWSTUFF.TXT EXISTING.TXT
# Show file protections/ownership:
DIRECTORY /SECURITY FILE.TXT
# Change file protection (like chmod):
SET PROTECTION=(OWNER:RWED,GROUP:RE,WORLD:RE) FILE.TXT
# Change file owner (like chown):
SET FILE /OWNER_UIC=[200,15] FILE.TXT
# Find out how much space is used/free on a disk (like df):
SHOW DEVICE DKA0:
# Print a file:
PRINT FILE.TXT
# Reset your own password:
SET PASSWORD
# Change any user's password:
RUN SYS$SYSTEM:AUTHORIZE
MODIFY username /PASSWORD=newpassword
EXIT
# Add users
SET DEFAULT SYS$SYSTEM
RUN AUTHORIZE
See what the next available user ID is.
SHOW [200,*] /BRIEF
ADD JOE /PASSWORD=Secret123 /OWNER="Joe User" /DEV=DKA0: /DIR=[JOE] /UIC=[200,#] /FLAG=NODISUSER /PRIV=(TMPMBX,NETMBX) /DEFPRIV=(TMPMBX,NETMBX) /PGFLQUO=100000 /WSEXTENT=16384
Set no password expiry
MODIFY ANONYMOUS /NOPWDEXPIRED /NOPWDLIFETIME
EXIT
Add the user's home directory
CREATE /DIRECTORY DKA0:[TESTUSER] /OWNER=[200,#]
# Recover System account password:
Type following commands in boot console to perform a conversational boot:
B /R5:1 DKA300
At SYSBOOT> Prompt type the following
SET/STARTUP OPA0:
SET WINDOW_SYSTEM 0
SET WRITESYSPARAMS 0
CONTINUE
Once at the $ prompt:
SPAWN
@SYS$SYSTEM:STARTUP
SET DEFAULT SYS$SYSTEM:
RUN SYS$SYSTEM:AUTHORIZE
MODIFY SYSTEM /PASSWORD=newpwd
# Show all processes on the system (find a PID):
SHOW SYSTEM
Show just one user's processes:
SHOW SYSTEM /PROCESS=username
Show who's logged in:
SHOW USERS
# Stop/kill a process:
STOP /IDENTIFICATION=pid
# Show details on a specific process:
SHOW PROCESS process-name /CONTINUOUS
# Initialize (Format) drive:
INITIALIZE DKA500: SCRATCH /STRUCTURE=5
# Mount Drive on startup:
# Add to the end of
@SYS$MANAGER:SYSTARTUP_VMS.COM
MOUNT/SYSTEM DKA500: SCRATCH
# Mount a CD/removable media:
MOUNT /OVERRIDE=IDENTIFICATION DKA100:
# Install a program kit:
@SYS$UPDATE:VMSINSTAL FORT066 DKA400:[FORT066.KIT]
@SYS$TEST:FORTRAN$IVP
# Backup a directory tree to a save set:
BACKUP [SOURCE...]*.* SAVESET.BCK /LOG
Restore from a save set:
BACKUP SAVESET.BCK [DESTINATION...] /LOG
# Enter networking config:
@SYS$MANAGER:TCPIP$CONFIG
# Set default gateway:
TCPIP
TCPIP>
SET ROUTE /DEFAULT /GATEWAY=192.168.1.1
# Start Networking
@SYS$STARTUP:TCPIP$STARTUP.COM
# Show network interfaces / status:
TCPIP SHOW INTERFACE
# Ping a host:
TCPIP PING hostname
# Show banned IPs
SHOW INTRUSION
# Clear a ban
DELETE INTRUSION NETWORK "192.168.1.50"
DELETE INTRUSION TERMINAL "TWA1:"
System boot:
EDIT SYS$MANAGER:SYSTARTUP_VMS.COM
For user login:
EDIT SYS$MANAGER:SYLOGIN.COM
| Path | Purpose |
|---|---|
| SYS$SYSTEM | System executables (AUTHORIZE, LOGINOUT, etc.) |
| SYS$MANAGER | System management command files (startup, login) |
| SYS$MANAGER:SYSTARTUP_VMS.COM | Runs at system boot — add custom startup commands here |
| SYS$MANAGER:SYLOGIN.COM | Runs at every user login (site-wide) |
| SYS$LOGIN | Points to the current user's login (home) directory |
| SYS$LOGIN:LOGIN.COM | Per-user login command file |
| SYS$SYSDEVICE | The system (boot) disk device |
| SYS$UPDATE | VMSINSTAL and update/patch kit tools |
| SYS$TEST | Installation Verification Procedures (IVPs) for installed products |
| SYS$HELP | Online help library files |
| SYS$STARTUP | Layered product startup command files (e.g. TCPIP$STARTUP.COM) |
| SYSUAF.DAT | The System User Authorization File — user accounts database (in SYS$SYSTEM) |
| RIGHTSLIST.DAT | Rights identifiers database (in SYS$SYSTEM) |
| VMS$COMMON | Common area on a cluster, shared across all nodes |