あなたのターミナル、こんなふうに感じたことはありませんか?
- コマンド入力が面倒
- 補完機能がもっと賢ければいいのに…
- 自分好みにカスタマイズしたい!
そんなあなたにおすすめなのが、zsh(ジーシェル)です。
macOSではデフォルトシェルとして採用されるほど、使い勝手の良さと拡張性に優れたシェル(コマンド実行環境)です。
この記事では、zshの基本・特徴・bashとの違い・導入方法・便利な使い方まで、初心者にもわかりやすく解説します。
zshとは?【シェルの一種】

シェルって何?
まず「シェル」について説明します。
シェルとは、ユーザーがOSにコマンドを入力して操作するためのインターフェースのことです。
身近な例で考えてみよう:
- レストランの注文を想像してください
- あなた(ユーザー)が「ハンバーガーをください」と言う
- 店員さん(シェル)がキッチン(OS)に伝える
- キッチンが料理を作って、店員さんが持ってくる
シェルは、この「店員さん」のような役割をしています。
zshとは?
zsh(Z Shell)とは、UNIX/Linux系OSで使われる「シェル」の一種です。zshは、従来使われていたbash
(Bourne Again Shell)をベースにしつつ、以下のような強力な機能を追加しています。
zshの主な特徴
特徴 | 説明 | 具体例 |
---|---|---|
高度な補完 | コマンドやファイル名の予測入力 | cd Doc[TAB] → cd Documents/ |
履歴管理が賢い | 過去のコマンドを簡単に検索 | 文字を入力するだけで候補表示 |
テーマが豊富 | 見た目を自由にカスタマイズ | カラフルで見やすいプロンプト |
プラグイン対応 | 機能を簡単に追加できる | git、docker、AWSなど |
カスタマイズ性が高い | 自分好みに細かく設定可能 | エイリアス、関数、キーバインド |
実際の画面例
従来のbash:
user@computer:~$
zsh(oh-my-zsh使用):
➜ ~ git:(main) ✗
➜
: おしゃれなプロンプトgit:(main)
: 現在のgitブランチを表示✗
: 変更されたファイルがあることを表示
zshとbashの違いって?
基本的な比較
見た目は似ていても、zshはbashよりも多機能でスマートです。
機能 | bash | zsh(+ oh-my-zsh) |
---|---|---|
自動補完 | △ 基本的なもののみ | ◎ 候補が視覚的に表示 |
カスタマイズ性 | △ 手間が多い | ◎ 設定ファイルが充実 |
プラグイン対応 | × ほぼなし | ◎ git、dockerなど豊富 |
テーマの切り替え | × 基本機能なし | ◎ 見た目も自由自在 |
履歴検索 | ○ 基本的な検索 | ◎ 文字検索で高速検索 |
エラー修正 | △ 基本的な提案 | ◎ 賢い修正提案 |
具体的な違いの例
1. 自動補完の違い
bash:
$ cd Doc[TAB]
Documents/ # 1つの候補のみ表示
zsh:
$ cd Doc[TAB]
Documents/ Downloads/ # 複数候補を一覧表示
-- directories -- # 種類も表示
2. gitとの連携
bash:
user@computer:~/project$ # ブランチ情報なし
zsh(oh-my-zsh):
➜ project git:(main) ✗ # ブランチ名と状態を表示
3. コマンド修正提案
bash:
$ gti status
bash: gti: command not found
zsh:
$ gti status
zsh: correct 'gti' to 'git' [nyae]? y # 修正を提案
なぜzshが人気?
特にmacOS Catalina(10.15)以降では、zshがデフォルトシェルに変更され、標準として認知が広がっています。
人気の理由:
- 学習コストが低い:bashからの移行が簡単
- 即効性がある:使い始めてすぐに便利さを実感
- コミュニティが活発:プラグインやテーマが豊富
- 企業も採用:多くの開発者が使用している
zshのインストールと切り替え方法

現在のシェルの確認
まず、今使っているシェルを確認しましょう:
echo $SHELL
結果の例:
/bin/bash
→ bashを使用中/bin/zsh
→ zshを使用中
zshがインストールされているか確認
zsh --version
正常な場合:
zsh 5.8 (x86_64-apple-darwin20.0)
インストールされていない場合:
zsh: command not found
zshのインストール
macOSの場合
macOS Catalina(10.15)以降:
# 既にインストール済みの場合が多い
zsh --version
古いmacOSまたは最新版が欲しい場合:
# Homebrewを使用
brew install zsh
Linuxの場合
Ubuntu/Debian系:
sudo apt update
sudo apt install zsh
Fedora/CentOS系:
sudo dnf install zsh
Arch Linux:
sudo pacman -S zsh
zshをデフォルトシェルに設定
# 使用可能なシェルを確認
cat /etc/shells
# zshをデフォルトに設定
chsh -s $(which zsh)
重要: 設定後はターミナルを再起動するか、新しいタブを開いてください。
設定の確認
echo $SHELL
# /bin/zsh または /usr/bin/zsh と表示されればOK
oh-my-zshでzshをもっと快適に!
oh-my-zshとは?
oh-my-zshは、zshを爆速・高機能に変える拡張フレームワークです。
身近な例:
- スマートフォン(zsh)に便利なアプリ(oh-my-zsh)をインストールする
- 基本機能だけでも使えるが、アプリがあると格段に便利になる
インストール方法
方法1:curl使用(推奨)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
方法2:wget使用
sh -c "$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
インストール後の変化
インストール前:
user@computer:~$
インストール後:
➜ ~
gitリポジトリ内では:
➜ my-project git:(main) ✗
oh-my-zshの主要機能
1. テーマの変更
# ~/.zshrcファイルを編集
nano ~/.zshrc
# テーマを変更(例:robbyrussellからagnosterに)
ZSH_THEME="agnoster"
# 設定を反映
source ~/.zshrc
人気のテーマ:
robbyrussell
(デフォルト):シンプルagnoster
:カラフルで情報豊富powerlevel10k
:高機能で美しい
2. プラグインの追加
# ~/.zshrcファイルを編集
nano ~/.zshrc
# プラグインを追加
plugins=(
git
docker
zsh-autosuggestions
zsh-syntax-highlighting
)
# 設定を反映
source ~/.zshrc
3. よく使うプラグイン
プラグイン | 機能 | 例 |
---|---|---|
git | gitコマンドのエイリアス | gst = git status |
docker | dockerコマンドの補完 | コンテナ名の自動補完 |
zsh-autosuggestions | コマンド候補の表示 | グレー文字で候補表示 |
zsh-syntax-highlighting | コマンドの色分け | 正しいコマンドは緑色 |
zshで使える便利な機能まとめ

1. 強力な自動補完
ファイル・ディレクトリ補完
# タブを押すと候補が表示される
$ cd Doc[TAB]
Documents/ Downloads/
-- directories --
# さらにタブを押すと選択可能
$ cd Do[TAB][TAB]
Documents/ Downloads/
コマンド引数の補完
# gitコマンドの引数も補完される
$ git [TAB]
add -- add file contents to the index
branch -- list, create, or delete branches
commit -- record changes to the repository
...
2. 賢い履歴機能
履歴検索(Ctrl + R)
# Ctrl + Rを押してから文字を入力
(reverse-i-search)`doc`: cd Documents/
履歴の共有
# 複数のターミナル間で履歴を共有
setopt SHARE_HISTORY
3. エイリアスの活用
よく使うエイリアス
# ~/.zshrcに追加
alias ll='ls -lAh'
alias la='ls -la'
alias gs='git status'
alias gc='git commit'
alias gp='git push'
alias ..='cd ..'
alias ...='cd ../..'
# 設定を反映
source ~/.zshrc
使用例
# 長いコマンドを短縮
$ ll
# ↓ これと同じ
$ ls -lAh
4. 高速ディレクトリ移動
zプラグインの使用
# プラグインを追加(~/.zshrcに)
plugins=(... z)
# 使用例:一度アクセスしたディレクトリにジャンプ
$ z project
# /Users/username/development/my-project に移動
便利なディレクトリ移動
# 複数の..を簡単に
alias ...='cd ../..'
alias ....='cd ../../..'
# 前のディレクトリに戻る
$ cd -
# ディレクトリスタックの活用
$ pushd /path/to/directory # ディレクトリを記憶
$ popd # 記憶したディレクトリに戻る
5. gitとの連携
ブランチ情報の表示
# gitリポジトリ内でプロンプトにブランチ情報表示
➜ my-project git:(main) ✗ # ✗は変更あり
➜ my-project git:(main) ✓ # ✓は変更なし
gitエイリアス(oh-my-zsh gitプラグイン)
エイリアス | コマンド | 説明 |
---|---|---|
gst | git status | 状態確認 |
ga | git add | ファイル追加 |
gc | git commit | コミット |
gp | git push | プッシュ |
gl | git pull | プル |
gco | git checkout | ブランチ切り替え |
6. 便利なキーバインド
キー | 機能 |
---|---|
Ctrl + A | 行の先頭に移動 |
Ctrl + E | 行の末尾に移動 |
Ctrl + U | カーソルから行頭まで削除 |
Ctrl + K | カーソルから行末まで削除 |
Ctrl + W | 前の単語を削除 |
Ctrl + L | 画面をクリア |
Ctrl + R | 履歴検索 |
実践的な設定例
おすすめの~/.zshrc設定
# oh-my-zshのパス
export ZSH="$HOME/.oh-my-zsh"
# テーマ設定
ZSH_THEME="agnoster"
# プラグイン設定
plugins=(
git
docker
zsh-autosuggestions
zsh-syntax-highlighting
z
)
# oh-my-zshを読み込み
source $ZSH/oh-my-zsh.sh
# 便利なエイリアス
alias ll='ls -lAh'
alias la='ls -la'
alias gs='git status'
alias gc='git commit'
alias gp='git push'
alias ..='cd ..'
alias ...='cd ../..'
# 履歴設定
HISTSIZE=10000
SAVEHIST=10000
setopt SHARE_HISTORY
# 補完設定
autoload -U compinit
compinit
# その他の便利設定
setopt AUTO_CD # ディレクトリ名だけでcd
setopt CORRECT # コマンドミスを修正
setopt CORRECT_ALL # 全ての引数を修正
プラグインの追加インストール
zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
よくある質問(FAQ)

Q1. zshは初心者でも使えますか?
A: はい、むしろ初心者ほどzshの補完機能やエラー防止機能が助けになります!
理由:
- コマンドの入力ミスを減らせる
- 補完機能で覚えることが少なくて済む
- エラー時に修正提案をしてくれる
Q2. bashとの互換性はありますか?
A: 基本的なコマンドはほぼ同じですが、設定ファイルや一部の挙動は異なるため注意が必要です。
主な違い:
- 設定ファイル:
~/.bashrc
→~/.zshrc
- 配列の添字:bashは0から、zshは1から
- グロブ展開の挙動が少し異なる
Q3. 設定ファイルの場所は?
A: ~/.zshrc
がメイン設定ファイルです。
その他の設定ファイル:
~/.zshenv
:環境変数設定~/.zprofile
:ログイン時の設定~/.zlogout
:ログアウト時の処理
Q4. oh-my-zshが重い場合は?
A: 以下の方法で改善できます:
# 使わないプラグインを無効化
plugins=(git) # 最小限に
# 遅いプラグインの特定
time zsh -i -c exit
# テーマを軽量なものに変更
ZSH_THEME="simple"
Q5. bashに戻したい場合は?
A: 以下のコマンドで戻せます:
chsh -s /bin/bash
トラブルシューティング
よくある問題と解決方法
1. zshが起動しない
# シェルの確認
echo $SHELL
# 手動でzshを起動
zsh
# 設定ファイルのエラーチェック
zsh -n ~/.zshrc
2. oh-my-zshのインストールに失敗
# 手動でダウンロード
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh
bash install.sh
# 既存の設定をバックアップ
cp ~/.zshrc ~/.zshrc.backup
3. 補完が効かない
# 補完システムの再初期化
rm ~/.zcompdump*
compinit
4. プラグインが動かない
# oh-my-zshを最新に更新
omz update
# プラグインの再インストール
rm -rf ~/.oh-my-zsh/custom/plugins/plugin-name
# 再度git cloneで取得
まとめ:zshでターミナル作業をもっとスマートに!
重要ポイント
- zshはbashよりも補完やカスタマイズが強力なシェル
- oh-my-zshを使えば、見た目も機能も大幅アップ
- git、alias、履歴検索など開発が効率化する機能が豊富
- 学習コストは低く、使い始めてすぐに効果を実感できる
zsh導入のメリット一覧
メリット | 具体的な効果 |
---|---|
作業効率向上 | タイピング量が大幅に減る |
エラー減少 | コマンドミスを事前に防げる |
学習促進 | 補完で新しいコマンドを覚えられる |
見た目向上 | おしゃれで見やすいプロンプト |
チーム連携 | 多くの開発者が使用している |
導入ステップのまとめ
- zshのインストール確認 →
zsh --version
- デフォルトシェルに設定 →
chsh -s $(which zsh)
- oh-my-zshをインストール → 公式スクリプト実行
- プラグインとテーマを設定 →
~/.zshrc
編集 - エイリアスを追加 → よく使うコマンドを短縮
最初に設定すべき項目
必須設定:
# テーマ
ZSH_THEME="agnoster"
# 基本プラグイン
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
# 便利なエイリアス
alias ll='ls -lAh'
alias gs='git status'
zshは、毎日の作業を快適に変える”裏方のヒーロー”です。
ターミナルを開く時間が多い人ほど、その恩恵は大きくなります。ぜひ、今日からzshでターミナルの世界をグレードアップさせましょう!
コメント