All Articles

Udemy で「自作シェルで学ぶLinuxシステムプログラミング」をリリースしました

Udemy で「自作シェルで学ぶLinuxシステムプログラミング―Pythonで150行の「シェル」を実装してLinuxのしくみを学ぼう」というコースをリリースしました。

どんなコースなのか、この記事で少し紹介させていただきます。

※ 著者が出した Udemy 講座の一覧は こちら です。

コース概要

IT エンジニアとして活動していると、何かの機会に Bash や Zsh といった「シェル」にふれるはずです。

「シェル」についてはよく「カーネル」を囲む図で説明されたりしますが、それ以上はよく知らないという方も多いのではないでしょうか? そもそも「カーネル」についても「OSのコア」ぐらいの簡単な説明が多く、結局何なのかよく分からないという方は少なくないと思います。

さて、「シェル」で行うことといえば「コマンドの実行」ですが、そもそも「コマンドの実行」とは何なのでしょうか? 他には、「何かをインストールする」というのもよく分からない、何か理解の及ばない変化がコンピュータに起こるもの、と思っている方も少なくないと思います。

そこでこの講座では… 「シェル」を自作しながら、Linux のしくみや OS に近い領域のプログラミングを学んでいきます。 「シェルってなに?コマンドの実行ってなに?」といった疑問を解消していきます。

このコースで学ぶこと・学ばないこと

シェルの自作は、大きく 2 つの知識から成り立ちます。

1.「Linux システムプログラミング」(OS に近い領域のプログラミングの知識) 2.「インタプリタの作り方」(プログラミング言語の解析・実行の知識)

このコースで学ぶのは「Linux システムプログラミング」の知識です。 このコースでは「インタプリタの作り方」は扱いません。

※ 実装するシェルも、あくまで学習目的の簡易的なものです

主な対象者

  • Linux に入門して基本的なコマンドを身につけたが、もっと詳しくしくみを理解したい方
  • Linux における「シェル」や「コマンドの実行」「標準入出力」などのしくみを、シェルの実装のレベルで知りたい方
  • OS に近い領域のプログラミングに興味がある方
  • プログラムをすらすら実装できるようになってきて、少し発展的な題材の実装に挑戦してみたい方

このコースの特徴

ここから、このコースの特徴を紹介します。

Python で自作シェルを実装

シェルのような OS に近い領域のプログラムの実装には、C や Go、Rust といったプログラミング言語が使われることが多いです。 しかし、これらの言語よりも少ない前提知識で挑戦できるよう、このコースでは「Python」を使ってシェルを実装します。

「Python でシェルを自作できるの?」という疑問を持つかもしれませんが、Linux の動作を踏まえると、Python でも実装可能なのです。 なぜ Python でもシェルを実装可能なのか、という動作のしくみについても解説していきます。

たった 150 行のコード・3 時間の講座で解説

最終的に完成する自作シェルは、Python で 150 行程度というとても小さなコードです。

また、講座全体としても 3 時間ほどで、コンパクトに学習できるようになっています。

この小さなコード、短時間の講座で、Linux のしくみや OS に近い領域のプログラミングについて、多くのことを学んでいきます。

おわりに

「シェル」の自作に興味を持つ方は多いと思いますが、私が調べた限り、少なくとも日本語では、しっかりまとまった解説が見つかりませんでした。

簡易的なシェルの自作は実はとても簡単で、プログラムの動作を学ぶのにもぴったりの題材です。 ぜひ受講してみてください!

最後に、著者が出した Udemy 講座の一覧(割引クーポン付き)は、以下のページにまとまっています。

https://www.nextskill.co.jp/courses

ご興味ある方はこちらからアクセスしてみてください。