Loading AI tools
ジョブなどをコンピュータに実行させるための指示 ウィキペディアから
コンピュータシステムにおけるコマンド(英: command)とは、システムへの指示・指令あるいは命令のことである[1]。ジョブ(タスク)などをコンピュータに実行させるために使われる。コマンドはコンピュータ本体と周辺機器との間や、ソフトウェア間の通信時に与えられることもあれば、エンドユーザーから対話環境にて与えられることもある。
対話環境を持つオペレーティングシステム (OS) において、コマンドラインインタプリタ(シェル)が解釈し実行する文字列のことを「コマンド」と呼ぶ。多くの場合、OSコマンドは任意個の引数をとることができる。普通、引数は任意の文字列であるが、コマンドが動作する際の対象となるオブジェクト(ファイルなど)の指定と、コマンドの細かな動作を変更するオプションとに、概ね大別される。後者のオプション文字列には、Unixなど多くのシステムではハイフン -
を、MS-DOS の標準コマンド等ではスラッシュ /
を前置する、という慣習がある。オプションを省略した場合、既定値が使われる。
以下に挙げた例は、コマンドラインインタプリタ(Unix系のシェル)へのコマンドである。
以下は、別のコマンドラインインタプリタ(DOS、OS/2、Microsoft Windows のコマンドプロンプト)へのコマンドの例である。フラグの定義は環境によって差異があるが、概念は同じである。
C言語およびC++では、ホスト環境のコマンドプロセッサを起動してコマンドを実行することのできるsystem()
関数が用意されている[3][4]。POSIXにはパイプを利用したストリームを開くpopen()
関数も用意されている。これらの機能を利用すると、システムが提供するコマンドをアプリケーションソフトウェアで直接利用することも可能となる。これらはPerlやPythonのようなスクリプト言語にも用意されている。
しかし、ユーザーによって入力されたコマンド文字列を無害化するように配慮せず、任意のOSコマンドを実行できるようにしてしまった場合、攻撃者が悪意のあるコマンド文字列を入力することで実行環境への侵入・乗っ取りやシステム破壊を許してしまうセキュリティ脆弱性が発生することもある[5]。このような攻撃手法は「OSコマンドインジェクション」や「コマンドインジェクション」と呼ばれている[6]。
コンピュータに接続された周辺機器を制御するための指令を「コマンド」と呼ぶ。ソフトウェアはシリアル通信などの規格化されたインターフェイスを経由して、機器の仕様にしたがった情報を送ることで、コマンドを発行してハードウェアと通信する。例えばグラフィックスハードウェア (GPU) やプリンターに対する描画命令などが挙げられる。コマンドはハードウェアを高度に抽象化したAPIやデバイスドライバーを通じて発行されることもあり、その場合アプリケーションソフトウェア層ではコマンドの存在を意識する必要がないことも多い。
グラフィカルユーザーインターフェイス (GUI) の要素を操作することで、対応するアクションを発生させることを「コマンド」と呼ぶこともある。例えばメニュー内の各アイテムや、ボタンをクリックしたときに特定の動作をソフトウェアに実行させることを、ソフトウェアやコンピュータに対する指示と見立てている。この「コマンド」は、GUIフレームワークにおける概念・用語として使用されていることがある[7]。
コンピュータゲームにおいて、ユーザー(プレイヤー)がゲーム内のキャラクターに与える指示のことを「コマンド」と呼ぶことがある。
例えば古典的なアドベンチャーゲームやシミュレーションゲーム、ターン制のロールプレイングゲーム(コンピュータRPG)では、場面に応じて各キャラクターが次にとることのできる行動がいくつかの選択肢として用意されており、この選択肢をコマンドと呼ぶ。画面上でコマンドが配置されている領域をコマンドメニューと呼び、縦方向や横方向にコマンドのテキストが列挙されていることもあれば、コマンドの動作を視覚的に表すアイコンが縦や横、あるいは円形に配置されていることもあるが、いずれもカーソルを動かして選択・決定するだけで実行される。各コマンドを選択した後は、さらに動作の対象となるもの(攻撃目標や使用するアイテム・魔法など)を選択する必要があるケースもある。
対戦型格闘ゲームでは、キャラクターごとに用意された固有の必殺技を繰り出すためのジョイスティック(レバー)やボタンを使った一連の入力手順や組み合わせのことをコマンドと呼ぶ。コマンドを完成させるには、一連の入力を一定時間内に終えなければならない。一般的に威力の高い技ほどコマンドが長く複雑になり、入力難易度が上がる傾向にある。
特定の画面または状況で一定時間内に特定の方向キーやボタンを順番に入力することで、公式マニュアルには記載されていないオプション(裏技)が使えるようになる「隠しコマンド」を持つ作品もある。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.