Как составить список каталогов на томе OpenVMS

Я искал в Google, а также в Руководстве системного администратора OpenVMS и Руководстве пользователя, и до сих пор не могу найти ничего относительно списка каталогов, присутствующих на томе OpenVMS. Я не понимаю, как это могло восприниматься как должное в документах, поскольку все остальное очень специфично, поэтому либо я не вижу этого, либо это невозможно сделать. Если это невозможно сделать, то я упускаю какой-то невероятно большой кусок картины в отношении использования VMS. Любые предложения приветствуются.

ТИА, grobe0ba


person grobe0ba    schedule 07.04.2014    source источник


Ответы (3)


Я предполагаю, что под «перечислением» вы имеете в виду команду, такую ​​​​как Dir... Чтобы увидеть все каталоги на томе, я бы сделал что-то вроде:

$ dir VolumeID:[000000...]*.dir

Конечно, вам нужны достаточные привилегии, чтобы иметь возможность видеть все каталоги на томе.

person ChrisB    schedule 07.04.2014

Для быстрого обзора всех каталогов вы также можете проверить параметр /TOTAL для «каталога».

$ УЖАС/ВСЕГО [*...]

Добавьте /SIZE для эффекта (и замедления)

Вы, конечно, можете опубликовать процесс на свое усмотрение...

$ pipe dir /total data:[*...] | perl -ne "print if /^Dir/"
Directory DATA:[CDC]
Directory DATA:[CDC.ALPHA]
Directory DATA:[CDC.ALPHA.V8_3]
$ pipe dir /total data:[*...] | searc sys$pipe "ory "
Directory DATA:[CDC]
Directory DATA:[CDC.ALPHA]
Directory DATA:[CDC.ALPHA.V8_3]
$ pipe dir /total data:[*...] | perl -ne "chomp; $x=$1 if /^Di.* (\S+)/; printf qq(%-60s%-19s\n),$x,$_ if /Tot/"
    DATA:[CDC]                                                  Total of 7 files.
    DATA:[CDC.ALPHA]                                            Total of 1 file.
    DATA:[CDC.ALPHA.V8_3]                                       Total of 11 files.

Наконец, если вы серьезно относитесь к игре с файлами и каталогами на OpenVMS, обязательно погуглите DFU OPENVMS... скачайте и наслаждайтесь.

person Hein    schedule 07.04.2014

К сожалению, у меня нет репутации, необходимой для комментирования, поэтому я должен переформулировать ответ.

@ChrisB

Этот ответ, пока проголосовали, вообще говоря, неверен. Каталоги всегда представляют собой файлы, оканчивающиеся на .DIR и имеющие версию 1. Переименование каталога в *.DIR;x с x>1 приведет к тому, что каталог не будет проходить. Однако файл DIR сохраняет свои характеристики каталога, и переименование его обратно в ;1 вернет его нормальное поведение.

Так что можно добавить ;1 к команде DIR

$ dir volumeid:[000000...]*.dir;1

Но опять же, это неверно, потому что любой может создавать файлы *.DIR, которые не являются каталогами (например, EDIT TEST.DIR), и для этого есть приложения.

@Хейн

Таким образом, второй ответ от Хайна, который на данный момент имеет 0 голосов, является правильным. Тот, который выполняет именно запрошенную операцию без стороннего инструмента:

$ PIPE DIR /TOTAL volume:[*...] | SEARCH SYS$PIPE "ory "

Эта команда покажет только действительные каталоги

person Gaston    schedule 02.08.2014