blog

作成日 : 2024/05/07
更新日 : 2024/06/24

Shellの種類① ~そもそもShellとは~

こんにちは!

2024年4月に業界未経験でUlvaniacに転職したPinoです。

前職はまちづくり系のNPO職員で、縁があって全くの異業種に転職!

業界未経験が故に日々の業務はわからないことだらけ…

ということで、このブログに私が日々調べ学んだことを書き溜めていこうと思います。

※何分業界未経験でわからないことしかないもので、自分が調べた範囲の知識になります。正確性には可能な限り配慮していますがブログの内容に誤謬があるかもしれません。どうかお目こぼしをお願いします。

Shellの種類

私は現職に就く1年ほど前からある学校でプログラミングを学んでいました。

そこではzshやbashでターミナルを操っていたのですが、会社から貸与されたPCの標準搭載のShellはPowerShell。

touch, grep, openといった、bashでよく使っていたコマンドが標準搭載されていなかったり、lsやrmのオプションも様子が違う。。。

ということでbashを使えるようにしようとWSLを有効化した後Ubuntuをインストールし、使い慣れたbashで遊んでいたのですが、ここで疑問が…

そもそもbashやzshとPowershellは何が違うのでしょうか。

調べてみると、PowerShellは厳密には“Shell”ではないようです。

Shellの概念

Shellとは、ユーザーとオペレーティングシステム(OS)の間でコマンドを入力し、実行するためのインターフェースのことを指します。ユーザーはShellを通じて、ファイル操作、プログラムの実行、システム管理などの作業を行うことができます。

Shellには大きく分けて2種類あります。

  1. コマンドラインシェル(CLI: Command Line Interface):

    テキストベースのインターフェースを提供します。
    ユーザーはキーボードを使ってコマンドを入力し、その結果をテキストで表示します。

    例:Bash、Zsh、Fishなど。

  2. グラフィカルシェル(GUI: Graphical User Interface):

    グラフィカルなウィンドウ、アイコン、メニューなどを使って操作ができるインターフェースを提供します。
    マウスやタッチパネルなどの入力デバイスを用いて直感的に操作が可能です。

    例:Windowsのエクスプローラー、macOSのFinder、LinuxのGNOMEやKDEなど。

私が前述してきたShellのzshやbashはコマンドラインシェルに属するものです。

ではPowerShellもコマンドラインシェルかというと、コマンドラインシェルではありますが、より高度な機能を持っているとのこと…

次回「Shellの種類② ~OSとShell~」に続きます。