Um dos desafios para que se inicia no mundo VMS é a organização dos arquivos e diretórios no Sistema Operacional. Ela é hierárquica como qualquer SO seja do Unix ou dos cartões eletrônicos. Há alguns tutoriais na internet. E vamos fazer um resumo, um guia de sobrevivência. Antes de qualquer o usuário deve observar os discos e dispositivos presentes e disponíveis para uso:

$ SHOW DEVICES

Por exemplo1:



Device                  Device           Error    Volume         Free  Trans Mnt
 Name                   Status           Count     Label        Blocks Count Cnt
KANT$DKA0:              Mounted              0  ALPHASYS      14903808   393   1
KANT$DKA400:            Mounted wrtlck       0  2020_0509201         0     1   1

Device                  Device           Error
 Name                   Status           Count
OPA0:                   Online               0
OPA2:                   Online               0
OPA3:                   Online               0
FTA0:                   Offline              0
TTA0:                   Online               0
ASN0:                   Online               0
TNA0:                   Online               0

Device                  Device           Error
 Name                   Status           Count
LRA0:                   Online               0

Device                  Device           Error
 Name                   Status           Count
PKA0:                   Online               0
MPA0:                   Online               0
PKB0:                   Online               0
EWA0:                   Online               1
EWA2:                   Online               0
EWA3:                   Online               0
EWA4:                   Online               0
EWA5:                   Online               0
EWA6:                   Online               0
SMA0:                   Online               0
WSA0:                   Offline              0
PPP0:                   Online               0

A saída serão todos os dispositivos presentes no OpenVMS. Podemos identificar alguns deles:

  DKA0 é o HD SCSI principal: node$DKA0, seu "nome" e seu status montando, número de blocos.
  DKA400 CDROM: idem, montando "writelock".


  OPA0, operators console, o console online.
  EWA0 é a interface de rede.

Então pode-se pedir apenas aqueles dispositivos desejados, para se ter uma tela mais enxuta, — nosso caso os discos disponíveis:

$ SHOW DEVICES DKA

Como no Unix, cada disco tem no topo uma estrutura/diretório raiz. No VMS este diretório mais alto recebe a referência [000000], é o "master directory file' (MDF). A partir da raiz forma-se uma árvore de diretórios, com os arquivos e subdiretórios.


[000000]  raiz/MDF ! ! +--------------------------+---------------------------------+ ! ! ! ! ! ! [d1] [d2] [d3] ! ! ! +-----+--------+ +-----+-----+ +--------+ ! ! ! ! ! ! ! ! ! ! ! ! [d3.d3a] [d3.d3b] [d1.da] [d1.db] [d1.dc] [d2.d2a] [d2.d2b] ! ! ! ! ! +--+-----------+ [d1.db.db1] [d2.d2a.d2a1] ! ! [d2.d2b.d2b1] [d2.d2b.d2b2]

Uma visão singela dos diretórios usando o ótimo VTFM (software de terceiros, não incluido no OpenVMS):

O comando "DIRECTORY" (ou DIR, o OpenVMS permite o uso encurtado de um comando ou qualificador quando não há ambiguação) listará os arquivos:

$ DIR

Directory EISNER$DRA3:[DECUSERVE_USER.MARTINI]

SAIDA.OUT;1         SELECT.C;1          SHA1.C;1            SHA1.EXE;1
SHA1_LE.C;2         SHA1_LE.EXE;1       SHA2.C;2            SHA2.DIR;1
SHA2.EXE;1          SHA2.H;1            SIGNATURE.SIG;1 

Total of 11 files.

Algumas variações importantes do comando DIR: com o qualificador "/FULL", fará uma listagem completa, com especial atenção aos privilégios/proteção de arquivos (tópico essencial no OpenVMS), e a possibilidade de pausar e destacar ("/HIGHLIGHT") a listagem, como por exemplo, quando queremos localizar o arquivo específico UNZIP.EXE:

$ DIR /PAGE=SAVE /HIGH=UNDERLINE /SEARCH=UNZIP.EXE


Directory SYS$SYSROOT:[SYSMGR]

13090521533701_SYSTEM-24E.TCPIP_KANT;1
13090521533701_SYSTEM-24E.TCPIP_KANT_text;1
13090521540473_SYSTEM-24E.TCPIP_KANT;1
13090521540473_SYSTEM-24E.TCPIP_KANT_text;1
13090521565747_SYSTEM-24E.TCPIP_KANT;1
13090521565747_SYSTEM-24E.TCPIP_KANT_text;1                 ACCOUNTNG.DAT;1
ACME$SERVER.LOG;4   ACME$SERVER.LOG;3   ACME$SERVER.LOG;2   ACME$SERVER.LOG;1
CLUE$STARTUP_KANT.LOG;5                 CLUE$STARTUP_KANT.LOG;4
CLUE$STARTUP_KANT.LOG;3                 CLUE$STARTUP_KANT.LOG;2
DECW$MAIL.DAT;1     decw$sm.log;1       dt.DIR;1            LAN$ACP.LOG;4
LAN$ACP.LOG;3       LAN$ACP.LOG;2       LAN$ACP.LOG;1       more.;1
NET$INSTALL_IDENTIFIERS.LOG;1           OPERATOR.LOG;5      OPERATOR.LOG;4
OPERATOR.LOG;3      OPERATOR.LOG;2      OPERATOR.LOG;1      ssh2.DIR;1
SYS$SMHANDLER.LOG;4 SYS$SMHANDLER.LOG;3 SYS$SMHANDLER.LOG;2 SYS$SMHANDLER.LOG;1
SYSTARTUP_VMS.COM;3 TCPIP$CONFIG_CONVERSION.FLG;1
TCPIP$FTP_SERVER.LOG;2                  TCPIP$FTP_SERVER.LOG;1
TCPIP$V51_CONVERSION.FLG;1              UNZIP.EXE;1         VMSIMAGES.DAT;1   

Total of 41 files.
----------------------------------------------------------------------------
RETURN/SPACE=More, PREV/NEXT=Scroll, INS/REM=Pan, SELECT=80/132, CTRL/Z=Quit

No exemplo "1" podemos ver como o OpenVMS concebe o path, a árvore de diretórios:

 EISNER$DRA3:[DECUSERVE_USER.MARTINI]

Isto é: o "node/hostname$o_dispositivo:[dir[b].[/b]subdir]arquivo" — note no nome do arquivo,"OPERATOR.LOG;5" ou "OPERATOR.LOG;1", uma especificidade do SO VMS. Trata-se da geração, por segurança e backup, de versões automáticas para os arquivos no disco, e para qualquer tipo de arquivos incluindo imagens executáveis (.EXE).

 

O comando "PURGE" pode ser usado para limpar os vários arquivos gerados (*.*;1, *.*;2, etc.) — NOTA: As versões geradas e ainda o número de versões a um arquivo podem ser limitadas por comando:
 
"SET FILE arquivo.ext /VERSION_LIMIT=2".

 

Por fim, a navegação nos diretórios. Combinamos SET DEF & SHOW DEF; "SET DEF" para ir ao diretório e "SHOW DEF" nos indica onde estamos, igualmente ao "pwd" Unix (veja aqui para uma tabela de equivalência entre os SOs).


$ SET DEF [SYSMGR]
$ DIR *LOGICALS*

Directory SYS$COMMON:[SYSMGR]

AMDS$LOGICALS.COM;1 DECW$LOGICALS.COM;1 KRB$LOGICALS.COM;1
NET$LOGICALS.TEMPLATE;1                 SYLOGICALS.COM;1
SYLOGICALS.TEMPLATE;1

Total of 6 files.

Por exemplo, queremos ir ao sub-dir (por isso o ".") "SSH2" em nosso diretório local: "SET DEF [.SSH2]"; e então onde estamos:

$ SHOW DEF
DISK_USER:[USERS.MARTINI]
$ SET DEF [.SSH2]
DIR *.PUB
MARTINI.PUB;1 VMS_PUB.PUB;1
Total of 2 files.

Referência:

HP OpenVMS System Manager's Manual, Volume 1: Essentials
OpenVMS Alpha Version 8.2, OpenVMS I64 Version 8.2 — January 2005.
http://h71000.www7.hp.com/doc/82final/aa-pv5mj-tk/00/00/1-con.html

 


 
Revisão v. 1.3
 

  1. Use o comando "HELP SHOW" para obter todas as opções e qualificadores... []