なぜWindowsにLinux実行環境が必要なのか
Windows Subsystem for Linux(WSLと略)をご存じでしょうか。ごく簡単に言うと、WindowsアプリケーションのようにLinux OSをインストールし、動作させることができる環境です。つまり、Windows PCでLinuxコマンドが使えるようになります(まだ発展途上で、機能には一部制約があります) 。2017年10月にリリースされた「Windows 10 Fall Creators Update」を導入した64bitのWindows 10であれば、Microsoft Storeからインストールできます(図1 ) 。
図1 Microsoft Storeで提供されているLinux OS
これを歓迎したのはWindowsを使っているソフトウェアエンジニアやオペレーションエンジニアです。というのも、いまや多くのアプリケーション基盤がクライアントサーバシステムで構築されており、そのサーバOSがUNIXもしくはLinuxであることが多いためです。ソフトウェアエンジニアやオペレーションエンジニアにとって、UNIX/Linuxサーバの理解は不可欠になってきているのが現状です。
新たにOSを学ぼう! でも時間が……
UNIX/Linuxのスキルが求められる傾向が強くなった背景には、Amazon Web Services、Google Cloud Platformといったクラウドサービスの利用拡大もあると考えられます。Windowsサーバが主力のMicrosoft Azureでさえ、Azure上で稼働しているLinux OSの割合を大きくアピールするほどです。クラウドサービスには専用のWeb UIも用意されていますが、コマンドラインインターフェース(CLI)が使えればより柔軟な運用が行えます。
新たにUNIX/Linuxのことを学ぶ必要がありますが、幸いなことにたくさんの良書が出ているので、好きなだけ学べます。ですが、UNIXシステムを理解し、適切にコマンドを使えるまでになるには、相応の時間がかかるでしょう。それは必要な時間ですが、一方で仕事は待ってはくれず、“ 何を” “ どれくらい” 知っておけばいいのか、当面の指針がほしいところではないでしょうか。
手を動かし、自分で調べて、解決する
こういった悩みを持つ方にこそ読んでいただきたいのが本書『UNIX独習への近道 』です。開発業務に携わるために必要なUnix系OSの前知識を、厳選してまとめました。著者が自社の社内研修で行っているワークショップをベースにしているため、実践に結び付けられるように考えてあります。
たとえば、データ分析の前処理や自動化への応用につながるテキストデータの文字列抽出や整形処理では、小さなコマンド単体やそれらの組み合わせ、sed/awkといった強力な文字列処理コマンドを使う方法など、目的を達成するために複数のアプローチがあることを知ることができます。さらにシェルスクリプトによって、パスワード管理にも使える文字列の暗号化/復号ツールや、簡単なゲームも作ります。Web開発やクラウド利用に欠かせないリモート接続やセキュアなssh接続といったネットワークコマンドも重要です。本の内容を試しながらコマンドの挙動を体感してください。そして書かれている以外のことにもチャレンジしてみて、失敗した理由を自分で調べられるようになれば、あとはたくさん経験するだけです。
実践のみならず、OSの内部のしくみやコマンド間の連携、プロトコルや慣習、名称の歴史的な背景なども可能な限り取り上げています。これらさまざまな知識が組み合わさることで、「 わからないことが出てきたときに、自分で調べて解決できる」ようになっていくはずです。
冒頭からWindowsユーザの視点で語ってきましたが、UNIX/Linux OSをはじめて使うという方や、macOSでCLIを使いこなそうと考えている方が最初に読む本としてもお勧めです。OSを問わず経験できるようになったいまこそ、本書で学びはじめてみませんか?