nikkie-ftnextの日記

イベントレポートや読書メモを発信

「『シェル』ってなに?から改めて学ぶLinuxの基本」をアーカイブ視聴。つながる知識!シェル、お前、そんなことをやってくれていたのか #StudyCo

はじめに

システムコール、インスペクト・エンタイア・コマンドリスト、nikkieです。

アーカイブで視聴してすっごくよかった勉強会の共有です。

目次

2023/08/10 「シェル」ってなに?から改めて学ぶLinuxの基本

たびたび参加しているStudyCoさんの勉強会の最新回です。

connpass通知ですごく興味を惹かれたのですが申し込みを忘れており、当日実況ツイートを見かけて「今日だったか!」と思い出す始末。

この感想から「これは見たい!」と思い、スキマ時間を使って視聴を進めました(コミケの移動時間とか)

アーカイブ(大感謝)

資料類

勉強会でカバーされた事項

  • 「シェル」ってなに?(タイトル回収
  • コマンドを実行するとは
  • 標準入力・標準出力

そもそもシェルとは

人間がコンピュータをインタラクティブに操作するためのインタフェースが「シェル」です

なるほど〜〜〜〜!
シェルがあるから、これまでずっとインタラクティブに操作できていたのか!
動画ではCLIだけでなく、GUIインタラクティブに操作するのでシェルと言えると言及がありました。

シェルについてだけ学ぶ機会と思いきや、Linuxの基本としてカーネルとは何かも知れました。
シェルがカーネルに委譲することもある(※詳しくはコマンド実行を参照)ので、2つとも押さえる必要があるのですね

シェルがやっていること!

アーカイブは38:35くらいから。
ここまで聞いているのを前提に、一番まとまっていると感じたポイントです。
pyminishの実装を見ながらシェルがやっていることを説明する部分です。

感想:断片的な自分の知識が繋がる機会ですっごくよかった!

今回の勉強会の内容は私にはドンピシャでした。
シェルはいつか理解を深められたらと思っていて、環境変数PATHのことや、インストールした実体のファイルがマシン内に置かれるといったことは知っていました。
勉強会ではシェルがどんなことをやっているかの解説を通じて、自分の断片的な知識がつながり、これがとてもよかったです。
勉強会で知ったのは「外部コマンド」「内部コマンド」で、環境変数PATHのまわりを一回り深く理解できたと思います。

サンプルコードpyminishもシェルの仕組みに実直な実装でした。
70行に満たないコードでシェルが実装できるというのは驚きですね。
これは写経してみたいところです。

システムコール、これは理解がまだふんわりですが、何度も聞くうちにSAOアリシゼーション編を思い出しましたね。
(脱線)いや〜、プロセス(=プログラム)が(今日の勉強会参加者のように)システムコールという仕組みを認識して、自由に使い出す(アドミニストレータ様)って、SFとして怖すぎ〜

終わりに

StudyCoさんの勉強会、「シェル」ってなに?から改めて学ぶLinuxの基本がとってもよかったです!
シェル、お前、いつもそんなことをやってくれていたのか...

  • 内部コマンド
  • 外部コマンド

プログラミングを始める際に触らざるをえないのがシェル(黒い画面)。
入門直後は覚えることがとにかく多いので、シェルは魔法(ブラックボックス)でも構わないと思います。

私の経験から、エンジニアリングに使っている道具は操作を一通り押さえたら、裏の仕組みを少しでも知ることで理解が深まったり新たな気づきを得たりします。
なのでシェルというブラックボックスを開けて中を覗いてみたくなった人は、是非この勉強会を見てみてください。
シェルという道具の仕組みを知る上で、これ以上ないアーカイブではないかと私は思います(難易度が私にぴったりで、本当によかったです!)