こんにちは。下地です。
初歩的なお話ですが、今日はGUIとCLIについて記事を書いてみます。
Linuxに最初に触ったとき、真っ黒い画面で味気ないし、コマンドも覚えないといけないしで、なんかとっつきづらいなーと感じていました。
しかしずっとCLIを使い続けていると、GUIより便利だなと思う部分もあります。
目次
GUIとCLI
一般の方が触るPCにはWindowsやMacなどのOSが入っていますが、それらの画面はGUI(グラフィカルユーザインターフェース)と呼ばれるものです。
GUIでは、マウスやタッチパッドなどを使用して、画面上のメニューやアイコンをクリックして様々な操作を行います。
画面もきれいで見やすいですね。
一方、Linuxサーバなどを操作する場合はCLI(コマンドラインインターフェース)で触ることが多いです。
CLIはCUI(キャラクタユーザインターフェース)とも言います。
黒い画面にコマンドと呼ばれる文字列ををポチポチ打ち込んで操作します。
LinuxもGUI環境をインストールすればGUIで触れますが、サーバの設定を行う場合はCLIしか使っていません。
CLIを使うメリット
CLIは最初は使いづらいのですが、慣れてくるとたくさん良い点があります。
少し挙げてみましょう。
作業の効率が良い
例えば、「あるディレクトリからファイル名がaから始まるファイルのみを選択する」という操作を考えてみます。
GUIの場合は、画面のファイル一覧を見ながら、ファイルを1つ1つクリックして選択する必要があります(もしくはドラッグアンドドロップ)。
ファイルが10個程度なら問題ないですが、もし10000個あったらどうでしょうか。
一方、CLIなら「a*」と書くだけで、aから始まる全てのファイルを選択できます。
10個だろうが10000個だろうがそれだけでOKです。
# ls a*
更に、「あるディレクトリからファイル名がaから始まるファイルのみを選択して、それらの先頭10行のみを表示する」といった操作が組み合わさった処理になると、GUIだともうお手上げになります。
これもCLIなら、
# ls a* | xargs head
とコマンドを組合わせるだけでOKです。
このように、CLIは処理を組合わせて実行するのが得意です。
処理の自動化がしやすい
もし毎日1回必ず行わなければならない作業がある場合、GUIではその都度人間が画面を見ながら行う必要があります。
手順書を用意しても、結局人間が行うことには変わりありません。
これも、CLIならシェルスクリプトに作業内容を羅列して、それを実行するだけですみます。
しかも人力に比べて絶対にミスしません。
GUIは見た目が変化していく
現在のLinuxでは、GUIを使ってもいろんな操作が行えます。
しかしボタンやメニューを使って操作している裏側では、実はコマンドが動いていたり、テキストで書かれた設定ファイルを修正したりと、実はコマンドラインによって処理されています。
なので、その内部の処理であるCLIを学んだほうがより本質的です。
また、GUIはバージョンアップによって見た目が変わっていきます。
数年もたてばボタン配置やメニューの場所も変わってしまい、「ここのメニューからボタンをクリックする」といった知識は役に立たなくなってしまいます。
一方、LinuxのCLIは10年以上も前に書かれた書籍が、今でもそのまま役に立つことが多々あります。
まとめ
CLIは最初は複雑でとっつきづらく感じますが、よく知るにつれてその便利さや面白さが分かってきます。
私もまだまだ知らないことが多いですが、CLIの世界をもっと探検していこうと思います。
今回もお読み頂きありがとうございました。