# 管理の手引き

# 付録 B. AFS コマンドの使用

このセクションでは、AFS コマンドのコンポーネントと、省略形を使ってより効果的にコマンドを入力する方法について説明します。以下のセクションがあります。

  AFS コマンドの構文

  AFS コマンドの入力規則

  省略形と別名を使用するための規則

  AFS コマンドのオンライン・ヘルプの表示

## AFS コマンドの構文

組に属している AFS コマンドの構造は、以下のとおりです。

       command_suite operation_code -switch <value>[+]  [-flag]

### コマンド名

全体として、command_suite と operation_code で、 コマンド名 を構成します。

command_suite は、このコマンドが属する、関連したコマンドのグループを指定し、このコマンドを実行するコマンド・インタープリターまたはサーバー・プロセスを示します。AFS には、bos、fs、 kas、package、 pts、scout、 uss および vos を組み込む、いくつかのコマンドの組があります。これらの組の中には、発行者がこのコマンド名の command_suite の部分を省略する対話モードを持つものがあります。

operation_code は、実行するアクションを、コマンド・インタープリターおよびサーバー・プロセスに知らせます。ほとんどのコマンドの組には、複数の演算子が組み込まれます。AFS Administration Reference では、各演算子を詳細に説明し、 AFS 管理の手引き では、その演算子を実行管理用タスクのコンテキストで使用する方法を説明します。

いくつかの AFS コマンドは組に属さないため、その名前に command_suite の部分がありません。それ以外の点では、それらのコマンドの構造は、組に属するコマンドに類似しています。

### オプション

option という用語は、以下に説明する引き数およびフラグの両方を表します。

### 引き数

コマンド名の後に 1 つ以上の引き数を指定することができます。引き数は、コマンドの実行中にそのコマンドが作用するエンティティーを指定します (たとえば、どのサーバー・マシン、サーバー・プロセス、あるいはファイルに作用するか)。潜在的なエラーを最小限にするために、コマンドの定義で規定される順序で、コマンドの引き数を提供しなければなりません。

各引き数には 2 つの部分があり、これらの部分は指定された順に出現します。

- スイッチ は引き数のタイプを指定し、ハイフン (-) の後に置かれます。たとえば、スイッチ -server は、通常、引き数がサーバー・マシンを指定することを示しています。スイッチは、スイッチを省略するための条件 で概説されている規則に従って、省略可能な場合が多くあります。
- 値 は、前述のスイッチで指定されたタイプの特定のエンティティーを指定します。たとえば、-server スイッチに対する適切な値は、fs3.example.com のようなファイル・サーバー・マシンの名前です。スイッチとは異なり (スイッチには必要な形式がある)、値は、発行者が完成したい内容によって異なります。値は、コマンドの説明とオンライン・ヘルプの中で、不等号括弧 (< >) で囲まれて表示され、そのインスタンスはユーザー提供の可変情報であることを示します。

一部の引き数は複数の値を受け取ります。コマンド説明とオンライン・ヘルプでは、その引き数の後ろに正符号 ( + ) を付けて示されています。あるコマンドの引き数のうち複数の値を取る引き数の数、および他の引き数との関連におけるそれらの引き数の順序によって、スイッチの省略が受け入れられるかどうかが決まります。スイッチを省略するための条件を参照してください。

コマンドの中には、必須の引き数だけでなく、任意選択の引き数をもつものがあります。コマンドの説明およびオンライン・ヘルプでは、任意選択の引き数を大括弧 ([ ]) で示しています。

### フラグ

コマンドの中には 1 つ以上のフラグを持つものがあります。フラグはコマンド・インタープリターおよびサーバー・プロセスがそのコマンドを実行する仕方、または作成する出力の種類を指定します。フラグは、スイッチのようにハイフンの後に続きますが、インスタンスは取りません。コマンドの説明とオンライン・ヘルプでは、一般にコマンドの引き数の後にそのコマンドのフラグがリストされていますが、フラグに対してはあらかじめ決められた順序というものはありません。コマンドのフラグは、引き数を構成している部分と部分の間を除く、演算子の後のコマンド行の任意の位置に置くことができます。フラグは、いつも任意選択です。

### コマンドの例

次の例は、AFS コマンド組に属するコマンドのさまざまな部分を示しています。

       %  bos getdate -server fs1.example.com -file ptserver kaserver

ここで、

- bos はコマンドの組です。BOS サーバーがこの組のコマンドのほとんどを実行します。
- getdate は、演算子です。この演算子は、指定されたサーバー・マシン上の BOS サーバー (この場合は fs1.example.com) に対して、ローカルの /usr/afs/bin ディレクトリーにあるバイナリー・ファイルの変更日を報告するように指示します。
- -server fs1.example.com は、1 つの引き数で、スイッチとして -server を、値として fs1.example.com をもっています。この引き数は、バイナリーの日付を収集して報告する BOS サーバーが存在するサーバー・マシンを指定します。
- -file ptserver kaserver は、複数の値を受け入れる引き数です。スイッチは -fileで、値は ptserver および kaserver です。この引き数は、ファイル /usr/afs/bin/kaserver と /usr/afs/bin/ptserver での日付の変更を報告するように、 BOS サーバーに指示します。

### AFS コマンドの入力規則

各 AFS コマンドは 1 行で入力します (コマンドの終わりのみで <リターン> を押します)。本書のコマンドの中には、複数行にわたって切れて表示されるものがありますが、それは、印刷上の都合によるものです。

コマンド行の各要素を隣り合う要素から分離するには、スペースを使用します。スペース (コンマではありません) は、引き数の複数の値も分離します。

多くの場合、コマンドの発行者は、次の方法のどちらか1 つあるいは両方を使用すれば、必要な入力量を減らすことができます。

- スイッチを省略する
- 演算子、スイッチ (組み込まれているなら)、およびいくつかのタイプの値の受け入れ済み省略形を使用する。

以下の機能グループでは、コマンド行のパーツの省略または短縮の条件について説明します。コマンドのスイッチをすべて指定し、省略形なしで、コマンドを完全に入力することは常に可能です。

#### スイッチを省略するための条件

引き数のスイッチ部分を入力することはいつも受け入れ可能ですが、多くの場合、その必要がありません。特に、以下の条件を満たす場合には、スイッチを省略することができます。

- コマンドの必須の引き数がすべて、構文ステートメントであらかじめ規定されている順序で出現する場合。
- 引き数にスイッチが全く指定されていない場合
- 各引き数に値が 1 つしかない場合 (ただし、次のパラグラフで説明しているように重要な例外があるので注意してください)

スイッチの省略が可能なのは、コマンドの各引き数には、あらかじめ規定された順序が存在するという理由だけからです。発行者がスイッチを組み込まない場合には、コマンド・インタープリターはスイッチの代わりに引き数の順序をあてにします。すなわち、コマンド・インタープリターは演算子の後の最初の要素がそのコマンドの最初の引き数で、その次の要素がコマンドの 2 番目の引き数である、というように想定します。重要な例外は、コマンドの最後の必須の引き数が複数の値を受け入れる場合です。このような場合には、コマンド・インタープリターは、発行者が、最後の引き数を介して、各引き数に 1 つの値を正しく提供したと想定します。その結果、最後にある任意の追加の値は、最後の引き数に属する値になります。

以下のリストは、逆の観点からスイッチの省略の規則を説明したものです。すなわち、以下の条件のどれかが適用される場合には、引き数のスイッチを提供しなければなりません。

- コマンドの引き数が規定の順序で出現しない
- オプションの引き数は省略されているが、その次のオプションの引き数は提供されている
- 1 つ前の引き数にスイッチが指定されている
- 1 つ前の引き数に複数の値が提供されている (もちろんこの引き数は複数の値を取らなければならない)。現行の引き数にスイッチがない場合、コマンド・インタープリターは、現行の引き数をその 1 つ前の引き数のもう 1 つの値と見なします。

#### スイッチ省略の例

コマンドの例 にある例のコマンドについて、もう一度考えてみます。

       %  bos getdate -server fs1.example.com -file ptserver kaserver

このコマンドは、サーバー・マシンの名前 (-server スイッチで識別される) とバイナリー・ファイルの名前 (-file スイッチで識別される) という 2 つの必須の引き数を持ちます。2 番目の引き数は、複数の値を受け入れます。 3 つの条件すべてに適合していることにより、発行者は次のようにスイッチを省略することができます。

       % bos getdate fs1.example.com ptserver kaserver

スイッチがないので、bos コマンド・インタープリターは、引き数の順序をあてにします。このコマンド・インタープリターは、演算子に続く最初の要素 fs1.example.com がサーバー・マシンの名前で、次の引き数 ptserver はバイナリー・ファイルの名前であると想定します。次に、このコマンドの 2 番目の (かつ最後の) 引き数は、複数の値を受け入れるので、このコマンド・インタープリターは、kaserver はその引き数の追加の値である、と正しく解釈します。

一方、次の例は受け入れられません。それは、スイッチを省略するための条件 の最初の 2 つの条件に違反しているからです。1 つの引き数に値が 1 つしか指定されていませんが、引き数が規定の順序で出現していません。さらに、1 つの引き数にスイッチが提供されていますがもう 1 つの引き数には提供されていません。

       % bos getdate ptserver -server fs1.example.com

### 省略形と別名を使用するための規則

このセクションでは、演算子、オプション名、サーバー・マシン名、区画名、およびセル名の省略方法について説明します。これら以外の値を省略することはできません。

#### 演算子の省略

同じ組のほかの演算子とまだ区別できる最短の形式に、演算子を省略することができます。

たとえば、bos install を bos i に短縮することは受け入れ可能です。それは、bos コマンド組には、文字 i で始まる演算子が他にないからです。それと対照的に、文字 s で始まる bos 演算子は、以下のように複数個あります。したがって、明白にするためには、もっと長くする必要があります。

  bos sa は bos salvage を表す

  bos seta は bos setauth を表す

  bos setc は bos setcellname を表す

  bos setr は bos setrestart を表す

  bos sh は bos shutdown を表す

  bos start は bos start を表す

  bos startu は bos startup を表す

  bos stat は bos status を表す

  bos sto は bos stop を表す

省略形に加えて、いくつかの演算子には、演算子を最短の明白な形式に省略することによってできる短い形式の別名があります。たとえば、fs setacl コマンドの別名は、 fs sa です。それに対し、最短の明白な省略形は fs seta です。

演算子に別名があるのには、以下のような通例の理由が 2 つあります。

- コマンドは頻繁に発行されるため、省略形より短い形式の方が便利である。 fs setacl コマンドがその例です。
- コマンドの名前が変わったけれども、 AFS の以前のバージョンのユーザーが前の名前を知っているため。たとえば、bos listhosts には、前の名前である bos getcell の別名があります。別名を最短のあいまいでない形式に省略することは受け入れ可能です (たとえば、bos getcell を bos getc に省略する)。

たとえ、演算子に別名があっても、最短の明白な形式を使用することができます。したがって、 fs setacl コマンドには、3 つの受け入れ可能な形式があります。fs setacl (完全形式)、fs seta (最短の省略形)、および fs sa (別名)です。

#### スイッチとフラグの省略

スイッチあるいはフラグを、それと同じ演算子の他のスイッチとフラグから区別する最短形式に短縮することができます。 スイッチを省略するための条件 でリストされている条件に従えば、スイッチを完全に省略してしまうことができる場合も多くあります。

#### サーバー・マシン名の省略

AFS サーバー・マシンは、完全に修飾されたインターネット形式のホスト名を持たなければなりません (たとえば、fs1.example.com)。ただし、コマンド行に常にフルネームを入力する必要があるわけではありません。 AFS コマンドは、明白に短縮した形式を受け入れますが、コマンドが発行されたとき、短縮名を完全に修飾された名前に解釈するのは、セルの名前サービス (ドメイン・ネーム・サービスなど) またはローカル・ホスト・テーブルによって異なります。

大部分のコマンドは、小数点付き 10 進数形式のマシンの IP アドレスも ID として受け入れます。

#### 区分名の省略

AFS ボリュームを収容する区分には、/vicepx または /vicepxx の形式の名前がなければなりません。ただし、変数の最後の部分はアルファベットの小文字です。通例、ファイル・サーバー・マシン上に作成された最初のサーバー区画は /vicepa、2 番目の区画は /vicepb、というように呼ばれます。 AFS インストールの手引き では、AFS ボリュームをそのマシン上に保管するための準備に、ファイル・サーバー・マシンの区分を構成し命名する方法について説明します。

AFS コマンドを発行するときには、以下の形式のいずれかを使用して、区分名を省略することができます。

       /vicepa     =     vicepa      =      a      =      0
       /vicepb     =     vicepb      =      b      =      1

/vicepz (インデックスは 25) の後に

       /vicepaa    =     vicepaa     =      aa     =      26
       /vicepab    =     vicepab     =      ab     =      27

同様に

       /vicepiv    =     vicepiv     =      iv     =      255

#### セル名の省略

セルのフルネームは通常そのインターネット・ドメイン名 (たとえば、Example Organization の場合は example.org、あるいは Example Corporation の場合であれば example.com) に一致します。一部の AFS コマンドは、通常ローカルの /usr/vice/etc/CellServDB ファイルを基準としたあいまいでない短縮形式を受け入れますが、対応するドメイン名をどのように解決するかは、ローカル・ネーム・サービスの性能によって異なる場合があります。

### AFS コマンドのオンライン・ヘルプの表示

組に属する AFS コマンドのオンライン・ヘルプを表示するには、help および apropos 演算子を使用します。 -help フラグも、ほとんどすべての AFS コマンドで使用することができます。

1 つのコマンドのオンライン・ヘルプ項目は、以下のように 2 行または 3 行で構成されます。

- 最初の行でコマンドを挙げて、そのコマンドの動作を簡単に説明しています。
- コマンドに別名がある場合には、次の行に表示されます。
- 最終行は文字列 `Usage:` で始まり、コマンドのオプションを規定の順序でリストしています。オンライン・ヘルプの項目は、このドキュメンテーションと同じ活字記号 (大括弧など) を使用しています。

演算子が指定されていない場合は、help 演算子は、その組の演算子ごとに最初の行 (簡単な説明) を表示します。

       % command_suite  help

発行者が 1 つ以上の演算子を指定している場合は、help 演算子は、各コマンドの完全なオンライン項目 (簡単な説明、あるいは別名がある場合にはその別名、および構文) を表示します。

       % command_suite help operation_code+

-help フラグは、コマンドの構文を表示しますが、簡単な説明あるいは別名は表示しません。

       % command_name -help

apropos 演算子は、指定されたキーワードを含む演算子または簡単な説明を持つ、ある組に属する任意のコマンドに関する簡単な説明を表示します。

       % command_suite apropos "<help
    string>"

以下の例で示したコマンドは、fs setacl コマンドの完全なオンライン・ヘルプ項目を表示します。

       % fs help setacl
       fs setacl: set access control list
       aliases: sa
       Usage: fs setacl -dir <directory>+ -acl <access list entries>+
       [-clear] [-negative] [-id] [-if] [-help]

構文ステートメントだけを表示するには、-help フラグを使用します。

       % fs setacl -help
       Usage: fs setacl -dir <directory>+ -acl <access list entries>+
       [-clear] [-negative] [-id] [-if] [-help]

以下の例では、あるユーザーが自分のホーム・ボリュームの割り当て量を表示したいと思っています。ユーザーは、関係のあるコマンドが fs 組に属することは知っていますが、その演算子を思い出すことができません。そこでこのユーザーはキーワードとして quota を使用します。

       % fs apropos quota
       listquota: list volume quota
       quota: show volume quota usage
       setquota: set volume quota

以下の例は、コマンド名または簡潔な説明の中にキーワードが組み込まれていない場合に表示されるエラー・メッセージを示しています。

       % fs apropos "list quota"
       Sorry, no commands found

[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]

(C) IBM Corporation 2000. All Rights Reserved