zsh(Z Shell)は、bashに代わる高機能なシェルとして、多くの開発者に支持されています。
その豊かな機能と自由なカスタマイズ性により、作業効率を大幅に向上させることが可能です。
この記事では、zshの基本的なコマンドから、便利な応用テクニックまでを網羅的に紹介します。
初心者の方から上級者の方まで、zshの魅力を再発見していただける内容となっています。
ターミナルでの作業がもっと楽しく、効率的になること間違いなしです。
そもそもzshって何?

zshの特徴
zsh(Z Shell)とは
- Unix系OSで使える高機能なコマンドラインシェル
- bashよりも多くの便利機能を持つ
- macOSのデフォルトシェル(Catalina以降)
他のシェルとの違い
- bash:古くからあり、安定している
- zsh:bashの機能を含み、さらに便利機能を追加
- fish:初心者にやさしいが、bash互換性がない
zshのメリット
- 強力な自動補完機能
- 豊富なプラグインエコシステム
- カスタマイズの自由度が高い
- 作業効率の大幅な向上
zshの確認方法
現在使っているシェルを確認
bashコピーする編集するecho $SHELL
zshがインストールされているか確認
bashコピーする編集するwhich zsh
zshのバージョン確認
bashコピーする編集するzsh --version
基本的なコマンド一覧

ファイル・ディレクトリ操作
ls:ファイルとフォルダの一覧表示
bashコピーする編集するls # 基本の一覧表示
ls -l # 詳細情報つき
ls -la # 隠しファイルも表示
ls -lh # ファイルサイズを読みやすく表示
ls *.txt # txtファイルのみ表示
cd:ディレクトリの移動
bashコピーする編集するcd # ホームディレクトリに移動
cd Documents # Documentsフォルダに移動
cd .. # 一つ上のフォルダに移動
cd - # 前にいたフォルダに戻る
cd ~/Desktop # デスクトップに移動
pwd:現在の場所を表示
bashコピーする編集するpwd # 現在のディレクトリパスを表示
mkdir:フォルダの作成
bashコピーする編集するmkdir myproject # myprojectフォルダを作成
mkdir -p a/b/c # 親フォルダも同時に作成
mkdir project1 project2 # 複数のフォルダを同時作成
ファイル操作
touch:ファイルの作成
bashコピーする編集するtouch README.md # README.mdファイルを作成
touch file1.txt file2.txt # 複数ファイルを同時作成
cp:ファイルのコピー
bashコピーする編集するcp file1.txt file2.txt # file1をfile2にコピー
cp file.txt Documents/ # Documentsフォルダにコピー
cp -r folder1 folder2 # フォルダごとコピー
mv:ファイルの移動・名前変更
bashコピーする編集するmv old.txt new.txt # ファイル名を変更
mv file.txt Documents/ # ファイルを移動
mv folder1 Documents/ # フォルダを移動
rm:ファイルの削除
bashコピーする編集するrm file.txt # ファイルを削除
rm -r folder # フォルダごと削除
rm -i file.txt # 削除前に確認
rm *.tmp # tmpファイルをすべて削除
ファイル内容の表示
cat:ファイル全体を表示
bashコピーする編集するcat README.md # ファイル内容を表示
cat file1.txt file2.txt # 複数ファイルを連続表示
less:ページごとに表示
bashコピーする編集するless README.md # ページ単位で表示
# スペース:次のページ q:終了
head:ファイルの最初の部分
bashコピーする編集するhead README.md # 最初の10行を表示
head -n 5 README.md # 最初の5行を表示
tail:ファイルの最後の部分
bashコピーする編集するtail README.md # 最後の10行を表示
tail -f log.txt # リアルタイムで更新を監視
その他の基本コマンド
echo:文字の出力
bashコピーする編集するecho "Hello World" # 文字列を出力
echo $HOME # 環境変数を出力
man:マニュアルの表示
bashコピーする編集するman ls # lsコマンドのマニュアル
man zsh # zshのマニュアル
これらのコマンドは、日常的なターミナル作業において頻繁に使用される基本中の基本です。
しっかり身につけておくことで、zshをよりスムーズに活用できます。
zsh特有の便利な機能

zshには、他のシェルにはない優れた機能がたくさんあります。
強力な自動補完機能
基本的な補完
bashコピーする編集するls Do[Tab] # Documents に補完
cd ~/De[Tab] # Desktop に補完
コマンドオプションの補完
bashコピーする編集するgit [Tab] # gitのサブコマンド一覧が表示される
ls -[Tab] # lsのオプション一覧が表示される
インテリジェントな補完
bashコピーする編集するkill [Tab] # 実行中のプロセス一覧を補完
ssh [Tab] # SSH設定ファイルのホスト一覧
git checkout [Tab] # Gitブランチ一覧を表示
グロブパターンマッチング
基本的なワイルドカード
bashコピーする編集するls *.txt # 拡張子がtxtのファイルを表示
ls *.{jpg,png} # jpgとpngファイルを表示
ls **/*.py # サブディレクトリ内のpyファイルも検索
高度なパターンマッチング
bashコピーする編集するls **/README.* # すべてのREADMEファイルを検索
ls *(.) # 通常ファイルのみ表示(ディレクトリ除外)
ls *(/) # ディレクトリのみ表示
ls *(@) # シンボリックリンクのみ表示
ディレクトリ移動の便利機能
AUTO_CD機能(cdを省略できる)
bashコピーする編集するDocuments # cd Documents と同じ動作
../ # cd ../ と同じ
~/Desktop # cd ~/Desktop と同じ
ディレクトリスタック
bashコピーする編集するpushd Documents # 移動とスタックへの追加
pushd ~/Downloads # ダウンロードフォルダへ移動して追加
popd # 前のディレクトリに戻る
dirs # スタックの一覧を表示
最近使ったディレクトリへの移動
bashコピーする編集するcd - # 直前のディレクトリに戻る
cd -2 # 2つ前のディレクトリに移動
スペルチェック機能
コマンドの打ち間違いを自動修正
bashコピーする編集する$ gti status # gitの打ち間違い
zsh: correct 'gti' to 'git' [nyae]? y
# yを押すと git status が実行される
履歴の強力な検索
インクリメンタル検索
bashコピーする編集する# Ctrl + R を押して履歴検索開始
# 入力中の文字に応じて候補がリアルタイムで表示
履歴展開
bashコピーする編集する!! # 直前のコマンドを再実行
!git # gitで始まる最後のコマンドを実行
!?config # configを含む最後のコマンドを実行
エイリアスの活用

エイリアスを設定することで、よく使うコマンドを短く・簡潔に実行できるようになります。
基本的なエイリアス設定
~/.zshrc
ファイルに追加
bashコピーする編集する# ファイル操作のエイリアス
alias ll='ls -la'
alias la='ls -la'
alias l='ls -l'
# 安全な削除
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# ディレクトリ移動
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
# その他
alias c='clear'
alias h='history'
alias grep='grep --color=auto'
Git関連のエイリアス
よく使うGitコマンド
bashコピーする編集するalias gs='git status'
alias ga='git add'
alias gc='git commit'
alias gp='git push'
alias gl='git log --oneline'
alias gd='git diff'
alias gb='git branch'
alias gco='git checkout'
開発で便利なエイリアス
プログラミング関連
bashコピーする編集するalias py='python3'
alias pip='pip3'
alias serve='python3 -m http.server'
alias json='python3 -m json.tool'
# Node.js関連
alias nr='npm run'
alias ni='npm install'
alias ns='npm start'
エイリアスの管理
設定を反映
bashコピーする編集するsource ~/.zshrc # 設定ファイルを再読み込み
エイリアス一覧を確認
bashコピーする編集するalias # すべてのエイリアスを表示
alias | grep git # Git関連のエイリアスを表示
エイリアスを削除
bashコピーする編集するunalias gs # gsエイリアスを削除
履歴検索とナビゲーション

zshでは、過去に実行したコマンドの履歴を簡単かつ柔軟に検索・再利用できます。
履歴検索のショートカット
キーボードショートカット
bashコピーする編集するCtrl + R # インクリメンタル履歴検索(リアルタイムで候補表示)
Ctrl + S # 前方検索(※環境によっては無効)
↑ / ↓ # 1つ前・次の履歴へ移動
履歴設定のカスタマイズ
~/.zshrc に追加
bashコピーする編集する# 履歴に関する設定
HISTSIZE=10000 # メモリ上に保存する履歴数
SAVEHIST=10000 # ファイルに保存する履歴数
HISTFILE=~/.zsh_history # 履歴ファイルのパス
# 重複履歴の除去
setopt HIST_IGNORE_DUPS # 連続する重複を記録しない
setopt HIST_IGNORE_ALL_DUPS # すべての重複を記録しない
setopt HIST_SAVE_NO_DUPS # 保存時に重複を除去
# 履歴の共有
setopt SHARE_HISTORY # 複数のzsh間で履歴を共有
高度な履歴機能
履歴検索コマンド
bashコピーする編集するhistory # 履歴一覧を表示
history | grep git # git関連の履歴のみ表示
fc -l -10 # 最近の10件を表示
履歴を元にしたコマンド再実行
bashコピーする編集する!123 # 履歴番号123のコマンドを実行
!! # 直前のコマンドを再実行
!$ # 直前のコマンドの最後の引数
!^ # 直前のコマンドの最初の引数
プラグインとテーマでカスタマイズ
zshには、便利なプラグインやテーマが豊富にあり、使い勝手を大きく向上させることができます。
Oh My Zshの導入
インストール
bashコピーする編集するsh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
基本設定
bashコピーする編集する# ~/.zshrc に記述
ZSH_THEME="robbyrussell" # デフォルトテーマ
ZSH_THEME="agnoster" # 人気のテーマ
ZSH_THEME="powerlevel10k/powerlevel10k" # 高機能で美しいテーマ
おすすめプラグイン
よく使われるプラグイン
bashコピーする編集する# ~/.zshrc の plugins に指定
plugins=(
git # Git補完とエイリアス
zsh-autosuggestions # 自動補完候補の表示
zsh-syntax-highlighting # コマンドの構文を色分け
docker # Dockerコマンドの補完
npm # npm補完
kubectl # Kubernetes補完
)
プラグインのインストール方法
zsh-autosuggestions の手動インストール
bashコピーする編集するgit clone https://github.com/zsh-users/zsh-autosuggestions \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
zsh-syntax-highlighting の手動インストール
bashコピーする編集するgit clone https://github.com/zsh-users/zsh-syntax-highlighting.git \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
人気のテーマ
Powerlevel10k
bashコピーする編集するgit clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
# ~/.zshrc に設定
ZSH_THEME="powerlevel10k/powerlevel10k"
その他の人気テーマ
agnoster
:情報量が多く、視認性にすぐれるspaceship
:モダンでカスタマイズ性が高いpure
:シンプルかつミニマルな表示が好みの人に最適
効率を上げる応用テクニック

プロセス管理
基本的なプロセス操作
bashコピーする編集するps aux # 実行中のプロセス一覧を表示
top # リアルタイムでのプロセス監視
htop # カラフルで見やすいtop(要インストール)
kill PID # プロセスIDを指定して終了
killall firefox # プロセス名を指定して一括終了
バックグラウンド実行と制御
bashコピーする編集するcommand & # バックグラウンドで実行
jobs # 実行中のジョブ一覧を表示
fg %1 # ジョブ1をフォアグラウンドに
bg %1 # ジョブ1をバックグラウンドに
ファイル検索とテキスト処理
ファイル検索
bashコピーする編集するfind . -name "*.txt" # txtファイルをカレントディレクトリから検索
find . -type f -size +1M # 1MB以上のファイルを検索
locate filename # ファイル名で高速検索(事前にupdatedbが必要)
テキスト検索
bashコピーする編集するgrep "pattern" file.txt # 指定した文字列を検索
grep -r "pattern" . # ディレクトリ全体を再帰的に検索
grep -i "pattern" file.txt # 大文字小文字を無視して検索
ネットワーク関連
基本的なネットワークコマンド
bashコピーする編集するping google.com # 通信確認(疎通テスト)
curl https://api.example.com # HTTPリクエストを送信
wget https://example.com/file.zip # ファイルをダウンロード
ssh user@hostname # リモートサーバーへSSH接続
システム情報の確認
システム状態の表示
bashコピーする編集するdf -h # ディスク使用量(人間に読みやすい形式)
du -sh * # 各フォルダの合計サイズ
free -h # メモリ使用状況
uname -a # OS・カーネルなどのシステム情報
トラブルシューティング
よくある問題と解決法
コマンドが見つからない場合
bashコピーする編集するwhich command # コマンドのパスを確認
echo $PATH # パスの設定を確認
type command # コマンドの種別(alias, function, builtinなど)を確認
権限エラーの場合
bashコピーする編集するsudo command # 管理者権限で実行
chmod +x filename # 実行権限を付与
ls -la filename # ファイルの権限を確認
設定ファイルの問題
bashコピーする編集するzsh -n ~/.zshrc # シンタックス(構文)チェック
source ~/.zshrc # 設定ファイルを再読み込み
cp ~/.zshrc ~/.zshrc.backup # バックアップを作成してから修正
デバッグとログの取得
zshのデバッグ機能
bashコピーする編集するzsh -x # スクリプトの各ステップを表示して実行
set -x # シェルセッション中にデバッグモードを有効化
set +x # デバッグモードを終了
まとめ:zshで作業効率を最大化
zshは、強力な補完機能とカスタマイズ性を持つシェルで、日常の開発作業やシステム操作を劇的に効率化できます。
この記事のポイント
- 基本コマンド:ファイル・ディレクトリ操作からテキスト処理まで
- zsh特有機能:補完、パターンマッチ、履歴の再利用など
- エイリアス:よく使うコマンドを簡潔に呼び出せる
- 履歴検索:過去の作業を高速に再実行
- プラグイン:Oh My Zshを活用して機能を拡張可能
コメント