CUI TUI CLIってなにが違うの?
「コマンド叩いて操作するのは全部CUIじゃないの?」
「CLIとCUI、何が違うの?」
エンジニアの世界に入ると必ずと言っていいほど遭遇するこれらの用語。似ているようで、実は明確な違いや「役割のレイヤー」が異なります。
今回は、それぞれの定義と違いをスッキリ整理して解説します。
3つの関係性をひと目で理解する
まず結論から言うと、これらは「比べるもの」というより、**「どの側面(インターフェースか、操作形式か、見た目か)を指しているか」**の違いです。
| 用語 | 正式名称 | ざっくりした意味 |
|---|---|---|
| CLI | Command Line Interface | 「コマンド入力」という操作形式そのもの |
| CUI | Character User Interface | 「文字だけ」で構成された画面(GUIの対義語) |
| TUI | Text User Interface | 「テキストで図っぽく」表現した操作画面 |
CLI (Command Line Interface)
〜「やり取りの方法」に注目〜
CLIは、ユーザーがキーボードから「コマンド(文字列)」を打ち込み、コンピュータがそれに対して反応を返す対話の形式を指します。
特徴: マウスは使わず、キーボード入力が主役。
例: ls, cd, git commit, npm install
ポイント: 「CUIで操作する」という文脈で、特に「コマンドを打つ」という行為にフォーカスした言葉です。
CUI (Character User Interface)
〜「画面の見た目」に注目〜
CUIは、グラフィカルな画像やアイコンを使わず、文字(キャラクター)だけで構成されたUIの総称です。GUI(Graphical User Interface)の対義語として使われます。
特徴: 画面全体が文字。色が付くことはあっても、基本はテキストベースで動作。
実は「CUI」は和製英語のような扱いです。海外ではCLIという言葉でひとまとめにされることが多いですが、日本では「画面構成」を指す際にCUIと呼ぶのが一般的らしいです。
TUI (Text User Interface)
〜「文字だけどリッチ」な中間存在〜
TUIは、CUIの一種ですが、テキストを使って「ボタン」や「ウィンドウ」のようなレイアウトを作ったものを指します。
特徴: マウスが使えるものもあり、カーソルキーでメニューを選んだり、グラフが表示されたりする。
例: * top や htop(プロセスの監視)
vim や emacs(エディタ)
gitui や lazygit(Git操作ツール)
メリット: GUIのように直感的でありながら、ターミナル内で完結するので軽量で高速。
結局、どう使い分ければいい?
日常会話や業務では、以下のように使い分けるとスムーズです。
CLI(例:CLIツールを作ったよ)
▷ 「マウスを使わない黒い画面の操作」 を総称する時
CUI(例:CUIは慣れるまでが大変だ)
▷ 「ターミナル内で動く便利なツール」 を紹介する時
TUI(例:~~~っていうTUIツールが最高すぎる)
▷ある程度GUI的な存在
CLI (入力形式) CUI (画面形式)
その中で、よりビジュアルを整えたものが TUI というイメージです。
まとめ
- CLI は「コマンド入力」という手法
- CUI は「文字だけ」という環境
- TUI は「文字で表現されたグラフィカルな画面」
これらを意識して使い分けられるようになると、ドキュメントの読み書きや技術選定の会話がより正確になります!