はじめに
パソコンを操作していると、よく耳にする「GUI(グラフィカルユーザーインターフェース)」と「CLI(コマンドラインインターフェース)」。
名前は知っていても、何が違うのか?どっちを使えばいいのか? と疑問に思ったことはありませんか?
この記事では、初めて Linux やサーバーの操作をする人でも理解できるように、GUI と CLI の違いを例え話・図解イメージ付きでやさしく解説します。
この記事はgakuseibotのアドベントカレンダー5日目の記事になります。
GUIとは?
GUI(Graphical User Interface)は、マウスやタッチ操作で使う"見た目でわかる"操作画面 のことです。
GUIの例
-
Windows のデスクトップ
-
macOS の Finder
-
Ubuntu のデスクトップ環境(GNOME など)
-
スマホのアプリ画面
-
GUIのメリット
-
視覚的で直感的
-
説明書がなくても操作しやすい
-
初心者でも使いやすい
GUIのデメリット
-
システム資源(CPU / メモリ)を多く使う
-
自動化しづらい
-
遠隔操作向きではない(重い)
CLIとは?
CLI(Command Line Interface)は、キーボードでコマンドを入力して操作する画面 のことです。
$ ls -l
$ cd /var/www
$ sudo apt update
CLIのメリット
-
軽量で高速
-
自動化・スクリプト化が得意
-
サーバー運用や開発で強力
-
遠隔(SSH)での操作に向いている
-
CLIのデメリット
-
最初は取っつきにくい
-
コマンドを覚える必要がある
-
誤操作で大きなミスにつながることも
GUI と CLI の違いを一言でいうと?
GUI:コンビニでセルフレジを使うイメージ
画面を見てボタンを押す → 誰でも簡単。
CLI:店員さんに「◯◯をください」と伝えるイメージ
言い方(コマンド)を覚える必要があるが、正確で早い。
なぜ Linux サーバーでは GUI ではなく CLI が使われるのか?
Linux サーバー(VPS・クラウド)は、ほとんどが CLI だけで構成されています。
その理由は大きく3つあります。
① とにかく軽い(メモリ節約)
GUI を入れると 数百MB〜数GB のメモリ を消費します。
サーバーは出来るだけアプリやサービスにリソースを使いたいので、GUI は不要です。
② 安定性が上がる
GUI は複雑なプログラムの集合体なので、
フリーズ
クラッシュ
デスクトップ環境の不具合
などが起きやすいです。
サーバーは長時間動く必要があるため、安定した CLI が優先されます。
③ SSH で遠隔操作できる
サーバーは自宅にないことが多く、
遠隔から操作する = CLI が必須 になります。
GUI をリモートで動かすと重すぎるため、CLI が最適。
GUI・CLI どっちがいいの?
初心者が学ぶべきは CLI
GUI は便利ですが、Linux やサーバーの世界は CLI が基本ツール です。
CLI を覚えれば、
-
トラブル対応
-
開発
-
自動化
-
サーバー管理
すべてが一気に楽になります。
最初に覚えるべき CLI コマンド(超初心者向け)
以下だけ覚えれば基本操作ができます。
ls # ファイル一覧を見る
cd # フォルダに移動する
pwd # 今いる場所を確認する
mkdir # 新しいフォルダを作る
rm # ファイルを削除する
cp # コピー
mv # 移動・名前変更
cat # ファイルの中身を見る
sudo # 管理者として実行
apt update # パッケージ更新(Debian/Ubuntu)
CLI が苦手な人でも練習しやすいコマンド
history(過去に打ったコマンドを見る)
tab補完(途中まで打てば続きが自動補完)
↑キー(前のコマンドを呼び出し)
これを使うだけで操作効率が跳ね上がります。
まとめ
Linux を学ぶなら CLI に触れよう
もしあなたが、
-
エンジニアを目指している
-
サーバー構築に興味がある
-
インフラを学びたい
なら、CLI は絶対に避けて通れません。
最初は難しそうに見えても、慣れると GUI より快適に感じるほど強力です。
最後までお読みいただきありがとうございました。