|
via Udemy |
Go to Course: https://www.udemy.com/course/crafting-shell/
IT エンジニアとして活動していると、何かの機会に Bash や Zsh といった「シェル」にふれるはずです。「シェル」についてはよく「カーネル」を囲む図で説明されたりしますが、それ以上はよく知らないという方も多いのではないでしょうか? そもそも「カーネル」についても「OSのコア」ぐらいの簡単な説明が多く、結局何なのかよく分からないという方は少なくないと思います。さて、「シェル」で行うことといえば「コマンドの実行」ですが、そもそも「コマンドの実行」とは何なのでしょうか?他には、「何かをインストールする」というのもよく分からない、何か理解の及ばない変化がコンピュータに起こるもの、と思っている方も少なくないと思います。そこでこの講座では...「シェル」を自作しながら、Linux のしくみや OS に近い領域のプログラミングを学んでいきます。「シェルってなに?コマンドの実行ってなに?」といった疑問を解消していきます。コースで自作するシェルには、次のような機能を実装します。インタラクティブにコマンドを実行できるLinux サーバで使うことができるシェルスクリプトも実行できるリダイレクトとパイプをサポートしているこれらの機能をどのように実装するのか丁寧に説明したうえで、実際に実装して動かしてみます。■使用するプログラミング言語シェルのような OS に近い領域のプログラムの実装には、C や Go、Rust といったプログラミング言語が使われることが多いです。しかし、これらの言語よりも少ない前提知識で挑戦できるよう、このコースでは「Python」を使ってシェルを実装します。最終的に完成する自作シェルは Python で 150 行程度ですが、この小さなコードから多くのことを学ぶことができます。■このコースで学ぶこと・学ばないことシェルの自作は、大きく 2 つの知識から成り立ちます1.「Linux システムプログラミング」(OS に近い領域のプログラミングの知識)2.「インタプリタの作り方」(プログラミング言語の解析・実行の知識)このコースで学ぶのは「Linux システムプログラミング」の知識です。このコースでは「インタプリタの作り方」は扱いません。※ 実装するシェルも、あくまで学習目的の簡易的なものです