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

「ターミナル」「シェル」「Bash」「PowerShell」「Zsh」……プログラミングを始めると、この手の用語が大量に出てきて混乱します。「全部覚えないとダメ?」と不安になりますが、結論から言うとBashだけ覚えれば十分です。この記事では、各シェルの違いと関係性を整理し、「結局何を使えばいいのか」をスッキリ解説します。
目次
ターミナルとシェルの違い
まず最初に混同しやすいこの2つを整理します。
- ターミナル = 「窓」(画面、器)
- シェル = 「言語」(中で動くプログラム)
イメージとしては、ターミナルが「テレビ」で、シェルが「放送局」です。同じテレビ(ターミナル)でも、放送局(シェル)を切り替えれば違う番組(コマンド体系)が流れます。
| ターミナル(窓) | シェル(言語) |
|---|---|
| Windows Terminal | PowerShell / Bash / Cmdを選べる |
| Macのターミナル.app | Zsh(ほぼBashと同じ) |
| VSCodeのターミナル | 設定で好きなシェルを選べる |
シェルの種類と関係図
| シェル | 系統 | 主な環境 | 重要度 |
|---|---|---|---|
| Bash | Unix/Linux系 | Linux、Mac、Git Bash | ⭐⭐⭐ 必須 |
| Zsh | Unix/Linux系 | Mac(現在の標準) | ⭐⭐ Bashとほぼ同じ |
| PowerShell | Microsoft独自 | 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のターミナルを変更
Ctrl+Shift+Pでコマンドパレットを開く- 「Terminal: Select Default Profile」と入力
- Git Bash を選択
Windows Terminalの既定シェルを変更
- Windows Terminalを開く
- タイトルバーの ∨ → 「設定」
- 左メニュー「新しいプロファイルを追加」→「新しい空のプロファイル」
- 名前「Git Bash」、コマンドライン
C:\Program Files\Git\bin\bash.exe --login -i - 保存後、「スタートアップ」→「既定のプロファイル」を Git Bash に変更
⚠️ Git Bashがプロファイル一覧に表示されない場合は、上記の手順で手動追加してください。
Web開発にMacが向いている理由
| 観点 | Mac | Windows |
|---|---|---|
| ターミナル | 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まで、すべて同じコマンドで対応できます。まずはcd、ls、grep、catあたりの基本コマンドから覚えていきましょう。

2009年那覇でホームレスになるも沖縄の方々に助けられ、2010年からNPOで地域密着で困窮支援。2016-2024年まで株式会社FM那覇代表取締役。沖縄の支援団体情報ポータルサイト「カケハシオキナワ」設立運営。防災士。エンジニア。


