ユーティリティとアプリケーションとは何ですか?

ユーティリティとアプリケーションとは何ですか?

cp、、などlsのコマンドは「ユーティリティ」と呼ばれます。これらを定義できないようで、代わりに「アプリケーション」と呼ばれています。chmodpwd

定義をより正確にするために GUI を放棄しましょう。

答え1

Wikipedia のトピックのタイトルは次の通りだと思います: "ユーティリティソフトウェア「まさにその通りです:

ユーティリティソフトウェアは通常、コンピュータインフラストラクチャ(コンピューターハードウェアオペレーティング·システムアプリケーションソフトウェアそしてデータストレージ)が動作する。この焦点のため、ユーティリティは多くの場合、かなり技術的であり、高度なコンピュータ知識を持つ人々を対象としている。アプリケーションソフトウェアこれにより、ユーザーはテキスト文書の作成、ビデオゲームのプレイ、音楽の聴取、Web サイトの閲覧などを行うことができます。

答え2

厳密に言えば、Unixユーティリティポータブルシェルスクリプトで使用できる明確に定義されたコマンドセットのみであり、POSIXで規定

この用語は、、、、およびlessその他多数の、Unix および Linux システムで依然として一般的な非標準の CLI 専用コマンドを含めるために緩く使用されることもあります。emacsperlzip

アプリケーションとは、エンド ユーザーと対話するユーザーランドで実行されるほぼすべてのものです。これには、カーネルと、デバイス ドライバーなどのカーネルに密接に関連するものはすべて含まれません。デーモン、システム サービス、ユーティリティは、コンテキストに応じて除外される場合と除外されない場合があります。

ここでもPOSIXはポータブルアプリケーション、つまりISO Cで書かれたプログラムを定義し、さまざまなレベルの適合従うことは許可されています。もちろん、非準拠アプリケーションでは、任意のプログラミング言語と非移植機能を使用できます。

いずれにしても、アプリケーションはAPI(アプリケーションプログラミングインターフェース)。

「アプリケーション」は、「オペレーティング システム」、「データ」などとともに、ディスクに保存されるものを分類および整理するために使用される用語の 1 つです。たとえば、OS は/dev、およびを使用し/usr、データは、およびバンドルされていないアプリケーション/etcに保存されます。/var/opt

答え3

Unix のユーティリティは、コマンド パイプラインまたはスクリプトで適切に機能するように設計されています。タスクの実行中に高度な操作が行われるようには設計されていません。

アプリケーションは通常、ワークスペースまたはプロジェクトの概念を提供します。そこでは、タスクまたはファイル (または複数のもの) をインタラクティブに操作したり、プロジェクト/ワークスペース全体を 1 つのユニットとして保存/読み込みしたりすることができます。たとえば、Audacity では、複数のオーディオ クリップをプロジェクトに保存できます。LMMS は別の例です。LMMS の「プロジェクト」には、音楽データだけでなく、サンプル、楽器の設定などが含まれます。

cp、、などのユーティリティls、または や などの多くのオプションと機能を備えたユーティリティはconvertavconvファイル/ディレクトリを受け取り、それを処理し、新しいファイルを生成したり、他の出力を生成したり、またはユーザーからの入力なしで既存の単一のファイル/ディレクトリに対して何かを実行したりします。ユーティリティは通常、ファイルまたは標準入力を入力として受け取り、それに対して何かを実行して終了します。

答え4

Wikipediaの対比アプリケーションソフトウェアシステムソフトウェア。 後者:

  • ハードウェアなどへのアクセスを提供することで、アプリケーションソフトウェアのプラットフォームを提供します。

  • システム固有のタスクを実行します (たとえば、最も一般的なコマンド ライン ユーティリティなど)。ただし、多くのコマンド ライン プログラムは実際にはアプリケーションです (例: 、、wget) 。makessh

アプリケーション ソフトウェアは、(理論上は) どのオペレーティング システムでも同じように実行できるものと考えることができます。ただし、ここではあいまいさがあります。たとえば、treeアプリケーションですか、それともユーティリティですか? この区別は使用や実装に影響しない抽象的なものであるため、すべてをどちらか一方に分類することは重要ではありません。

関連情報