キャラクタユーザインタフェース

出典: フリー百科事典『ウィキペディア(Wikipedia)』
CUIから転送)
ナビゲーションに移動 検索に移動
CLIの画面例。内容はGentoo LinuxでBashコマンドを実行したもの。

キャラクタユーザインタフェース (character user interface, CUI)[1]キャラクタベースユーザインタフェース (character-based user interface, CUI) [2]コンソールユーザインタフェース (console user interface, CUI) [3]、またはコマンドラインインタフェース (command line interface, CLI) [4]は、キーボード[5]からの文字列[6]を入力とし、文字列が表示されるウィンドウや古くはラインプリンタで印字される文字などを出力とする、ユーザインタフェースの様式である。もっぱらグラフィカルユーザインタフェース (GUI) の対義語として使われる。

特徴[編集]

初期のコンピュータは、CUIによる対話環境が主流であった。その後、コンピュータの性能が向上したことにより、GUI環境を標準搭載しているパーソナルコンピュータ (MacintoshWindows 95など)がオフィスや一般家庭にも普及し、CUIの利用頻度は減っていった。

多くのネットワーク機器は、TELNETSSHに対応しており、CUIを標準搭載している。また、パーソナルコンピュータ (PC) やサーバー向けのオペレーティングシステム (OS) には、既定のインターフェイスがGUIであってもコマンドラインターミナルなどのCUI環境が標準で用意されている。しかし、スマートフォンなどのモバイル端末向けOSには標準で用意されていないことが多い。 ユーザインタフェースがCUIのアプリケーションをコンソールアプリケーションという。また、あまり一般的ではないが、テキストコンソールを利用してウィンドウなどを表現しているインタフェースをテキストユーザインタフェースという。

以降、CUIそのものだけでなくコマンドラインインタプリタシェルについても述べる。

長所[編集]

  • 処理の自動化(バッチ処理)が容易である(一連のコマンドや制御文は文字情報なのでファイルに単純に保存しておくことができ、それを後で何度でも実行・修正できる)。
  • プログラムを作成する際、ユーザからの入力を処理する部分(コマンドラインインタプリタ)を比較的簡単に作れる。GUIのプログラムは、一般にユーザインタフェースの作成に手間がかかり、管理すべき内部状態も多くなる。
これに関連して、異なるOSにプログラムを移植する際も、標準入出力のみを使用するコンソールプログラムのほうがはるかに移植しやすい。また、標準入出力は多くのプログラム言語で標準ライブラリや組み込みの言語機能として提供されているため、プログラム言語の入門やプロトタイピングテストドライバとしても向いている[7] [8] [9]
  • プログラムの出力を別のプログラムに直接入力したり(簡易なプロセス間通信: パイプ)、ファイルに保存したりできる。なお、多くの統合開発環境(IDE)ではGUIのクライアントを使って直感的にアプリケーションを開発できるようになっているが、プログラムのコンパイル・ビルド時にバックで動作しているのは(単独でも動作可能な)コマンドラインのコンパイラリンカである。
  • リモートログインする場合、クライアント側で専用のソフトウェアが不要である(SSHクライアント程度で済む)ことが多い。
  • 別のコンピュータにリモートログインする場合、画像情報の転送が不要あるいは必要最低限に抑えられるため、ネットワークへの負荷が低い。低速な回線でもリモート操作ができる。
  • 一般に自動補完機能(オートコンプリート)や履歴が利用できるため、コマンドをすべて手で入力する必要はない[10]
  • キーボードだけで操作できるため、手慣れたユーザは作業を敏速に行える。
  • 直前操作の確認や、資料収集(操作履歴の保存・他人への提供)などが容易である。
  • 入力元・出力先の切替が容易である(リダイレクト)。
  • 先行入力が可能である。GUIにおける、操作を行うためのボタンが表示されるまで待たされる、といったことが避けられる。

など

短所[編集]

  • 多くの場合、コマンドや応答は英語を基本としている。そのため、英語や英語に似た言語を母国語としている者と比較し、一般的な日本人(日本語話者)にとっては難解である。
  • 直感的な操作はできず、まず基本的なコマンドをある程度覚える必要があるため、アプリケーションのエンドユーザーにとっては習得コストがかかる。各プログラムのパラメータも必要に応じて調べる必要がある。
  • 人間の視覚的な能力をあまり活用できない。
  • 選択肢やヘルプなどを画面上に表示することにも限界がある。
  • 画像や3Dデータなど、図形的なものの操作や編集には向かない、または不可能である。

など

関連項目[編集]

脚注[編集]