【保存版】zshの便利コマンド一覧:基本操作から応用テクニックまで

プログラミング・IT

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を活用して機能を拡張可能

コメント

タイトルとURLをコピーしました