【しぇる】

シェル とは?

最終更新:
💡 OSとユーザーをつなぐ「翻訳者」

シェルは、入力したコマンドやスクリプトを解釈して処理を実行するプログラムです。ターミナルとの違い、PowerShell・Bash・zshなどの種類、パイプと自動化を初心者向けに説明します。

📌 このページのポイント
画面と、命令を読む役割は別ターミナル:入力と結果を表示シェル:コマンドを解釈PowerShell・Bash・zsh など組込み処理 / 外部プログラムパイプ「|」で、処理の結果をつなぐ一覧を取得 → 条件で選ぶ → 並べるPowerShellではオブジェクトも受け渡す✓ スクリプトは、対応するシェルで実行
ターミナルは画面の役割、シェルは命令を解釈する役割です。すべてのアプリがシェル経由で動くわけではありません。
ひよこ ひよこ
黒いコマンド画面が、シェルなの?
ペンギン先生 ペンギン先生
その画面を表示するターミナルと、入力を解釈するシェルは役割が違うよ。Windows Terminalの中でPowerShellやコマンドプロンプトなどを動かせる。たとえばファイル一覧の命令を入力すると、シェルが解釈して処理し、結果が画面に表示されるんだ。
ひよこ ひよこ
コマンドは、全部OSに翻訳されるの?
ペンギン先生 ペンギン先生
「翻訳者」は橋渡しのたとえだよ。シェル自身の組込み処理を使う場合も、外部のプログラムを起動する場合もある。すべてのアプリがシェルを通るわけでもない。図ではターミナル、シェル、実行する処理を分けているよ。
ひよこ ひよこ
Bashとzshは、そのまま置き換えられる?
ペンギン先生 ペンギン先生
共通する書き方はあるけれど、別の言語で、完全な互換ではないよ。Bash向けのスクリプトはBashで動かすのが基本。fishやPowerShellも文法が違う。見た目が似ていても、実行するシェルと命令の対応を確認しよう。
ひよこ ひよこ
パイプは何をつなぐの?
ペンギン先生 ペンギン先生
「|」で前のコマンドの結果を次の処理へ渡すよ。文字列を受け渡すシェルが多い一方、PowerShellのコマンドレットは.NETオブジェクトを渡す。たとえばファイル一覧から大きいファイルを選び、サイズ順に並べる、と小さな処理を組み合わせられるね。
ひよこ ひよこ
毎日同じ時刻に動かすこともできる?
ペンギン先生 ペンギン先生
スクリプトに手順をまとめて、タスクスケジューラやcronなどのスケジュール機能から起動できるよ。シェルだけで毎日の起動時刻が決まるわけではない。少ない対象で動作と失敗時の処理を確認し、使うシェルに合わせて作ろう。行数だけで別の言語へ書き直す必要はないんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「シェル」って出てきたら「コマンドを読んで処理を実行するプログラム」と思えばだいたいOK!
📖 おまけ:英語の意味
「Shell」 = 殻
💬 OS(カーネル=核)を包む「殻(Shell)」として、ユーザーとの橋渡しをするよ

参考資料

← 用語集にもどる