CUIとGUIの違い・特徴について解説します|CUIとは|GUIとは

用語解説

GUIとは?CUIとは?疑問に思う人

GUIとCUIについて調べる人
「GUIとCUIって何のことでしょうか?WindowsでもMacでもスマホでもグラフィックがあるのが当たり前。CUIって昔のパソコン画面のことでしょうか?いまだに使われていますか?」

こんな疑問を解決します。

ざっくり理解

  • CUI  文字だけシンプル古臭い  キーボードで操作
  • GUI  画像ありデザインあり   マウス・キーボードで操作

本記事の内容

この記事を書いている私はIT業界歴12年、年収1,000万円ちょっとの金融系ITエンジニアです。

業務ではWordやExcelなどGUIを前提とするアプリケーションを使いつつ、プログラムの開発やログ調査、サーバメンテナンスではCUIも扱っています。

業務経験から、GUIとCUIの特徴の違いや実務上の使い分けなどを解説したいと思います。何でCUIなんてまだあるの?といった疑問を感じている方の参考になりますと幸いです。

GUIとは

GUIとは

GUI(Graphical User Interface)とは、グラフィカルなデザインを用いたパソコン操作画面のことです。

WindowsやMac、スマホもこれに該当します。直感的にわかりやすく、人間がコンピュータを操作する上で非常に便利です。

GUIの例
GUI

CUIとは

CUIとは

CUI(Character User Interface)とは、画像やアイコンが無く、無い文字だけでコンピュータを操作する画面のことです。直感的とは言い難いですが、操作性が非常にシンプルなのが特徴です。

その歴史は古く、初期のコンピュータはCUIしかありませんでした。「コマンドライン」と呼ばれる、入力待ちの行にコマンドを打ち込んでコンピュータを操作します。

今では誰しもがGUIの使いやすさに慣れているため、利用機会ははるかに少なくなっています。しかし、CUIは、エンジニアを始めとする高度なユーザにとって、オペレーティングシステムの機能をより包括的に制御できるため、依然としてGUIよりも優れています。

CUIの例
CUIの例

電光掲示板はCUI?

CUIの例:電光掲示板

CUIっぽいものに電光掲示板があります。あれはCUIでしょうか?

電光掲示板はCUIっぽい見た目ですがCUIではありません

掲示板やポスターは一方的に情報を流すだけで、こちらから情報を入力することができません。

このように、情報のやりとりが一方通行の媒体は、そもそもインターフェースではないので、CUIでもGUIでもないのです。

GUIとCUIの違い

GUIとCUIの違い

一見するとGUIの方が使い勝手が良さそうですが、未だにCUIが使われている理由を解説します。簡単にポイントをまとめます。

  • GUIは誰にでも使いやすい
  • CUIはエンジニアが使うとメリットがある

開発系のITエンジニアにとってはCUIが基本

ITエンジニアはコンピュータのプロですから、直感的で誰でも使いやすい事よりも仕事の生産性が高いか、安定性が高いかといった観点の方が重要です。

GUIはグラフィカルな分だけ機能が複雑で、デザインも含めて開発しなくてはならないので大変です。一方でCUIはシンプルな分だけ開発量もおさえられ、動作も安定します。

CUIで実現可能な機能はCUIで済ませた方が良いのです。作った機能をエンジニア以外の人にも使って欲しいとか、テキストだけではわかりにくい時にGUIでの開発を行います。

サーバ保守を行うITエンジニアにとってもCUIが基本

サーバのログを解析したり、操作を行うITエンジニアにとってもCUIでの操作が基本です。ただし保守担当者にとっては、わかりやすさも重要。

ですから今までCUIベースだった操作をWEB化するなど、GUIで操作する事が多くなってきています。

使い分けが重要ですね。
GUI

GUIとCUIの特徴の違い

GUIとCUIの特徴の違い

開発者目線でGUIとCUIの違いを整理します。

インターフェース 直感的なわかりやすさ 自動化のしやすさ 開発の容易さ
GUI × ×
CUI ×

こうした特徴の違いから、顧客の操作する画面などGUIが必要な機能の開発を行うエンジニアをフロントエンジニア、画面開発が不要で主にCUIで機能を提供するエンジニアをバックエンジニアと呼びます。

CUIをマスターするには?

CUIならほぼLinux一択です

CUIをマスターするならLinuxを使いましょう

UnixやLinux、古くはメインフレーム(ホストコンピュータ)やMS-DOSなど様々なCUIベースのOSがありますが、現在ではCUI操作ならほぼLinux一択と思ってOKです。

Linuxの操作方法(コマンド)はLinux OS以外でも広く用いられており、MacやWindows、Chromium OSなどほとんどのOSでLinux系のコマンドを使う事ができます。ですから、現在ではLinux=CUIくらいに思っておいても問題ないです。

GUIからCUIに接続して操作するのが一般的

GUIからCUIを操作するのが一般的

現代ではCUIだけのコンピュータを直接扱う機会は少ないでしょう。多くの場合はWindowsやMacなどのパソコンからCUIベースのLinuxにリモート接続して使います。

サーバやネットワーク機器のメンテナンスを行うエンジニアであれば、サーバに直接ノートパソコンを接続して、Linuxに接続することもあります。

今回は以上です。GUIとCUIについて解説してみました。CUIは古くからありますがシンプルで今後も将来性が高いインターフェースで、GUIはCUIをラッピングしてグラフィカルに見せているにすぎません。

もしコンピュータについて学習している方、またはエンジニアを目指している方であれば、LinuxなどでCUIを操作してみることをお勧めします。将来にわたって役に立つと思います。

次はこちらの記事がオススメです。

CUIは現在進行形で進化している話

IBMは、CUIに音声入力を組み合わせる取り組みをしています。

 

IBMがコマンドラインインターフェイス(CLI)にAIを組み込み、使いやすくしようとしている。

ターミナルの黒い画面に慣れている方も、たまに使うコマンドやオプションをいちいち「man」や「help」で調べるのにわずらわしさを感じるだろう。
IBMによるオープンソースプロジェクト「CLAI(コマンドラインAI)」では、こういったわずらわしさを解消する機能(スキル)を提供してくれているほか、自身の要望を取り入れたAIの開発もできるようだ。

・自然言語を入力すると対応コマンドを生成
CLAIのsense-act APIを介してコマンドラインにアクセスすると、デフォルトでいくつかのスキルが利用できるようになっている。

最もAIっぽい「Natural Language to Command(nlc2cmd)」スキルでは、自然言語(英語)をコマンドラインに記述するだけで、対応するコマンドに変換してくれるようだ。例えば、「 compressing of archives using the “tar” command(tarコマンドを使用してアーカイブを圧縮する)」などと打ち込むと、オプション含めて目的を達成するためのコマンドが生成される。

出典:IBMがコマンドラインにAIを組み込むプロジェクト「CLAI」を発表! 

おわりに

今回は以上です。参考になりましたら幸いです。

Blog TOP  Linuxコマンドを勉強したい人向け|Linuxの使い方 記事まとめ

Linux&Linuxコマンドを勉強したい人向けの記事もくじ

用語解説・技術一般

  "UNIXとLINUX"の違いについて解説します
  CUIとGUIの違い・特徴について解説します

サーバリソースを確認するコマンドの使い方

  【Linux】CPU使用率を確認する3つの方法を解説します
  【Linux】topコマンドで,CPU消費の原因を特定する方法
  【Linux】ps実行時に-efオプションを付ける理由について
  【Linux】メモリ使用率を確認する|容量・空きの確認も
  【Linux】ディスク容量を確認する|ディスク容量監視も

ファイル操作に関するコマンドの使い方

  【Linux】ファイルの行数をカウントする方法を解説
  【Linux】文字コード変換ならiconvコマンド1択です
  【Linux】/dev/nullを、エンジニアが使う2つの目的
  【Linux】findのexecオプションの使い方とその注意点
  【Linux】findの結果から圧縮ファイルを作るコマンド
  【Linux】hostsの場所はどこ?→/etc/hostsにあります
  【Linux】touchコマンドで,時刻更新&空ファイル作成

Linux管理者用コマンドの使い方

  【Linux】再起動コマンド(shutdown)の使い方と注意点

よく使う便利なコマンドの使い方

  【Linux】改行なしでechoコマンドを使う時の -nオプション
  【Linux】sleepコマンドの使用例と注意点について解説する
  【Linux】rmコマンドでディレクトリを削除する方法を解説
  【Linux】ファイルを削除するコマンド2選【rm以外もあり】
  【Linux】awkの区切り文字を指定する,-Fオプションを解説
  【Linux】sedで文字列の置換をするeオプションを解説する
  【Linux】dateコマンドのフォーマットとその便利な使い方
  【Linux】大文字から小文字に変換する方法【小文字から大文字も】

シェルの便利機能

  【Linux】コマンド履歴を検索する【Ctrl+r】


今、IT業界の転職市場は前例のない売り手市場です

現在のIT業界の求人数と求人倍率をご存知ですか?

直近(※)の求人倍率は7.85倍です。

つまり 企業が8回IT人材の求人を出しても、1人しかエントリーがない状況です。

IT業界で働くなら、今がチャンスです。


※転職サイトdodaが毎月発表している転職求人倍率:
2019年12月9日発表/集計対象期間は2019年11月1日〜30日

詳しくはこちら