サーバエンジニアとしては、Linuxを扱うことが当たり前になってきましたが、改めてLinuxとは何?というのを考えていきましょう。
Linuxとは?
みなさんもパソコンを使っていると思いますが、大半の人はWindowsかMacのPCを使っていると思います。パソコンを起動するとディスプレイに表示される画面が動いているのが、Windows、MacOSというOS(オペレーティングシステム)と呼ばれるソフトウェアです。
Linuxは、そのOSの仲間です。WindowsやMacOSと同じようにパソコン上で動作します。Linuxの場合は、パソコン上で動かすよりワークステーションやサーバといった、企業向けのコンピュータでも稼働します。Linuxの場合は、こういった企業向けのワークステーションやサーバで動作させることがほとんどでしょう。そのため、一般家庭で見かけることはほとんどありません。
NO | OS | ハードウェア | 用途 |
1 | Linux | ノートPC、デスクトップPC、ワークステーション、サーバ | 主に企業向けのワークステーション、サーバで利用 その他、組み込みOSとしても多く利用されている |
2 | Windows10、11 | ノートPC、デスクトップPC | 個人向けパソコン、業務用PC |
3 | MacOS | Apple製のPC | 個人向けパソコン、業務用PC |
Linuxの使い方
Windows10やWindows11は電源を入れたら、パソコンが起動してグラフィカルな画面がディスプレイに映ります。ユーザはサインインした後、主にマウスを操作してアプリケーションを操作します。ユーザインターフェースがグラフィカルなのでこれをGUI(グラフィカルユーザインターフェース)と言います。
一方、LinuxはCUIというインターフェースを使うことが多いです。CUI=キャラクターユーザインターフェースです。「Character」とは「文字」という意味で使われています。「Letter」より広義の意味合いで使われています。
Windowsでもたまに「コマンドプロンプト」を使う方もいると思いますが、「コマンドプロンプト」もCUIの1つです。Linuxでは基本的にこの「CUI」を使って、コンピュータを操作します。
ここが、一般のユーザが利用しているWindowsとの大きな違いです。一般のユーザにコマンドを覚えて操作するというのは難しいでしょう。
なぜCUIなのか?
Linuxにもデスクトップ環境をインストールすればGUIで操作はできます。ただ、デスクトップ画面が表示されても、結局ターミナルアプリケーションを起動してCUIで操作することが多いでしょう。まれにブラウザを起動して利用することもありますが、基本的にCUIで操作します。
なぜ、CUIでなければならないのでしょうか?
「マウスよりキーボードで操作するほうが好きだから」、「キーボードのほうが手を移動しなくていいので操作が速い」・・・などいろいろ理由はありますが、一番大きなメリットは以下だと考えています。
「自動化しやすい」
Windowsのようにマウスで操作するGUIは非常に自動化がしずらいです。最近ではRPAとか普及してきましたので、ある程度自動化ができるようにはなってきましたが、マウス操作を自動化するのは非常に難しいです。また、画面レイアウトが少し変更になっただけで動かなくなるケースが多いので、メンテナンスに時間がかかるという課題もあります。
CUIの場合は、操作自体がコマンド1行に対して、命令が1つになっていますので、自動化が簡単です。たとえば、10個の命令をバッチ処理で順番に自動で実行したい場合は以下のように記述するだけで実行できます。
- コマンド1(命令1)
- コマンド2(命令2)
- コマンド3(命令3)
- ・・・
実際は上記のコマンドの箇条書きを「シェルスクリプト」で実行できるように、テキストファイルで記述して、そのファイルを実行するだけで上記の一連の命令を一回で自動化することができます。
シェルスクリプトはプログラムで必要な変数、条件式(if文)、ループ処理など基本的なことは一通りできますので、コマンドの実行をプログラムのように実行することもできます。
ここがGUIとCUIの大きな違いです。
Windowsにもコマンドプロンプトがありますので、もちろんバッチファイルにすれば命令の自動化も可能です。最近のWindowsは「パワーシェル」といったコマンドプロンプトより強力なCUI機能を持っていますので、Windowsの以前と違ってかなり自動化できるようになってきました。ただ、長いCUIの歴史を持っているLinuxよりは圧倒的に使い勝手に難があります。よほどWindowsが好きか、Linuxが嫌いという人でなければ、CUIを使いたいときはLinuxのほうが選択肢になります。
コメント