WEB開発者に必須のサーバースキルを学習するコツ#2「Linuxとコマンド」

2021年10月23日

テクノロジー

eyecatch 世の中の人が一番多く使っているOSは、Window、クリエーターや今どきのソフトウェア開発者はMacを使っていますが、サーバーOSの多くはLinuxです。 そして、そのどれも使っているユゲタです。 サーバーOSはLinux一強ですが、面白いことに、WindowもMacもサーバーOSが存在します。 WindowsServerOSは、企業の基幹システムなどで、従業員が普段使っているWindowsOSとの互換性が強いだろうという理由で、使われるケースも多く、 比較的馴染みのある人もいるかもしれませんが、Macは、OSが一昔前から大きな進化を遂げて、ServerOSの立ち位置が変わってきたので、 LinuxOSと比べるのは、少し意味が違ってきてしまいます。 そして、今では、世の中の殆どのインターネットサーバーがLinuxが使われていて、ストレートに言うと、インターネットで公開するサービスを構築する場合は、Linuxを使うのがスタンダードという事がわかります。

何故Linuxサーバーが多く使われているのか?

2019年12月に、Net Applicationsが調査した結果では、世の中で使われているサーバーの種類で、Linuxが世界シェアで86.8%もあるそうです。 逆に普通のパソコンOSでは、Windowsが他のOSと比べて同じぐらいの比率を持っていることを考えると、LinuxOSがサーバーにおいて、どれだけ一般的なのかがよくわかります。 https://news.mynavi.jp/article/20200602-1046722/ そして、2020年6月ぐらいの情報ですが、このサイトを見ると、LinuxOSの中でもディストリビューションの種類で、Ubuntuが42.3%と圧倒的シェアになっているので、 このOSを使うと、トラブル時などにおいても、情報量がググりやすいという事も言えます。 では、何故、普段多くの人が使い慣れているWindowsよりも、Linuxサーバーが使われているのかと言うと、 普段使うWindowsとサーバーOSとでは、まるで使うアプリケーションも違えば、操作する内容もまるっきり違うので、用途が表と裏ぐらい違うため、同じOSを使う意味が無いということなんですね。 では、管理する人も、操作の慣れたwindowsの方が、操作しやすいだろうと思いがちですが、そう考えるのはやはり素人考えで、 通常のパソコンOSはGUIという、キーボードとマウスとグラフィカルな見た目で操作しますが、サーバーは、そういう箇所にCPUを使わないように、コマンドラインベースで立ち上がっていることが一般的です。 なので、黒い画面に白文字の、ターミナルと呼ばれるコマンド画面だけで操作するLinuxは、Windowsの操作とはまるで違うので、慣れているかどうかなど、問題ではないんですね。 もちろん、LinuxもGUI操作のクライアント用バージョンも多く提供されて、ディストリビューション毎に独特な操作感があり、それを好んで使う玄人も多いようですが、サーバーOSで重要なのは、 アクセス負荷に対するパフォーマンスです。 出来る限りCPUやメモリを効率よく実行できることがサーバーにとっては望ましいと考えると、windowsとlinuxを使い分ける意味が分かってくると思います。 もっとわかりやすく言うと、10人しか同時アクセスできないwindowsサーバーよりも、100人同時アクセスできるlinuxサーバーの方がコスパがいいんですね。 ※この数値はわかりやすい値にしているので、実際の数値は、サーバー端末のCPUやメモリなどのスペックによって大きく変わります。

サーバーを覚えるのはコマンドを覚えるのが一番

初心者エンジニアが、サーバーを学習する時に、真っ先につまずくのが、ターミナルコマンド操作という事をたくさんの人から聞きました。 windowsしか触ったことがない人が、ターミナルコマンドを使おうとすると、その命令を覚える事がストレスになるらしいですね。 でも、これって日本人が英語を学習し始めた時と同じ感覚で、慣れてしまえば、コンピュータと会話をするような感じで、コマンドを実行できるようになります。 そして、おもしろいポイントとしては、英語を話すのと違って、コンピュータと会話ができると、常に正しい情報を、何度でも文句を言われずに返してくれる実直さに感動すら覚えます。 初心者の人が勘違いしている点として、コマンドリファレンスのようなサイトを見て、「全てを覚えないと、サーバーは使えない」と思い込んでしまう事です。 仕事でサーバーを使っている人でも、普段使うコマンドって、多くても10個ぐらいだと思います。 もちろん、たくさん覚えていれば、より便利に使えますが、必要最低限知っていればいいし、こんな事ができるという程度の知識があれば、 サーバーOSって十分扱えるという事実を知っていると、何も怖いことはありません。 ちなみに、ユゲタの普段よく使うコマンドは次のような感じです。
ssh cat ls df du grep vi cd mv cp
これらのコマンドがどういう意味を持っていて、どういう使い方ができるのかが分かると、サーバーを使うのが全く怖くなくなります。

サーバーは面白い

サーバーというのは、用途に応じてたくさんの種類があり、
インターネットWEBサーバー メール・サーバー ファイル・サーバー データベース・サーバー アプリケーション・サーバー ...
というように、なんとなく聞いたことがあるサーバーもあると思いますが、 こうしたサーバーに適したOS、アプリケーション(モジュール)が存在します。 もちろん、全てのサーバーを同じOSで利用することも可能だし、運用管理する事を考えると、むしろそうした方が効率がいいと思います。 とすると、Linuxのubuntuサーバーを立ち上げて、サーバー用途に応じて立ち上げるアプリケーションんを使い分ければいいという事なんですね。 新しいアプリケーションを使うのは、いささかしんどいかもしれませんが、スタンダードアプリとして、一般的にその用途に応じて使われているデファクトスタンダードアプリがあります。 それらを覚えておくとサーバーの安定運用にもつながるし、かなり長い期間サーバースキルとしては有効と考えられるので、 学習する価値は非常に高いと言うことをお伝えしておきます。 でも、サーバーを自在に操れている人は、このサーバーアプリケーションや新しいコマンドを覚える事を楽しんでいる事が多いということも事実です。 怖がらずに、興味本位で突き進んで学習してみましょう。

人気の投稿

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。

ブログ アーカイブ