OpenVMS
DCL ディクショナリ


前へ 次へ 目次 索引



CREATE/DIRECTORY

1 つまたは複数の,新しいディレクトリまたはサブディレクトリを作成します。/DIRECTORY 修飾子は省略できません。

第 1 レベル・ディレクトリを作成する場合は,マスタ・ファイル・ディレクトリ (MFD) への書き込み (W) アクセス権が必要です。システム・ボリュームでは,一般に SYSTEM ユーザか, SYSPRV 特権または BYPASS 特権を持つユーザのみが MFD への書込みアクセス権を持っています。

サブディレクトリを作成しようとするディレクトリへの書込み (W) アクセス権が必要です。


形式

CREATE/DIRECTORY ディレクトリ指定[,...]


パラメータ

ディレクトリ指定[,...]

作成する 1 つまたは複数のディレクトリ,あるいはサブディレクトリの名前を指定します。装置名 ( およびコロン [:]) を指定することもできます。省略時の設定は,現在の省略時のディレクトリです。ワイルドカード文字は使用できません。サブディレクトリを作成する場合には,ディレクトリ・レベルの各名前をピリオド (.) で区切ります。

1 つの CREATE/DIRECTORY コマンドで,一連のネスティングしたサブディレクトリを作成できます。たとえば,コマンドの入力時には [a.b] も [a] も存在しない場合でも,[a.b.c] というサブディレクトリを作成することが可能です。各サブディレクトリは,最上位レベルから順に下位レベルへ作成されます。


説明

CREATE/DIRECTORY コマンドは,新規にディレクトリとザブディレクトリを作成します。新しい第 1 レベルのディレクトリを作成するには,特殊な特権が必要です ( 上記の制限を参照 )。一般に各利用者は,そのディレクトリにザブディレクトリを作成するための特権は持っています。ディレクトリ間を移動するには,SET DEFAULTコマンドを使用します。

修飾子

/ALLOCATION=n

指定したディレクトリに割り当てる初期ブロック数を指定します。省略時の設定では,割り当ては 1 ブロックです。

この修飾子は,MAIL.DIR;1 などの大きなディレクトリを作成するのに便利です。後に必要となる,ディレクトリの動的拡張をしなくて済むため性能が向上します。

この修飾子は Files-11 ODS-1,ODS-3,ODS-4 ボリュームには適用されません。

/LOG

/NOLOG (省略時の設定)

CREATE/DIRECTORY コマンドが各ディレクトリを作成したあと,作られた各ディレクトリを表示するか否かを制御します。

/OWNER_UIC=オプション

自分以外のユーザ識別コード (UIC) を指定するには, SYSPRV(システム特権)特権が必要です。

作成されているディレクトリを所有する利用者識別コード (UIC) を指定します。省略時の設定は,作成者の UIC です。UIC の指定位置にキーワード PARENT を指定すると,一段上の親ディレクトリの UIC がコピーされます。特権を持ったユーザがサブディレクトリを作成する場合,省略時の設定では,親ディレクトリ ( トップ・レベルディレクトリの場合は MFD) の所有者がそのディレクトリの所有者となります。ディレクトリの作成時に /OWNER_UIC 修飾子を指定しない場合には,このコマンドは,次に示すように所有者を割り当てます。

UIC は,『OpenVMS ユーザーズ・マニュアル』に説明されている標準的な UIC 形式を使用して指定してください。

/PROTECTION=(所有区分[:アクセス・コード][,...])

ディレクトリに適用される保護を定義します。

省略時の保護は,親ディレクトリ ( 一段上のディレクトリ,またはトップ・レベル・ディレクトリのマスタ・ディレクトリ ) の保護から削除 (D) アクセスを除いたものです。

第 1 レベル・ディレクトリを作成している場合には,その 1 つ上のレベルのディレクトリは,MFD です (MFD の保護は,INITIALIZE コマンドによって設定されます )。

保護コードの指定についての詳細は,『OpenVMS Guide to System Security』を参照してください。

/VERSION_LIMIT=n

ディレクトリに存在できるファイルのバージョン数を指定します。ここで指定した制限を超えると,最小バージョンが自動的に削除されます。/VERSION_LIMIT=0 と指定する場合には,バージョン・リミットは設定されません。指定できるバージョンの最大数は,32,767 です。省略時の設定では,親ディレクトリ (1 つ上のレベルのディレクトリ ) に対して設定されているバージョン数が使用されます。

バージョン・リミットの設定を変更すると,新しいリミットは,設定が変更されたあとで作成されたファイルに対してだけ適用されます。変更する前に作成されたファイルの新しいバージョンに対しては,前のバージョン・リミットが適用されます。

/VOLUME=n

ディレクトリ・ファイルを,マルチボリューム・セットの内の指定された相対ボリューム番号に書き込むことを要求します。/VOLUME 修飾子を省略した場合には,ファイルは,マルチボリューム・セットの中の任意の場所に書き込まれます。

#1

$ CREATE/DIRECTORY/VERSION_LIMIT=2 $DISK1:[ACCOUNTS.MEMOS]

この CREATE/DIRECTORY コマンドは,MEMOS というサブディレクトリを $DISK1 という装置上の ACCOUNTS ディレクトリに作成します。このディレクトリには,2 つを越えるバージョンのファイルは保持できません。

#2

$CREATE/DIRECTORY/PROTECTION=(SYSTEM:RWED,OWNER:RWED,GROUP,WORLD) -
_$[KONSTANZ.SUB.HLP]
 

この CREATE/DIRECTORY コマンドは,VAX 上で [KONSTANZ.SUB.HLP] という名前のサブディレクトリを作成します。このディレクトリの保護は,システムと所有者には,読み込み (R),書き込み (W),実行 (E),削除 (D) を許しますが,グループおよびびワールドには,すべてのアクセスを禁じています。

#3

$ CREATE/DIRECTORY DISK2:[GOLDSTEIN]

この CREATE/DIRECTORY コマンドは,[GOLDSTEIN] というディレクトリを DISK2 という装置上に作成します。第 1 レベル・ディレクトリを作成するためには,特別の特権が必要です。

#4

$ CREATE/DIRECTORY [HOFFMAN.SUB]
$ SET DEFAULT [HOFFMAN.SUB]

この CREATE/DIRECTORY コマンドは,[HOFFMAN.SUB] という名前のサブディレクトリを作成します。このディレクトリ・ファイルは, [HOFFMAN] という名前のディレクトリに登録されます。 SET DEFAULT [HOFFMAN.SUB] コマンドは,現在の省略時のディレクトリをこのサブディレクトリに変更します。したがって,このあと作成されるファイルはすべて,[HOFFMAN.SUB] に登録されます。

#5

$ CREATE/DIRECTORY [BOAEN.SUB1.SUB2.SUB3]

この例では,トップ・レベル・ディレクトリ[BOAEN]と, 3 つのサブディレクトリ ([BOAEN.SUB1],[BOAEN.SUB1.SUB2] と [BOAEN.SUB1.SUB2.SUB3]) を作成しています。


CREATE/FDL

FDL ファイルの指定を使用して新しい空のデータ・ファイルを作成するために, Create/FDL ユーティリティ (CREATE/FDL) を起動します。 /FDL 修飾子は省略できません。

Create/FDL ユーティリティについての詳細は,『OpenVMS Record Management Utilities Reference Manual』あるいはオンライン・ヘルプを参照してください。


形式

CREATE/FDL =FDLファイル指定 [ファイル指定]


CREATE/NAME_TABLE

新しい論理名テーブルを作成します。/NAME_TABLE 修飾子は省略できません。

形式

CREATE/NAME_TABLE テーブル名


パラメータ

テーブル名

作成する論理名テーブルの名前を指定します。テーブル名は 1 文字から 31 文字までの長さで,使用できる文字は,英数字,ドル記号 ($),およびアンダースコア (_) です。入力されたテーブル名は,プロセス・ディレクトリ論理名テーブル (LNM$PROCESS_DIRECTORY),またはシステム・ディレクトリ論理名テーブル (LNM$SYSTEM_DIRECTORY) のいずれかに,論理名として登録されます。

説明

CREATE/NAME_TABLE コマンドは新しい論理名テーブルを作成します。そのテーブルがプロセス固有のものであれば,テーブル名は LNM$PROCESS_DIRECTORY ディレクトリ・テーブルに格納されます。共有可能なのもである場合には, LNM$SYSTEM_DIRECTORY ディレクトリ・テーブルに格納されます。

すべての新テーブルは親テーブルを持ち,親テーブルによって新テーブルがプロセス固有のものか共有可能なものかが決まります。プロセス固有のテーブルを作成するには,/PARENT_TABLE 修飾子を使用してプロセス固有テーブル ( プロセス・ディレクトリ・テーブル ) の名前を指定します。共有可能なテーブルを作成するには,親テーブルを共有可能テーブルとして指定します。

親テーブルを明示的に指定しない場合には,CREATE/NAME_TABLE コマンドは,親テーブルが LNM$PROCESS_DIRECTORY であるプロセス固有テーブルを作成します。つまり,テーブル名はプロセス・ディレクトリに入れられます。

すべてのテーブルにはサイズ・クォータがあります。このクォータは,テーブルの潜在的な成長を押さえるか,またはテーブルのサイズが仮想的には無制限であることを示すことがあります。/QUOTA 修飾子についての記述で,クォータの指定方法が説明されています。

作成するテーブルのアクセス・モードの指定には,/USER_MODE, /SUPERVISOR_MODE,または /EXECUTIVE_MODE 修飾子を使用します。これらの修飾子を 1 つ以上指定した場合には,最後に指定した修飾子だけが有効です。アクセス・モードを指定しない場合には,スーパバイザ・モードのテーブルが作成されます。

論理名テーブルの削除には,DEASSIGN コマンドを使用します。この時,削除するテーブルの名前を指定し,/TABLE 修飾子にテーブルの名前が入れられたディレクトリ・テーブルを指定します。

論理名テーブルについての詳細は,『OpenVMS システム管理者マニュアル』を参照してください。


修飾子

/ATTRIBUTES[=(キーワード[,...])]

論理名テーブルの属性を指定します。キーワードを 1 つだけ指定する場合には,括弧を省略できます。/ATTRIBUTES 修飾子を指定しない場合には,属性は設定されません。

属性に対しては,次のキーワードを指定できます。

CONFINE テーブルが,SPAWN コマンドによって生成されたサブプロセスにコピーされないことを指定します。このキーワードは,プロセスに固有な論理名テーブルを作成している場合にだけ使用できます。CONFINE 属性を持つテーブルが作成されると,そのテーブルに登録される名前はすべて, CONFINE 属性をもちます。
NO_ALIAS より特権の低いアクセス・モードでは,現在のディレクトリに同じ名前(論理名または論理名テーブルの名前)を登録できないことを指定します。 NO_ALIAS を指定しない場合には,そのテーブルには,より特権の低いアクセス・モードをもつ同じ名前を,「別名」としてつけることができます。NO_ALIAS 属性を持つテーブルの作成時に,同じモード,またはより特権の低いモードで,同じ名前がその論理名ディレクトリ・テーブルにすでに存在する場合には,この名前は削除されます。
SUPERSEDE 既存のテーブルと同じ名前,同じアクセス・モード,および同じディレクトリ・テーブルの新しいテーブルを指定する場合には,既存のテーブルを削除し,新しいテーブルを作成することを指定します。同じ名前のテーブルがすでに存在するかどうかとは無関係に,新しいテーブルは必ず作成されます(SUPERSEDE属性を指定しない場合には,既存のテーブルが存在すれば,新しいテーブルは作成されません)。

/LOG 修飾子を指定した場合や,/LOG 修飾子に対する省略時の設定を使用した場合には,結果を示すメッセージが表示されます。

/EXECUTIVE_MODE

SYSNAM(システム理論名)特権が必要です。

エグゼクティブ・モードの論理名テーブルを作成します。エグゼクティブ・モードの論理名テーブル作成時に SYSNAM 特権を持たない場合には,スーパバイザ・モードの論理名テーブルが作成されます。

/LOG (省略時の設定)

/NOLOG

SUPERSEDE 属性が指定されている場合や,同じテーブルがすでに存在していても SUPERSEDE 属性が指定されていない場合に,コマンドの結果を示す情報メッセージを表示するか否かを制御します。省略時の設定は /LOG で,つまり情報メッセージが表示されます。

/PARENT_TABLE=テーブル

親テーブルに対する作成 (C) アクセス権とシステム・ディレクトリへの書き込み (W) アクセス権か,または SYSPRV 特権が必要です。

親テーブルの名前を指定します。親テーブルは,作成するテーブルが固有のものなのか共有可能なものなのかを決定します。親テーブルを指定しない場合には,省略時のテーブルとして LNM$PROCESS_DIRECTORY が使用されます。共用可能テーブルの親テーブルは,LNM$SYSTEM_DIRECTORY です。親テーブルは,作成するテーブルと同じかそれよりも高いアクセス・モードでなければなりません。

/PROTECTION=(所有区分[:アクセス・コード][,...])

共有可能テーブルに適用される保護を定義します。

保護コードの指定についての詳細は,『OpenVMS Guide to System Security』を参照してください。

/PROTECTION 修飾子は,共有可能論理名テーブルに対してだけ適用されます。プロセス固有の論理名テーブルには,適用されません。

/QUOTA=バイト数

論理名テーブルの上限サイズをバイト数で指定します。新しいテーブルに登録される各論理名のサイズは,この上限値から計算されます。新しいテーブルのクォータは,親テーブルのクオータ・ホルダから静的に減算されます。親テーブルのクォータ・ホルダは,テーブル階層を上向きにたどった際に出会う最初の論理名テーブルであり,クォータの明示値とクォータ・ホルダを持っています。 /QUOTA 修飾子を指定しない場合や,/QUOTA=0 を指定する場合には,親テーブルのクォータ・ホルダが作成するテーブルのクォータ・ホルダとなり,新しいテーブルに論理名が登録される度に,動的に領域が減らされます。論理名からは空白文字が取り除かれます。/QUOTA 修飾子を指定しない場合や, /QUOTA=0 を指定する場合には,テーブルは無制限のクォータを持ちます。

/SUPERVISOR_MODE (省略時の設定)

スーパバイザ・モードの論理名テーブルを作成します。モードを指定しない場合には,スーパバイザ・モードの論理名テーブルが作成されます。

/USER_MODE

ユーザ・モードの論理名テーブルを作成します。モードを指定しない場合には,スーパバイザ・モードの論理名テーブルが作成されます。

注意

コマンド・プロシージャを起動し終了すると,ユーザ・モード論理名は自動的に削除されます。


#1

$ CREATE/NAME_TABLE TEST_TAB
$ SHOW LOGICAL TEST_TAB
%SHOW-S-NOTRAN, no translation for logical name TEST_TAB
$ SHOW LOGICAL/TABLE=LNM$PROCESS_DIRECTORY TEST_TAB

この CREATE/NAME_TABLE コマンドは,TEST_TAB という新しいテーブルを作成します。何も指定されていないので,テーブル名は省略時の設定によって,プロセス・ディレクトリに登録されます。最初の SHOW LOGICAL コマンドは省略時の設定によって,プロセス・ディレクトリ・テーブルを検索しないため,TEST_TAB という名前を見つけることができません。したがって,プロセス・ディレクトリを検索するために /TABLE 修飾子を使用します。

#2

$ CREATE/NAME_TABLE/ATTRIBUTES=CONFINE EXTRA
$ DEFINE/TABLE=EXTRA MYDISK DISK4:
$ DEFINE/TABLE=LNM$PROCESS_DIRECTORY LNM$FILE_DEV -
_$ EXTRA, LNM$PROCESS, LNM$JOB, LNM$GROUP, LNM$SYSTEM
$ TYPE MYDISK:[COHEN]EXAMPLE1.LIS

この例は,EXTRA という新しい論理名テーブルを CONFINE 属性で作成しています。EXTRA テーブルとその中の論理名は,サブプロセスに引き継がれません。

次に,論理名 MYDISK がテーブル EXTRA に登録されています。MYDISK をファイル指定に使用するには,テーブル EXTRA が RMS によるファイル解析時に検索されなければなりません。このため,EXTRA を等価名の 1 つとして持つプロセス固有の論理名 LNM$FILE_DEV を定義しています ( システムは,装置とファイル指定の論理名展開に LNM$FILE_DEV を検索すべきテーブルへのポインタとして使用し,プロセス固有の LNM$FILE_DEV が定義されていれば,システムのそれに優先して使用します )。 LNM$FILE_DEV の定義後は,EXTRA, プロセス・テーブル, ジョブ・テーブル, グループ・テーブル, システム・テーブルの順に検索され,MYDISK を DISK4 に展開される等価名としてファイル指定に使用できます。


前へ 次へ 目次 索引