コマンドですか、それともユーティリティですか?

コマンドですか、それともユーティリティですか?

私はUnix / Linuxの「コマンド」の正しい用語を見つけようとしています。特に、私はいつも技術的にそれを理解してきました。注文する(例:)はシェルに組み込まれており、他の「コマンド」(例:、、、、)はcdよりrmよく呼び出されます。lsmkdircpmv便利、独立したプログラムだからです。 (私が知っている限り、それrmはすべてにあります/bin。)また、何がコマンドであるかを確認する1つの方法は、マンページがあるかどうかを確認することです。コマンドはそうではありませんが、ユーティリティはそうです。しかし、Googleで見つけたすべてのソースは、具体的には「コマンド」を使用します。誰かが私にこの事実を直接話したり、適切な参考資料を教えてもらえますか?

exitマニュアルページもなくてもないので実際のコマンド/binですか?cd

答え1

これオープングループ基本仕様(POSIX)はユーティリティを次のように定義します。

シェルコマンド言語の一部として提供される特別な組み込みユーティリティを除いて、特定のタスクまたは関連するタスクセットを実行するためにシェルから名前で呼び出すことができるプログラム。

この部分特別な組み込みユーティリティその後、組み込みユーティリティが一覧表示されます。

コマンドは限られたように:

特定のタスクを実行するようにシェルに指示する指示です。

このセクションのシェルコマンドは、単純なコマンド、パイプ、リスト複合語、複合コマンド、および機能定義の5つのカテゴリのうちの1つに分けられます。

したがって、「コマンド」は上記の意味で「ユーティリティ」(外部プログラム)または組み込みプログラムとは異なります。ユーティリティまたは組み込み関数への呼び出しは、コマンドの一部でもあります。

答え2

コマンドは、コマンドプロンプトに入力したときに実行されます。一部はケースに組み込まれており、一部は外部収集品であり、一部は両方です。これに関する技術用語は「組み込み」および「外部」である。 「true」コマンドとfalseコマンドはありません(一部のコマンドはtrueまたはfalseを返すことができます)。

「ユーティリティ」はUnixでは特別な技術的意味を持たず、特別なものを区別しません。

答え3

コマンド対ユーティリティの議論は、DOS(Microsoft)時代にさかのぼります。 DOS以前は、ほとんどの「コマンド」がターミナルまたは「モニター」(キーボードI / O)に入力されていました。プログラムとユーティリティは、パンチカード、カートリッジ、ディスクなどのメディアからロードされます。

Unix / Linux / VMS / CPMがこれを行う方法は、狭いタスクをうまく実行するための多くのコマンドを提供することです。当初から、IBMとMicrosoftは多目的の「ユーティリティ」を使用して、Swiss Army Knife方式でデスクトップコンピュータをサポートしました。

実際的または公式的な区別はないが、「ユーティリティ」はしばしば汎用プログラムと呼ばれるが、「コマンド」は狭い目的のプログラムを指す。

例えばディスクドライブ汎用的な役割のため、「ディスクユーティリティ」とも呼ばれます。滞在目的が狭いため、通常はコマンドとして扱われます。 (しかし、人々が時々FORMATユーティリティと言う場所を見せることができます!)

新しいプログラマーは、伝統的な名前を非常に迅速に学びます。かなりランダムですが、言葉です。

関連情報