This is a text-only version of the following page on https://raymii.org:
---
Title       : 	Small OpenVMS titbits
Author      : 	Remy van Elst
Date        : 	22-04-2018
URL         : 	https://raymii.org/s/blog/Small_OpenVMS_titbits.html
Format      : 	Markdown/HTML
---



[![openvms][1]][2]

(You can read all my OpenVMS articles by [clicking the picture (above][2])

<p class="ad"> <b>Recently I removed all Google Ads from this site due to their invasive tracking, as well as Google Analytics. Please, if you found this content useful, consider a small donation using any of the options below:</b><br><br> <a href="https://leafnode.nl">I'm developing an open source monitoring app called  Leaf Node Monitoring, for windows, linux & android. Go check it out!</a><br><br> <a href="https://github.com/sponsors/RaymiiOrg/">Consider sponsoring me on Github. It means the world to me if you show your appreciation and you'll help pay the server costs.</a><br><br> <a href="https://www.digitalocean.com/?refcode=7435ae6b8212">You can also sponsor me by getting a Digital Ocean VPS. With this referral link you'll get $100 credit for 60 days. </a><br><br> </p>


Here are some small titbits I found out this week on the DECUServe OpenVMS
system. Not enough to write a blogpost on their own, but collected together.

### .bash_history

To show your shell history from the current session:

    
    
    $ RECALL/ALL
    

Output:

    
    
      1 show proc
      2 proc
      3 htop
      4 top
      5 notes
      6 t
      7 hobbyist
      8 hobbyi
      9 show license
     10 show terminal
     11 set terminal /backspace=delete
     12 show terminal
     13 set terminal /backspace=backspace
     14 show terminal
     15 hello this is a test
    $
    

### Uptime and /etc/redhat_release

To view system uptime and OpenVMS version:

    
    
    $ SHOW SYSTEM /NOPROC
    

Output:

    
    
    OpenVMS V8.4-2L2  on node EISNER    8-APR-2018 14:13:11.07   Uptime  17 03:22:55
    

### w

Show all the logged in users and their process, like the `w` command on linux:

    
    
    $ SHOW USERS /FULL
          OpenVMS User Processes at  8-APR-2018 14:19:05.07
        Total number of users = 6,  number of processes = 6
    
     Username     Process Name      PID     Terminal
     <login>      _VTA4425:       00009B23  VTA4425: (disconnected)
     EXAMPLE         SSHD 0355A PTD  00008EE4  FTA550:  (ssh/$IP:57039)
     GOATLEY      Goat Busters    00009A55  FTA547:
                                        (ssh/$HOSTNAME.com:17251)
     JACKSON      JACKSON         00005314  FTA269:
                                 (ssh/host-$IP.static.as$AS.net:59656)
     MALMBERG     >>>B ewa0:      00009664  FTA543:
                                         (ssh/$IP:59826)
     SCHENKENBERG SCHENKENBERG    00007E83  FTA442:
                                          (ssh/ool-$HOSTNAME:47078)
    

### cd ~

Your home directory on OpenVMS is not known as `~` (as on UNIX) but as
`SYS$LOGIN`. As we learned in an earlier article, OpenVMS uses the `SET/SHOW
DEFAULT` commands to navigate directories. So the equivalent of `cd ~` on linux,
or even shorter, `cd` is `SET DEF SYS$LOGIN`:

    
    
    $ SET DEFAULT SYS$LOGIN
    $ SHOW DEF
      DISK_USER:[DECUSERVE_USER.EXAMPLE]
    
    $ DIR SYS$LOGIN
    
    Directory EISNER$DRA3:[DECUSERVE_USER.EXAMPLE]
    
    $MAIN.TPU$JOURNAL;1 .VIMINFO;1          A.;1                ICREATEDAFOLDERYAY.DIR;1
    LOGIN.COM;2         LOGIN.COM;1         LOGIN_COM.TPU$JOURNAL;1
    MAIL$AC8D2981000500B2.MAI;1             MAIL.MAI;1          NOTES$NOTEBOOK.NOTE;1
    RAYMII.DIR;1        REMY.DAT;3          REMY.DAT;2          REMY.DAT;1
    SSH.DIR;1           SSH2.DIR;1          SSH3.DIR;1          WWW.DIR;1
    Total of 18 files.
    

### cd ..

The equivalent of the `cd ..`, to go up one folder on linux, on OpenVMS is
`[-]`. So if you are in `EISNER$DRA3:[DECUSERVE_USER.EXAMPLE.WWW]` and want to
go up one level to `EISNER$DRA3:[DECUSERVE_USER.EXAMPLE]` then enter:

    
    
     $ SET DEFAULT [-]
    

### %SYSTEM-F-ACCVIO, access violation,

I also hit my first bug. I was writing a note (in `NOTES`, a kind of forum) and
I pasted a link. It crashed with the following error:

    
    
    Fatal DECTPU internal error, please submit an SPR including:
    
         1.  A description of the actions that revealed the bug
         2.  The versions of DECTPU and the operating system you are running
         3.  Machine-readable media containing:
             - The source files of your DECTPU section and command files
             - Copies of the data files used during the session
             - The keystroke journal file if one exists
         4.  Your terminal characteristics, if applicable
         5.  A description of the command used to invoke DECTPU
    
    Shareable base: 7BC54884  Ident: DECTPU V3.2  2017-05-22 22:49
    Updater base:   7C03E034  Ident: DECTPU V3.2  2017-05-22 22:49
    Updater file:   TPU$CCTSHR
    
    %SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=0000000000000024, PC=00000000000B5A14, PS=0000001B
    $
    

So I retyped the note and pasted the error in, maybe someone knows more.

Edit: they know more on the DECUS system. This happens when you CRTL+C out of
the NOTES application.

### MAIL, folders and mail management

See [this article][4] as well.

#### List email

    
    
    MAIL> dir
                                                                                MAIL
          # From                 Date         Subject
    
          1 EISNER::CORNELIUS    29-MAR-2018  Hello again
        2 (Deleted)
          3 EISNER::CORNELIUS    31-MAR-2018  RE: Hello again
          4 EISNER::PARRIS        2-APR-2018  RE: Test message
    
    MAIL>
    

#### List folders

    
    
        MAIL> DIR /FOLDER
        Listing of folders in EISNER$DRA3:[DECUSERVE_USER.EXAMPLE]MAIL.MAI
             Press CTRL/C to cancel listing
        MAIL                                    TEST
    
        MAIL>
    

#### List mail in folder

    
    
    MAIL> dir TEST
                                                                                TEST
          # From                 Date         Subject
    
          1 IN%"example@example.nl"  31-MAR-2018  RE: Tesrt message
    
    MAIL>
    

Regular `DIR` will list the `MAIL` folder.

#### Move message into a folder

To store a message in a folder, use the `FILE` command in the `MAIL` program:

    
    
    MAIL> file test
    Folder TEST does not exist.
    Do you want to create it (Y/N, default is N)? y
    %MAIL-I-NEWFOLDER, folder TEST created
    
    MAIL>
    

As you can see, if the folder does not exist, it will be created.

#### Delete a message

OpenVMS `MAIL` doesn't delete messages immediately but moves them from your
default folder to a folder called `WASTEBASKET`.

On most OpenVMS systems the `WASTEBASKET` is purged when the you use the
command, `EXIT` to exit `MAIL`. If you use the command, `QUIT`, the old, deleted
mail remains in the `WASTEBASKET`. If you're in a hurry to purge the
`WASTEBASKET`, then you can do it manually with the `PURGE` command.

    
    
    MAIL> dir TEST
                                                                                TEST
          # From                 Date         Subject
    
          1 IN%"example@example.nl"  31-MAR-2018  RE: Tesrt message
    
    MAIL> del 1
    
    MAIL> dir WASTEBASKET
                                                                         WASTEBASKET
          # From                 Date         Subject
    
          1 IN%"example@example.nl"  31-MAR-2018  RE: Tesrt message
    
    MAIL> purge
    %MAIL-I-DELMSGS, 1 message deleted
    

#### Mail filesystem folder

By default all mail related files are stored in your home directory. This can
become quite a full listing, you can change it to another folder. In the `MAIL`
program, enter the following command:

    
    
    MAIL> SET MAIL [.MAIL]
    %MAIL-I-CREATED, DISK_USER:[DECUSERVE_USER.EXAMPLE.MAIL] created
    

Now mail related files will be placed in `[.MAIL]` and your home directory will
stay a bit cleaner.

### ls -la (list files, owner and permissions)

With the `DIR` command, two flags can be given, `/PROTECTION` and `/OWNER`, to
get a more comprehensive list including the file owner and permissions:

    
    
     $ DIR /OWNER /PROTECTION
    
    Directory DSA3:[DECUSERVE_USER.EXAMPLE]
    
    $MAIN.TPU$JOURNAL;1
                         [EXAMPLE]                           (RWED,RWED,,)
    .VIMINFO;1           [EXAMPLE]                           (RWED,RWED,,)
    A.;1                 [EXAMPLE]                           (RWED,RWED,,)
    ICREATEDAFOLDERYAY.DIR;1
                         [EXAMPLE]                           (RWE,RWE,,)
    LOGIN.COM;2          [EXAMPLE]                           (RWED,RWED,,)
    LOGIN.COM;1          [EXAMPLE]                           (RWED,RWED,,)
    LOGIN_COM.TPU$JOURNAL;1
                         [EXAMPLE]                           (RWED,RWED,,)
    MAIL.DIR;1           [EXAMPLE]                           (RWE,RWE,,)
    NOTES$NOTEBOOK.NOTE;1
                         [DECUSERVE]                      (RWE,RWE,,)
    RAYMII.DIR;1         [EXAMPLE]                           (RWE,RWE,,)
    REMY.DAT;3           [EXAMPLE]                           (RWED,RWED,,)
    REMY.DAT;2           [EXAMPLE]                           (RWED,RWED,,)
    REMY.DAT;1           [EXAMPLE]                           (RWED,RWED,,)
    SSH.DIR;1            [EXAMPLE]                           (RWE,RWE,,)
    SSH2.DIR;1           [EXAMPLE]                           (RWE,RWE,,)
    SSH3.DIR;1           [EXAMPLE]                           (RWE,RWE,,)
    WWW.DIR;1            [EXAMPLE]                           (RWE,RWE,,RE)
    
    Total of 17 files.
    

The permission column includes in order:

  * SYSTEM (root)
  * OWNER (you)
  * GROUP (groups you are part of)
  * WORLD (everyone)

   [1]: https://raymii.org/s/inc/img/ovmsdec.png
   [2]: https://raymii.org/s/tags/openvms.html
   [3]: https://www.digitalocean.com/?refcode=7435ae6b8212
   [4]: https://raymii.org/s/blog/My_second_OpenVMS_-_MAIL.html

---

License:
All the text on this website is free as in freedom unless stated otherwise. 
This means you can use it in any way you want, you can copy it, change it 
the way you like and republish it, as long as you release the (modified) 
content under the same license to give others the same freedoms you've got 
and place my name and a link to this site with the article as source.

This site uses Google Analytics for statistics and Google Adwords for 
advertisements. You are tracked and Google knows everything about you. 
Use an adblocker like ublock-origin if you don't want it.

All the code on this website is licensed under the GNU GPL v3 license 
unless already licensed under a license which does not allows this form 
of licensing or if another license is stated on that page / in that software:

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

Just to be clear, the information on this website is for meant for educational 
purposes and you use it at your own risk. I do not take responsibility if you 
screw something up. Use common sense, do not 'rm -rf /' as root for example. 
If you have any questions then do not hesitate to contact me.

See https://raymii.org/s/static/About.html for details.