DCL コマンドを使用する

日本語 OpenVMS 上での作業は, DCL (Digital Command Language) コマンドと呼ばれるコマンドを利用して会話形式で行います。DCL コマンドはプロンプト (通常は,ドル記号 "$" ) が表示されているときに入力できます。

DCL コマンドの形式

DCL コマンドの形式は次のようになっています。


    $ コマンド名 [/修飾子] [パラメータ...] [/修飾子] 
          (1)      (2)        (3)            (2)

  1. コマンド名

    DCL コマンドの名前。DCL コマンドの機能を示します。

  2. 修飾子

    /で始まる単語。DCL コマンドやパラメータに付加的な指示を与える場合に付けます。指定できる修飾子は,DCL コマンドによって異なります。

    修飾子を指定する場合は修飾子とパラメータはスペースで区切ります。また,修飾子の前はスペースがあってもなくても構いません。

  3. パラメータ

    DCL コマンドを実行する対象を示します。指定できる対象は, DCL コマンドによって異なります。コマンド名とパラメータはスペースで区切ります。


DCL と英語

DCL は,英語に似せて作られたコマンド体系です。コマンド名にはたいてい英語の動詞が使われています。DCL は先頭に動詞があるので英語の命令文にあたります。パラメータは目的語に,修飾子は,副詞や形容詞などに相当します。

一般的に使用される DCL コマンド

次の表に,一般的なシステム操作を実行するときに使用される DCL コマンドをいくつか示します。

コマンド 操作
COPY 指定されたファイルをコピーする。
CREATE ファイルまたはディレクトリを作成する。
DELETE 指定されたファイルをディレクトリから削除する。
DIRECTORY ディレクトリの内容(ファイルのリスト)を表示する。
EDIT テキスト・ファイルの内容を調べて変更する。
LOGOUT セッションを終了する。
PRINT 指定されたファイルをプリンタに送って印刷する。
RENAME 指定されたファイルの名前または位置を変更する。
SET 画面上でのシステムの表示のしかたを制御する。
SHOW システムの状態を表示する。
TYPE 指定されたファイルの内容を画面に表示する。

DCL コマンドの実行方法

DCL コマンドを実行するには,プロンプト(通常 "$")が表示されているときに,プロンプトに続けてコマンド名を入力し, [Return] キーまたは [Enter] キーを押します。 次の表に,さまざまな形式の DCL コマンドの例を示します。

DCL コマンドの入力例
コマンド形式
$ コマンド $ LOGOUT
$ コマンド パラメータ $ TYPE FILE.TXT
$ コマンド/修飾子 パラメータ $ DIRECTORY/FULL FILE.TXT
$ コマンド パラメータ/修飾子 $ PRINT FILE.TXT/COPIES=2
$ コマンド パラメータ,パラメータ $ PRINT FILE.TXT,TEST.LIS
$ コマンド パラメータ,パラメータ/修飾子 $ PRINT A.TXT,B.LIS/COPIES=3

DCL コマンドを短縮して使う

DCL コマンドや修飾子は文字を短縮できます。通常,最初の 4 文字まで入れれば,コマンドは実行されます。他のコマンドと区別できる場合は,4 文字以下でも実行されます。 (先頭が NO で始まる修飾子の場合は,NO を除いて 4 文字)


    $ LOGOUT    
    $ LOGO 
    $ LO 

ただし,コマンド・プロシージャ ( コマンド・プロシージャを使用する を参照 ) 内では,明確さを維持するためにコマンドを短縮しないでください。

DCL コマンドを複数行にわたって入力する




DCL コマンド行を複数行にわたって継続するには,次のように行末にハイフン (-) を入力して [Return] キーを押します。すると '_$' というプロンプトが表示されるので,コマンドの続きを入力します。


                                              
 
      $ DIRECTORY/DATE/SINCE=YESTERDAY -    
       _$ A.TXT,B.TXT,C.TXT 
                                          

DCL コマンド行を編集する

DCL コマンドを入力しているときに誤りに気づいた場合, <X| キー (または [Back Space] キー) を使用して修正することができます。その際,文字列の途中の誤りを修正するために,文字列の最後から誤りの文字まで <X| キーを使って削除してしまうと入力した文字が無駄になってしまいます。

日本語 OpenVMS では,入力中の DCL コマンド行内でカーソルを移動して,任意の文字を挿入,変更,削除することができます。コマンド行内でカーソルを移動するには,次のキーを使います。

キー 説明
[Ctrl] + [H] カーソルを行の先頭に移動
[Ctrl] + [E] カーソルを行の末尾に移動
[←] カーソルを 1 文字分だけ左に移動
[→] カーソルを 1 文字分だけ右に移動
[Ctrl] + [A] 入力の上書きモードと挿入モードの切り替え (トグルになっている)

コマンド行から文字を削除するには,次のキーを使います。

キー 説明
<X| カーソルの左の 1 文字を削除
[Ctrl] + [J] カーソルの左の 1 語を削除
[Ctrl] + [U] 行の先頭からカーソルの左までの文字列を削除

編集した DCL コマンドの実行

編集した DCL コマンド行を実行するには,カーソルの位置に関係なく,そのまま [Return] キーまたは [Enter] キーを押します。カーソルをコマンド行の最後まで移動する必要はありません。

DCL コマンド行の編集例




たとえば,$ SHOW USERS と入力するつもりが,まちがえて $ SHOW ISERS と入力して, [Return] キーを押す前に気が付きました。この場合は,次の手順で修正します。 (この例では,入力モードは上書きモードになっています。)

  1. カーソルは文字列の後に表示されています。


        $ SHOW ISERS      
    

  2. [←] キーを 5 回押して,カーソルを I の上に移動します。


        $ SHOW ISERS    
    

  3. U を入力します。


        $ SHOW USERS    
    

  4. カーソルは S の上に移動したままですが,そのまま [Return] キーを押せば,コマンドが実行できます。


        $ SHOW USERS    
    

DCL コマンドの再呼び出し

すでに実行したコマンドを呼び出して,そのまま,あるいは修正して実行することができます。

日本語 OpenVMS では,ユーザが実行したコマンドを新しいものからさかのぼって最大 254 個まで記憶できます。記憶されたコマンドを呼び出すには,次のキーあるいはコマンドを使います。

キーまたはコマンド 説明
[↑] 直前に実行したコマンドを呼び出して表示する。さらにこのキーを押すと,実行したコマンドを新しいものからさかのぼって順番に呼び出せる。
[↓] [↑] でコマンドの呼び出しを行っているとき,そのコマンドの次に実行したコマンドが呼び出せる。
RECALL/ALL 実行したコマンドを新しいものからさかのぼって最大 254 個まで一覧表にして出力する。
RECALL 番号 前記の RECALL/ALL コマンドで表示される各コマンドに付いている番号でコマンドを呼び出せる。
[Ctrl] + [B] 直前に実行したコマンドを呼び出して表示する。さらにこのキーを押すと,実行したコマンドを新しいものからさかのぼって順番に呼び出せる。




RECALL コマンドを使用して,コマンドを呼び出してみましょう。

  1. RECALL/ALL コマンドで最近実行したコマンドの一覧を表示します。


        $ RECALL/ALL 
     
         1 TYPE MEIBO.TXT 
         2 EDIT/XTPU MEIBO.TXT 
         3 PRINT/QUEUE=PRINTER1/NOTIFY MEIBO.TXT    
         4 EDIT/XTPU MEIBO.TXT 
         5 TYPE MEIBO_TMP.TXT 
         6 TYPE MEIBO.TXT 
         7 APPEND MEIBO_TMP.TXT MEIBO.TXT 
         8 EDIT/XTPU MEIBO_TMP.TXT 
         9 DIRECTORY 
        10 SET DEFAULT [.MEMO] 
        11 DIRECTORY 
    

  2. 3 番目のコマンドを呼び出します。


        $ RECALL 3 
        $ PRINT/QUEUE=PRINTER1/NOTIFY MEIBO.TXT     
    

  3. [Return] キーを押すと,コマンドが実行されます。


        $ PRINT/QUEUE=PRINTER1/NOTIFY MEIBO.TXT