【Bashだけ覚えればOK】Web開発者が知っておくべきターミナル・シェルの基礎知識

※はじめに この記事は、ターミナルの種類の多さに圧倒され「結局どれを使えばいいの?」と迷走していた筆者が、AIと壁打ちを重ねた末に「Bash一択でいい」という結論に至った経緯をまとめたものです。 AIとの対話をベースに構成しているため、熟練のエンジニアから見ると「それは違うだろ」という箇所があるかもしれません。あくまで一人の初学者の解決策としてお楽しみください。Claude Code最高!

「ターミナル」「シェル」「Bash」「PowerShell」「Zsh」……プログラミングを始めると、この手の用語が大量に出てきて混乱します。「全部覚えないとダメ?」と不安になりますが、結論から言うとBashだけ覚えれば十分です。この記事では、各シェルの違いと関係性を整理し、「結局何を使えばいいのか」をスッキリ解説します。

ターミナルとシェルの違い

まず最初に混同しやすいこの2つを整理します。

  • ターミナル = 「窓」(画面、器)
  • シェル = 「言語」(中で動くプログラム)

イメージとしては、ターミナルが「テレビ」で、シェルが「放送局」です。同じテレビ(ターミナル)でも、放送局(シェル)を切り替えれば違う番組(コマンド体系)が流れます。

ターミナル(窓)シェル(言語)
Windows TerminalPowerShell / Bash / Cmdを選べる
Macのターミナル.appZsh(ほぼBashと同じ)
VSCodeのターミナル設定で好きなシェルを選べる

シェルの種類と関係図

シェル系統主な環境重要度
BashUnix/Linux系Linux、Mac、Git Bash⭐⭐⭐ 必須
ZshUnix/Linux系Mac(現在の標準)⭐⭐ Bashとほぼ同じ
PowerShellMicrosoft独自Windows⭐ ほぼ不要
コマンドプロンプトMicrosoft独自Windows(レガシー)☆ 不要
Bash(共通言語)
├─ Linux   → 最初から入っている
├─ Mac     → Zshが標準(Bashとほぼ同じ)
└─ Windows → 入っていない → Git Bashで使えるようにする

なぜBashが世界標準なのか

理由はシンプルです。世界中のサーバーの大半がLinuxで動いているからです。AWSのEC2、Google Cloud、Dockerコンテナ、GitHub ActionsのCI/CD……すべてBashが前提です。つまり、Bashを覚えればローカル開発から本番サーバーまで同じコマンドが使えるということです。

OS別のシェル事情

Linux → Bashが標準

Linuxは最初からBashが入っています。AWSのEC2にSSHで接続したときに使っているのがBashです。

Mac → Zsh(Bashとほぼ同じ)

macOS Catalina(2019年)からZshに変わりましたが、日常的なコマンドは全く同じです。Git Bashを別途インストールする必要はありません。

Windows → 独自路線(Git Bashで解決)

Windowsの標準のPowerShellとコマンドプロンプトは、Bashとは全く別のコマンド体系です。

# Bashでファイルを検索
grep -r "エラー" ./logs/

# PowerShellで同じことをすると…
Select-String -Path ./logs/* -Pattern "エラー" -Recurse

💡 WindowsでWeb開発をするなら、PowerShellではなくGit Bashを使いましょう。サーバー(Linux)と同じコマンドが使えます。

PowerShellは覚えなくていいのか?

Web開発者なら、覚えなくて大丈夫です。ブラウザに例えるとこうです。

  • PowerShell → Internet Explorer(Microsoftが推していたが業界では使われない)
  • Bash → Chrome(みんなが実際に使っている)

ハマりポイント:コマンドが通らない

# 記事に書いてあるコマンド(Bash前提)
tasklist | grep java

# PowerShellで打つと…
# grep: The term 'grep' is not recognized...
# → エラー!grepが使えない

🚫 これは実際によくあるハマりポイントです。PowerShellでは記事通りにいかないことが多々あります。

WindowsでGit Bashを使う設定方法

VSCodeのターミナルを変更

  1. Ctrl+Shift+P でコマンドパレットを開く
  2. 「Terminal: Select Default Profile」と入力
  3. Git Bash を選択

Windows Terminalの既定シェルを変更

  1. Windows Terminalを開く
  2. タイトルバーの ∨ → 「設定」
  3. 左メニュー「新しいプロファイルを追加」→「新しい空のプロファイル」
  4. 名前「Git Bash」、コマンドラインC:\Program Files\Git\bin\bash.exe --login -i
  5. 保存後、「スタートアップ」→「既定のプロファイル」を Git Bash に変更

⚠️ Git Bashがプロファイル一覧に表示されない場合は、上記の手順で手動追加してください。

Web開発にMacが向いている理由

観点MacWindows
ターミナルBash/Zshが標準Git Bashを別途インストール
サーバーとの互換性同じUnix系で高い環境差異が起きやすい
ツールインストールHomebrewで簡単個別インストーラーが多い
日本語表示問題なしPowerShellで文字化けあり
技術記事の対応そのまま使える読み替えが必要な場合あり

💡 「Windowsで開発できない」というわけではありません。Git Bashを入れれば十分開発できます。Macのほうが「余計な設定なしにスムーズに始められる」ということです。

まとめ:結局何を覚えればいいのか

  • 覚えるべきシェルはBashだけ。PowerShellやコマンドプロンプトは覚えなくてOK
  • Macユーザー → そのままターミナルを使えばOK(Zsh ≈ Bash)
  • Windowsユーザー → Git Bashをインストールして既定シェルに設定
  • 「シェル使える?」と聞かれたら、それは「Bashでターミナル操作できる?」という意味

Bashを覚えれば、ローカル開発・サーバー運用・CI/CD・Dockerまで、すべて同じコマンドで対応できます。まずはcdlsgrepcatあたりの基本コマンドから覚えていきましょう。

良かったらフォローお願いします

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です