UNIX (bash) | VMS (DCL) | remarks |
---|---|---|
man cp whatis cp apropos cp cp –help |
HELP COPY | tell me how to copy |
Cntrl-C | Cntrl-Y | stop current program |
exit or Cntrl-D | LOGOUT or LO | terminate interactive shell |
df -k | SHOW DEVICE D or SH DEV D | show drives/partitions |
ps aux | SHOW SYSTEM or SH SYS | show processes |
ps aux|grep abc | PIPE SHOW SYSTEM | cont… SEARCH SYS$INPUT ABC |
show process abc |
kill -15 12345 kill -9 12345 |
STOP PROC /ID=12345 | stop process no. 12345 -15 is better, -9 should only be used if the process doesn’t react on -15 |
UNIX (bash) | VMS (DCL) | remarks |
---|---|---|
ls -la/abc/xyz/ | DIR [ABC.XYZ] | list directory /abc/xyz/ |
cd /abc | SET DEFAULT [ABC] or SET DEF [ABC] |
change to directory /abc |
cd /abc | SET DEF DKA200:[ABC] | VMS: change to directory abc on disk DKA200: |
cd abc/xyz | SET DEF [.ABC.XYZ] | change to directory below current directory |
cd / | SET DEF [000000] | change to root directory |
cd .. | SET DEF [-] | change to directory above current directory |
cd | SET DEF SYS$LOGIN: | change to home directory |
pwd | SHOW DEFAULT or SH DEF | show current directory |
mkdir /abc/xyz | CREATE /DIR [ABC.XYZ] | create directory /abc/xyz |
rmdir /abc/xyz | DELETE [ABC]XYZ.DIR; | delete directory /abc/xyz |
UNIX (bash) | VMS (DCL) | remarks |
---|---|---|
cat abc.txt | TYPE ABC.TXT | list file contents |
more abc.txt | TYPE/PAGE ABC.TXT | list file contents page by page |
rm abc.txt | DELETE ABC.TXT; DELETE ABC.TXT;5 PURGE ABC.TXT PURGE /KEEP=3 ABC.TXT |
delete highest version delete version no. 5 delete any but higest version keep 3 highest versions UNIX: delete file (there are no versions) |
cp abc.txt /xyz/ | COPY ABC.TXT DKA200:[XYZ] | copy file abc.txt into directory /xyz/ |
mv abc.txt xyz.txt | RENAME ABC.TXT XYZ.TXT | rename a file |
ls -la abc.* | DIR ABC.* | list all files matching abc.* |
find . -name *.txt | DIR [*…]*.TXT | list all files matching *.txt in any subdirectory |
find / -name *.txt | DIR DKA200:[000000…]*.TXT | list all files matching *.txt in any directory |
grep text abc.txt | SEARCH ABC.TXT « text » | search file for lowercase text |
grep -i text abc.txt | SEARCH ABC.TXT TEXT | search again, but ignore case of text |
diff abc.txt xyz.txt | DIFF ABC.TXT XYZ.TXT DIFF ABC.TXT ;-1 |
compare 2 files compare current and previous version |
UNIX (bash) | VMS (DCL) | remarks |
---|---|---|
. abc.bash | @ABC.COM | run script file in current context |
abc.bash | SPAWN ABC.COM | run script file in a subshell |
bash -x abc.bash | SET VERIFY @ABC.COM SET NOVER |
switch on trace then run script then switch off trace |
abc | RUN ABC.EXE | UNIX: run program abc. Search for it in environment vaiable $PATH VMS: run program abc found in current directory |
/xyz/abc | RUN $DKA200:[XYZ]ABC.EXE | run program abc in directoy /xyz |
/xyz/abc arg1 arg2 | ABC== »$DKA200:[XYZ]ABC.EXE » ABC arg1 « arg2 » |
run same program with 2 arguments. VMS: first define symbol (dont forget $), then run program with uppercase arg1 and lowercase arg2 |
ls -la >xyz.txt | DIR /OUTPUT=XYZ.TXT | redirect output of shell command into a file |
abc >xyz.txt | DEFINE/USER cont… SYS$OUTPUT XYZ.TXT RUN ABC.EXE |
redirect output of program into a file VMS: redirect output for one command only, then run program |
abc |grep -i xyz | PIPE RUN ABC.EXE | cont… SEARCH SYS$INPUT XYZ |
search output of program for xyz ignoring the case VMS 7.x: PIPE allows UNIX style pipes |
UNIX (bash) | VMS (DCL) | remarks |
---|---|---|
alias abc | SHOW SYMBOL ABC | show alias or symbol abc |
alias |grep a | SHOW SYMBOL *A* | show aliases or symbols containing an a |
alias rm=’rm -i’ | DEL==« DELETE /CONFIRM » | define an alias or symbol |
alias rm=’rm -i’ | DEL*E==« DELETE /CONFIRM » | same. VMS: Entering DEL or DELE calls the symbol. Entering DELET or DELETE calls the normal VMS DELETE command |
export home=’/abc/’ | DEFINE HOME DKA200:[ABC] | define an environment variable or logical name |
echo $home | SHOW LOG home | show environment variable or logical name |
ls -la $home | DIR HOME: | use environment variable or logical name |
.
OpenVMS Commands with unix equivalents OpenVMS unix Explanation/examples ========================================================================= APPEND cat Concatenates files. If contencs of file1 need to be placed at the end of file2 issue the following unix command.cat file1 >> file2 ASSIGN or DEFINE = (Bourne & Korn)set (C shell) in Bourne or Korn shell DIR = lsin C shell set DIR ls ATTACH fg BACKUP tar or pax back up files into a tar file. /INIT tar -c or pax Restore files. /LIST tar -t List contents. /LOG tar -v Report progress. /NOREWIND tar -r Write at end of existing backup (tar) files. /RECORD tar -m Update file^Òs modification date upon restore. COPY cp Copy a file COPY ftp Copy to/from a nontrusted remote host. COPY rcp Copy to/from a remote host. COPY /CONFIRM cp -i Confirm before copying. CREATE touch Create or update a file. /DIRECTORY mkdir Create a subdirectory. CREATE filename cat << filename Create a file from the keyboard. CREATE filename cat DEBUG dbx Debug a program. DELETE rm Delete a file. DELETE rmdir Delete an empty subdirectory. /CONFIRM rm -i Confirm deletion. /ENTRY lprm Remove queued line printer job. /QUEUE lprm -P Remove all jobs from the queue. /LOG rm -e Delete files and list them as they are deleted. /SYMBOL unset Get rid of an environment variable. DIFFERENCES diff Display all differences in files or directories. /MAXIMUM_DIFF= 1 cmp Display first difference in two files (typically used with binary files). /NUMBER NL: cat -n Display a file with line numbers. /SLP diff - e Generate editing changes for the ed editor. DIRECTORY ls List files. DIRECTORY [...] ls -R Do a recursive directory/list of files. DIRECTORY [...] find Find a file DIRECTORY *.DIR ls -d List directory name(s) only ls -Rd /BY_OWNER ls -l dir | grep owner List only those files owned by a specifed user. /COLUMN ls -1 List one file per line. /DATE ls -c List by creation/last modification. /FULL ls -l Long listing. /FULL /TOTAL du Summarize disk usage. /MODIFIED /SINCE [...] find -mtime +n Modified more than n days ago. /MODIFIED /BEFORE [...] find -mtime +n Modified more than n days ago. /OWNER ls -g Include group (used with |). /SIZE ls -s Include size. DISMOUNT /UNLOAD mt rewofmt offline Rewind and unload the tape. DUMP od Dump a file in various formats. /HEXADECIMAL od -h Hexadecimal dump. /OCTAL od -o Octal dump. EDIT /EDT,EDIT /EVE, EVE vi Screen editor session. EDIT /RECOVER vi -r Recover a screen editing session. EXCHANGE dd Back up, restore, and convert nonstandard files. EXIT exit Terminate a script. HELP man Display online reference pages. HELP HINTS man -k topic Display a list of commands that correspond to the specified topic. INQUIRE /NOPUNCTUATION read choice? Prompt for a responce and put the response into an environment variable. INITIALIZE device: fddisk -fmt device Format a diskette. LIBRARY ar Library maintainer. /CREATE ar -cr Create library. /EXTRACT ar -x Extract modules. /INSERT ar -q Insert modules. /LIST ar -t List modules. /REPLACE ar -r Replace modules. LINK ld Link compiled source code into an executable image. login procedure LOGIN /CLI .login.cshrc.profile.kshrc Set of commands automatically executed at login time. On OpenVMS, LOGIN/CLI specifies an alternate command language interpreter. LOGOUT logout C shellexit Bourne & Korn shell Terminate a terminal session. MAIL mail Invoke the mail utility. MERGE sort -m Merge sorted files. MOUNT mount Mount a tape. ON COUNTROL_C THEN trap 2 Enable handler for Stop signal. ON CONTROL_Y onintr On interrupt. PHONE talk tty name Communicate interactively with another user. PRINT lpr Print a file on the default line printer. /COPIES=N lpr -#n Print n copies. /DELETE lpr -r Remove file after printing PRINT commands cont. /FORM lpr -ln Make page n lines (default = 66) /FORM lpr -n Print n column output. /FORM lpr -wn Set line width to n /HEADER pr -h string | lpr Print a header on each page. /NAME=jobname lpr -Jjobname Include job name on the first page of the job. /NOFLAG lpr -h Print with no header page. /NOTIFY lpr -m Send mail upon completion. /PAGES=(n,^Ô^Ô) lpr +n Begin printing on page n. /QUEUE lpr -Pqueue Print a file on the specified queue. READ read Read input (korn shell) RECALL /ALL history Recall command lines REPLY /USER write Send a brief message to a logged-in user RENAME mv move/rename a file(s) /CONFIRM mv -i confirm the move/rename of a file(s) SEARCH grep Search files for strings. /MATCH=NOR grep -v List only lines that do not match /NOEXACT grep -i Ignore case distinctions. /NUMBERS grep -n Precede each match with line number. /STATISTICS grep -c List only a file name that contains match /WINDOW = 0 grep -l Return only file name(s) that contains match file pat^Òrn /WINDOW=5 more -5 +/pat^Òrn file Display search line plus two lines before and after. (Terminate with q). file pat^Òrn /WIND=(5,0) cat file | more -5+pat^Òrn Display search line plus next five lines. SET DEFAULT cd Change directory. SET FILE/OWNER chgrp Change group ownership of a file. SET HOST rlogin Network login to trusted host. SET HOST /DTE tip Dial remote host. SET HOST 0 /LOG script Record a transcript of a terminal session. SET PASSWORD passwd Change you local password. SET PROCESS /PRIORITY nice or renice Change the priority of a process. SET PROTECTION chmod Change file protection. /DEFAULT umask Change default protection for files not yet created. SET TERMINAL tset or stty Set terminal characteristics. SET VERIFY ksh -x orcsh -x Verify command or script execution. Echo after variable substitution. SHOW DEFAULT pwd Display current directory. SHOW DEVICE /FULL df filesystem Display information on a file system SHOW LOGICAL printenv Display environment characteristics. SHOW PROCESS /ALL ps -l Dislay all processes on system. SHOW /QUEUE lpq Display default print queue status. SHOW STATUS time Display resources used by a process. SHOw TIME date Display date and time SHOW USERS who Display the list of current system users. SORT sort Sort and merge. /KEY sort +fskip.cskip /-fskip.cskip Starting/ending porint of sort key. /OUTPUT sort -o file Direct output to file. SPAWN /NOWAIT bg Move a process to the background. STOP /ID kill -9 Remove a process. SUBMIT at Start a process at a latter time. TYPE cat Display a file /PAGE more Display a file, pausing after each page. /PAGE NL: clear Clear the terminal screen. WRITE /bin/echovar > file Create a file and write a string or the contents of a variable to it. WRITE /bin/echovar >> file Append a string or the contents of a variable to an existing file. WRITE SYS$OUTPUT echo (c Shell)print (Korn) Write to standard output. OpenVMS Mathematical Operators Function Equivalents ==================================================== OpenVMS unix Explanation .EQ., .EQS. == Equal to .NE., .NES. ! Not equal to .AND. && Boolean and .OR. || Boolean or .GT., .GTS. > Greater than .GE., .GES. >= Greater than or equal to .LT., .LTS. < Less than .LE., .LES. <= Less than or euqal to + + add - - Subtract * * Multiply / / Divide var + 1 var++ Increment by 1 var - 1 var-- Decrement by 1 % Modulo >> Right bit shift << Left bit shift .NOT. ~ 1^Òs complement .NOT. ! Logical negation .OR. | Inclusive OR ^ Exclusive OR .AND. & And OpenVMS Lexical Function and unix Equivalents ============================================= OpenVMS unix Explanation F$ENVIRONMENT("INTERACTIVE") tty -s Determine if you are an interactive user. F$EXTRACT(start, length, string) cut -c Locate fields in a test string and write them out. F$ELEMENT(element#, delimiter, string) cut -f -d awk Locate delimited fields in a test string. F$ENVIRONMENT("PROCEDURE") $0 (Korn)$arg [0] (C) Get name of currently executing script. F$TRANSLATE("SYS$SYSDEVICE") sizer -r Get name of the device from which the operating system bootstrapped. F$GETDVI("TT:", "DEVNAM") tty -s Determine the name of the terminal you are using. F$GETSYI("HW_NAME") sizer -c Get model name of the CPU F$GETSYI("HW_MODEL")F$GETSYI("CPU") sizer -wt Return workstation device type F$GETSYI("VERSION") sizer -bstrings /vmunix | grep ^Ñ(Rev^Òuname -a Determine booted kernel^Òs file name and system version. F$GETSYI("PHYSICALPAGES") uerf -r 300 -R | grep physical (+2)wc -c/dev/mem Get the physical memory on a system. F$GETSYI("BOOTTIME") who -b Get system boot time. see: http://h71000.www7.hp.com/doc/83final/9996/9996pro_102.html unix Branching statements DCL command procedures rely on the statements if, gosub, call, and goto for program branching. The shells under unix offer several branching statements. Shell Branching Statements Offered ==================================== csh if, goto, while, foreach, switch, shift ksh do, case, elif, for, function, if, select, time, until, while sh if, for, while, until, case Debugging Shell Scripts Debugging of shell scripts is done by invoking ksh or sh scripts with the -x and -v flags. Debuging of C shell scripts by invoking them with the -v, -V, -x or -X flags. The result is like using the OpenVMS command set verify.