マニュアルページセク ション 1: ユーザーコマンド

印刷ビューの終了

更新: 2014 年 7 月
 
 

Intro(1)

名前

Intro, intro - コマンドおよびアプリケーションプログラムの序章

説明

このセクションでは、このオペレーティングシステムで使用できるコマンドをアルファベット順に説明しています。

特別な範疇に収まるコマンドについては、次のように区別しています。

1B

SunOS/BSD 互換性パッケージにだけ存在するコマンド。詳細は、『SunOS/BSD CompatibilityPackage』を参照してください。

1C

ほかのシステムと通信するためのコマンド

1G

Solaris コマンドの代替のオープンソース実装。

1S

SunOS システムにだけ存在するコマンド

その他のセクションについて

詳細は、SunOS リファレンスマニュアルの各セクションを参照してください。

  • システム管理のコマンドについては、セクション 1M を参照してください。

  • ファイルの形式については、セクション 4 を参照してください。

  • 公式に使用できるファイルやそのほかのさまざまな情報については、セクション 5 を参照してください。

これらのコマンドおよび手順に関するチュートリアルの情報については、Oracle Solaris 11.2 でのシステム情報、プロセス、およびパフォーマンスの管理 を参照してください。

マニュアルページのコマンドの構文

特に説明しないかぎり、マニュアルページの「形式」の項で記述されるコマンドは、次の構文に従って、オプションやその他の引数を受け入れます。そして、次のように解釈されなければなりません。

name [option...] [cmdarg...] ここでは:

[ ]

必須でない option (オプション) や cmdarg (引数) を囲みます。

...

option (オプション) や cmdarg (引数) が複数回発生することを意味します。

name

実行可能ファイルの名前です。

{ }

中括弧で囲まれたオプション・引数は相互に依存しており、1 つの組として取り扱う必要があります。

option

(常に “-” が先行します。)noargletter... または、argletter optarg[,...]

noargletter

引数が必要ないオプション 1 文字を表します。複数の noargletter を指定する場合、1 つの “-” の後にまとめて指定できます (後述のガイドライン 5)。

argletter

引数が必要なオプション 1 文字を表します。

optarg

argletter に必要なオプション引数 (文字列) です。複数の optargsargletter に指定する場合、コンマで区切る、または、タブかスペース文字で区切って引用符で囲まなければなりません (後述のガイドライン 8)。

cmdarg

“-” で始まらないパス名 (またはほかのコマンドの引数)。“-” だけを指定すると標準入力を表します。

特に指定しないかぎり、オペランドまたはオプション引数が数値である (つまり、数値を含む) 場合、次のように処理されます。

  • 数字は 10 進数の整数として認識されます。

  • 0 から 2147483647 までの数字は、構文上、数値であると認識されます。

  • ユーティリティーの機能説明において、負の数をオペランドまたはオプション引数として受け入れると記述されている場合、-2147483647 から 2147483647 までの数字は、構文上、数値であると認識されます。

  • ここに示す範囲よりも大きな範囲は許可されます。

コマンド構文規格: ガイドライン

ここで説明するコマンド構文のガイドラインは、既存のコマンドすべてに適用されているわけではありません。しかし、新規のコマンドはすべてこのガイドラインに従う予定です。すべてのシェルプロシージャーはパラメータの構文解析に getopts(1) を使って、前後関係に依存するオプションが正しいかどうかチェックしなければなりません。これは、次に説明するガイドライン 3 から 10 までをサポートします。その他の規則については、コマンド自身がチェックしなければなりません。

  1. コマンド名 (前述の name) は、2 文字から 9 文字までの長さでなければなりません。

  2. コマンド名は、小文字と数字だけで構成されなければなりません。

  3. オプション名 (前述の option) は、1 文字でなければなりません。

  4. オプションには “-” が先行しなければなりません。

  5. 引数なしのオプションは、1 つの “-” のあとに複数個まとめて指定できます。

  6. オプションとオプションの最初の引数 (前述の optarg) の間は、タブかスペース文字で区切らなければなりません。

  7. オプションの引数は、必ず指定しなければなりません。

  8. オプションに複数のオプションの引数が続く場合、それぞれをコンマで区切る、または、タブかスペース文字で区切って 引用符で囲まなければなりません (たとえば、–o xxx,z,yy や –o“xxx z yy” など)。

  9. コマンド行上では、オプションはオペランド (前述の cmdarg) より前に指定しなければなりません。

  10. “- -” を使って、オプションの終わりを示すことができます。

  11. オプションの相対的な順番は問題になりません。

  12. オペランド (前述の cmdarg) の相対的な順番は、その位置によって、コマンドが決めた意味に影響します。

  13. “-” の前後にスペース文字を指定した場合 ("-" 'だけを指定した場合)、標準入力を表します。

Solaris を初めとする Sun 製品のために、前述のガイドラインを拡張する CLIP (コマンド行インタフェースパラダイム) という拡張セットが開発されました。この拡張セットの目的は、Sun のコマンド行構文を Linux システムで採用されている GNU コマンド行構文に近づけることです。これは、既存のユーティリティーを変更するわけではなく、また、この拡張セットをすべての新しいユーティリティーに適用するわけでもありません。つまり、必要に応じて、開発中のユーティリティーに適用するというだけのことです。

CLIP は、前述のガイドラインの完全な上位集合であり、IEEE 標準 1003.1-2001 (SUSv3) により近づいています。したがって、すべての GNU 構文を含むわけではありません。GNU 構文には、前述の IEEE 規則と衝突したり、あいまいな構造もあります。このような構造は許されません。

拡張 CLIP コマンド行構文は、次のようになります。

utility_name -a --longopt1 -c option_argument \
   -f option_argument --longopt2=option_argument \
   --longopt3 option_argument operand

この例では、ユーティリティーの名前は utility_name です。ユーティリティーの名前の後には、オプション、オプション引数、およびオペランドが続きます。これらをまとめて「引数」と呼びます。1 つのハイフンの後に 1 つの文字または数字が続く引数 (たとえば、–a) のことを「短いオプション」と呼びます。2 つのハイフンの後に複数の文字、数字、またはハイフンが続く引数 (たとえば、–-longopt1) のことを「長いオプション」と呼びます。短いオプションと長いオプションをまとめて「オプション」と呼びます (古くは「フラグ」とも)。オプションには、オプション引数をとるものもあります (前述の例では、–c option_argument)。最後のオプション (および、オプション引数) の後に続く引数のことを「オペランド」と呼びます。ある引数が最初のオペランドであると認識されると、それ以降の引数はすべて、オペラントであると認識されます。

短いオプションとオプション引数の間には、空白が入っているものと、空白が入っていないものがあります。つまり、短いオプションとオプション引数が隣接していて、本当は 2 つの引数なのだが、1 つの引数になっている場合があります。CLIP の仕様では、短いオプションとそのオプション引数の間には空白が入っていて、別々の引数である必要があります。しかし、昔のアプリケーションをサポートするために、いくつかの例外があります。

  • ユーティリティーの「形式」節において、短いオプションとオプション引数の間にスペースが入っている場合 (前述の例では、–c option_argument)、アプリケーションは、短いオプションとオプション引数に、別々の引数を使用します。

  • スペースが入っていない場合 (前述の例では、–foption_argument)、アプリケーションは、短いオプションとオプション引数が直接 (つまり、スペースなしに) 隣接していて、1 つの引数であることを期待します。

  • 前述の要件にもかかわらず、アプリケーションは、「形式」節でスペースが入っている場合も、そうでない場合も、さらには、短いオプションとオプション引数が 1 つの引数となっている場合も、別々の引数になっている場合も、その短いオプションとオプション引数を受け入れる必要があります。

  • 長いオプションにオプション引数が付く場合、長いオプションとオプション引数の間には、必ず、等号記号 (=) を入れる必要があると定義されています。しかし、ユーティリティーの「オプション」セクションにおいて、長いオプションとそのオプション引数の間に等号記号 (=) が入っている場合でも (前述の例では、–-longopt2= option_argument)、アプリケーションは、長いオプションとそのオプション引数の間に、空白を入れる方法も受け入れる必要があります (前述の例では、–-longopt1 option_argument)。

CLIP は前述のガイドラインを拡張して、次のようなガイドラインを定義しています。

14.

同じような操作をグループにまとめるには、command subcommand [options][operands] という形式が適切です。サブコマンド名はコマンド名と同じ規約 (ガイドライン 1 と 2) に従います。

15.

長いオプションには「–-」を前に付けて、適切な文字セットの英数字とハイフンだけを使用します。長いオプションの名前には、通常、1 つから 3 つまでの単語を使用して、それぞれをハイフンで区切ります。

16.

長いオプションにオプション引数を指定するには、–-name=argument の形式を使用する必要があります。ただし、–-name argument の形式も受け入れます。

17.

すべてのユーティリティーは、次の 2 つの標準の長いオプションをサポートする必要があります。 –-version (短いオプションの同義語は –V) と –-help (短いオプションの同義語は –?) です。–-version の場合、短いオプションの同義語と同じオプションがすでに使用されている場合は、短いオプションの同義語を変更してもかまいません。ただし、短いオプションの同義語は、必ず、用意しておく必要があります。これらのオプションに遭遇した時点で、引数の処理は停止され、適切な出力が表示され、ユーティリティーは正常に終了します。

18.

短いオプションは 1 つの長いオプションとのみ対応し、同様に、長いオプションは 1 つの短いオプションとのみ対応する必要があります。昔の習慣や、コミュニティーで使用する同等のユーティリティーとの互換性を保つために、同等なオプションを用意できます。

19.

短いオプションの名前は、次の規則に従って、長いオプションの名前から決定される必要があります。

  1. 短いオプションの名前には、長いオプションの名前の最初の 1 文字を選択します。

  2. 最初の 1 文字がほかの短いオプションの名前と衝突する場合は、目立つ子音を選択します。

  3. 最初の 1 文字も目立つ子音もほかの短いオプションの名前と衝突する場合は、目立つ母音を選択します。

  4. 長いオプションの名前のどの文字も使用できない場合は、任意の文字を選択します。

20.

長いオプションの名前が 1 文字だけの場合、短いオプションの名前にも同じ文字を使用する必要があります。1 文字だけの長いオプションは避けるべきです。1 文字だけの長いオプションを使用するのは、その文字がオプションの意味をもっとも端的に表すという、ごくまれな場合だけです。

21.

サブコマンドの形式は、通常、拡張 CLIP ガイドラインのガイドライン 1 で説明した形式である必要があります。サブコマンドを省略する場合、コマンドにオペランドを指定してはいけません。この場合、遭遇したときに引数の処理を停止させるオプションだけを指定できます。この形式のコマンドを呼び出すときに、サブコマンドも引数も省略すると、エラーになります。このガイドラインは、コマンドとサブコマンドの構成として、<コマンド> –-help、<コマンド> –?、<コマンド> –-version、および <コマンド> –V という共通な形式を受け入れるために提供されます。

これらのガイドラインのいくつかは、ユーティリティーの作者にしか関係のないものです。これらのガイドラインをここで紹介したのは、この構文に従ってユーティリティーを作成したいユーザーのためです。

謝辞

謝辞

Oracle America, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at http://www.opengroup.org/bookstore/.

The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation.

In the following statement, the phrase ``this text'' refers to portions of the system documentation.

Portions of this text are reprinted and reproduced in electronic form in the SunOS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html.

This notice shall appear on any product containing this material.

関連項目

getopts(1), wait(1), exit(2), getopt(3C)

診断

終了時、すべてのコマンドはステータスを表す 2 バイトを返します。1 つは、システムから提供され、終了の原因を示します。もう 1 つ (正常な終了において) は、プログラムから提供されます (exit(2) を参照)。前のバイトが 0 の場合、正常な終了を表します。後のバイトが 0 の場合、正常な実行を表します。後のバイトがゼロでない場合、間違った引数を指定した、または不良で受け入れることができないデータを指定したなどの障害を示します。このバイトは、「終了コード」、「終了ステータス」、「リターンコード」などさまざまな呼ばれ方をします。そして、特別な使い方がある場合に限って説明されます。

警告

NULL文字を含むファイルを処理しているときに、予測していなかった結果を出すコマンドがあります。通常このようなコマンドはテキスト入力行を文字列として扱っているので、行中のNULL文字 (つまり文字列の終端) に出合うと混乱してしまうからです。