文字でコマンドを入力して操作するユーザインタフェース。
CUI(キャラクタユーザインタフェース=文字で操作する画面のこと。CLIとも呼ぶ)とは、キーボードからコマンド(=命令を表す文字列)を打ち込んで、機器を操作する方式のことです。アイコンやボタンは使わず、文字のやりとりだけで操作します。
身近な例で考えると、窓口で「住民票を1通ください」と口頭で頼むのに似ています。係員(コンピュータ)は言われた通りに処理して結果を返します。CUIでは、この「頼みごと」をコマンドという決まった言い方で文字入力するわけです。
上の図解はターミナル(CUIの操作画面のこと)です。$ のような記号をプロンプト(入力待ちの目印)と呼び、その後ろにコマンドを打ち、Enterキーで実行します。結果はすぐ下の行に文字で表示されます。
CUIには次のような利点があります。
・動作が軽い:絵を描かず文字だけなので、低性能な機器でもサクサク動く
・自動化しやすい:コマンドをファイルにまとめて一括実行(スクリプト化)できる
・遠隔操作に強い:少ない通信量で遠くのコンピュータを操作できる
・正確に伝わる:あいまいさのない文字で指示するため、同じ操作を確実に再現できる
一方で欠点もあります。
・コマンドを覚える必要がある:何を打てばよいか知らないと操作できない
・直感的でない:画面に手がかりが少なく、初心者にはとっつきにくい
・打ち間違いに弱い:1文字違うだけで動かなかったり、意図しない動作をしたりする
つまりCUIは「慣れた人が使えば速くて強力だが、初心者にはハードルが高い」方式だといえます。
CUIは、その軽さと自動化のしやすさから、次のような場面で広く使われています。
・サーバーの管理:画面を持たないサーバーを遠隔から操作・設定する
・作業の自動化:バックアップやファイル整理などをスクリプトでまとめて実行する
・ソフトウェア開発:プログラムのビルドや実行、バージョン管理(Gitなど)の操作
・大量のファイル処理:何百ものファイルを一括でコピー・名前変更する
身近な例では、料理のレシピを思い浮かべると分かりやすいです。手順を文字で書き残しておけば、同じ料理を何度でも正確に再現できます。CUIのスクリプトもこれと同じで、一度書いた手順を繰り返し実行できるのが強みです。
普段の操作はGUI、繰り返しや遠隔操作はCUI、というように場面に応じて使い分けるのが一般的です。