論理名とは

ファイル指定で,各要素の一部または全部を 論理名 と呼ぶ別の名前で置き換えることができます。論理名とは,ファイル指定,装置指定,ディレクトリ指定等にあたえた " 別名 " です。

論理名を使うと入力するコマンド列を短くできたり,覚えやすい名前を付けることができます。

論理名を定義する -- DEFINE

論理名を定義するには次のようにします。(どちらを使用してもかまいません。)


    $ DEFINE [/修飾子] 論理名 等価名[,...]    
                        (1)    (2)
 
    $ ASSIGN [/修飾子] 等価名[,...]  論理名 

  1. 論理名

    1 〜 255 文字までの英数字,ドル記号 ($),アンダーライン (_) を使用して,わかりやすい名称を付けます。

  2. 等価名

    論理名で置き換える装置名,ディレクトリ名,ファイル名を指定します。

論理名定義の例




デバイス名 DKA0 のディレクトリ名 [YAMADA.REPORT.KOJIN] に論理名 MINE を割り当てます。


    $ DEFINE MINE DKA0:[YAMADA.REPORT.KOJIN]    

この後,次のようにファイル指定ができます。


    $ DIRECTORY MINE:    

以下のように表示されます。


    Directory DKA0:[YAMADA.REPORT.KOJIN]    
 
    KEIHI.TXT;1  TRIP.TXT;1 
 
    Total of 2 files. 

一般に論理名はログアウトすると自動的に削除(DEASSIGN)されてしまいます。したがって,再びログインしたあと,同じ論理名を使用する場合は,その都度,新しく割り当てる必要があります。そこで,ログイン時に自動的に環境設定を行うログイン・コマンド・プロシージャというファイルを作り,ログインの都度,新しく論理名を割り当てる煩雑さを避けることができます。( コマンド・プロシージャを使用する をご覧ください。)

論理名を参照する -- SHOW LOGICAL

使用している論理名に割り当てられている等価名を参照するには,次のようにします。


    $ SHOW LOGICAL [/修飾子] [論理名]    

論理名を省略すると,定義してある論理名がすべて表示されます。

論理名を削除する -- DEASSIGN

論理名を削除するには,次のようにします。


    $ DEASSIGN  論理名    

論理名の属性と種類

論理名には様々な属性や,階層構造があります。一般のユーザが定義できる論理名は,自分以外のユーザに影響を与えない範囲に限定されています。以下にそれらを簡単に説明します。

◆属性

論理名には CONCEALED と TERMINAL という 2 つの属性があり,論理名を等価名に翻訳する時の動作を設定できます。

◆論理名の有効範囲

論理名は,そのプロセスの中でのみ有効なものや,システム全体にわたり有効なものなどがあり,それらは論理名テーブルにより管理されます。プロセス,ジョブ,グループ,システム,クラスタの 5 種類があります。

◆論理名の検索順序

論理名を等価名に変換する際に,論理名を検索する検索順序は通常,プロセス,ジョブ,グループ,システム,クラスタの順です。

◆アクセス・モード

論理名が一般のアプリケーションのために設定されたのか,特権を持った特別なアプリケーションのために設定されたのかを示します。ユーザ,スーパーバイザ,エグゼクティブ,カーネルの 4 種類があります。

知っておくと便利な論理名

日本語 OpenVMS では,さまざまな論理名が自動的に定義されています。いくつかの論理名はユーザが日本語 OpenVMS を使う上でたいへん役に立ちます。それらの論理名の主なもを以下に示します。

SYS$LOGIN

ユーザのログイン・ディレクトリを示す論理名。

SYS$INPUT

ユーザの入力デバイスを示す論理名。

通常はユーザの使用しているターミナルのキーボードを示します。コマンド・プロシージャ実行中は,そのコマンド・プロシージャ自身を示します。

(C 言語の stdin に相当します。)

SYS$OUTPUT

ユーザの出力デバイスを示す論理名。

通常はユーザの使用しているターミナルのディスプレイを示します。

(C 言語の stdout に相当します。)

SYS$ERROR

ユーザのエラーメッセージ出力デバイスを示す論理名。

通常は SYS$OUTPUT と同じデバイスを示します。

(C 言語の stderr に相当します。)

SYS$SCRATCH

一時的に使用するファイルを置くディレクトリを示す論理名。

エディタや SORT ユーティリティなどが作業中のファイルを一時的に保管するために使います。

SYS$DISK

デフォルト・ディレクトリのあるディスクを示す論理名。

DCL の SET DEFAULT コマンドで変更されます。

SYS$SYSDEVICE

システム・ディスクを示す論理名。

注意

上記の論理名はすべて SYS$ で始まっています。これは,これらの論理名が日本語 OpenVMS によって定義された論理名であることを示しています。ユーザは特別な理由がない限り,SYS$ で始まる論理名を削除したり変更することは禁止されています。



論理名とシンボルの違い

論理名もシンボルも,コマンドやファイルの別名を定義できるという意味では似ていますが,用途は大きく異なります。

★論理名★

デバイス,ディレクトリ,ファイル,キューなどを指定できます。 DCL コマンドのパラメータとして使用します。

論理名は,日本語 OpenVMS システム上のほぼあらゆるアプリケーションから参照することができます。

★シンボル★

コマンドまたは,コマンド文字列の一部を指定できます。コマンド文字列の代わりに使用します。

たとえば,次の例では,論理名 MYTOOL を使用して,MYSORT というシンボルに自作のユーティリティを定義しています。


  $ DEFINE MYTOOL DISK$USER:[YAMADA.TOOL]  

  $ MYSORT == "$ MYTOOL:MYSORT.EXE"