コマンドインタプリタ

更新日:

用語解説

コマンドインタプリタは、利用者が入力したコマンド文字列を解析し、内部コマンドを実行したり、外部プログラムを起動したりするユーザインタフェースです。OSの機能を対話的又はスクリプトから利用するための仲介役で、シェルとも呼ばれます。

■ 試験で押さえるポイント

  • 入力をコマンド名と引数へ分解し、変数展開、ワイルドカード展開、入出力リダイレクト、パイプなどを処理した後、対応する処理を実行します。

  • cdのようにシェル自身の状態を変える内部コマンドと、別の実行ファイルをプロセスとして起動する外部コマンドがあります。実行後は終了ステータスを受け取ります。

  • 代表例はUNIX系のsh・bash、Windowsのcmd.exe・PowerShellです。GUIもOSの利用者インタフェースですが、文字列コマンドを解釈する点が判別軸です。

  • コマンドインタプリタは通常カーネルそのものではありません。入力値をコマンドへ無検証で連結するとコマンドインジェクションになるため、引数分離、引用、権限制限が必要です。

■ 選択肢での判断ポイント

『コマンドを解釈してプログラムを起動する』『リダイレクトやパイプを扱う』ならコマンドインタプリタです。CPU命令を逐次解釈する言語処理系のインタプリタや、資源を直接管理するOSカーネルと区別します。

例: 利用者が「sort < input.txt | uniq > result.txt」と入力すると、シェルが二つのプログラムを起動し、ファイルとプロセス間の標準入出力を接続します。

音声で聞く