Terminalショートカット チートシート

よく使うターミナル操作を高速化するためのショートカットキー集

カーソル移動

コマンドライン上でのカーソル移動を効率化します。

機能説明macOSLinux/Unix (Bash/Zsh)Windows (WSL/Git Bash)補足
カーソルを1文字左へ移動Ctrl + B / ←Ctrl + B / ←Ctrl + B / ←基本的な移動です。矢印キーでも可能ですが、ホームポジションから手を離さずに済みます。
カーソルを1文字右へ移動Ctrl + F / →Ctrl + F / →Ctrl + F / →Forward の F。矢印キーでも可能です。
カーソルを行頭へ移動Ctrl + ACtrl + ACtrl + A / Home行の先頭 (Ahead) に移動します。非常に頻繁に使います。
カーソルを行末へ移動Ctrl + ECtrl + ECtrl + E / End行の末尾 (End) に移動します。Ctrl + A とセットでよく使います。
カーソルを1単語左へ移動 (後方)Option + B / EscBAlt + B / EscBCtrl + ← / Alt + B単語はスペースや記号で区切られます。macOSの標準ターミナルではOptionキーの設定が必要な場合があります。iTerm2などではデフォルトで動作することが多いです。EscB は多くの環境で動作します。
カーソルを1単語右へ移動 (前方)Option + F / EscFAlt + F / EscFCtrl + → / Alt + FForward の F。上記同様、Option/Altキーの設定やターミナルアプリに依存する場合があります。EscF は確実性が高いです。

テキスト編集

コマンドラインのテキストを効率的に編集するためのショートカットです。

機能説明macOSLinux/Unix (Bash/Zsh)Windows (WSL/Git Bash)補足
カーソル位置の文字を削除Ctrl + D / Delete→Ctrl + D / DeleteCtrl + D / Deleteカーソルの右側の文字を削除します。入力がない状態 (行頭) で押すと EOF (End of File) を送信し、シェルを終了させることがあります (設定による)。
カーソルの左側の文字を削除 (Backspace)Ctrl + H / Delete←Ctrl + H / BackspaceCtrl + H / Backspace通常の Backspace キーと同じ動作です。
カーソル位置から行頭まで削除 (切り取り)Ctrl + UCtrl + UCtrl + U削除されたテキストはキルリング (クリップボードのようなもの) に保存され、Ctrl + Y で貼り付けられます。一部の Zsh 設定では行全体を削除します。
カーソル位置から行末まで削除 (切り取り)Ctrl + KCtrl + KCtrl + KKill の K。削除されたテキストはキルリングに保存され、Ctrl + Y で貼り付けられます。Ctrl + ACtrl + K で行全体を削除できます。
カーソル位置から単語の先頭まで削除 (後方)Option + Delete← / EscBackspaceAlt + Backspace / Ctrl + WCtrl + WCtrl + W は多くの環境で動作しますが、ターミナルやシェルの設定によっては挙動が異なる場合があります。macOS の Option キー設定に注意。EscBackspace も有効です。
カーソル位置から単語の末尾まで削除 (前方)Option + D / EscDAlt + D / EscDAlt + D削除された単語はキルリングに保存されます。macOS の Option キー設定に注意。EscD も有効です。
直前に削除 (切り取り) したテキストを貼り付け (Yank)Ctrl + YCtrl + YCtrl + YCtrl + U, Ctrl + K, Ctrl + W, Alt + D などでキルリングに保存されたテキストを貼り付けます。連続して Yank すると、過去のキル履歴を遡ることができます (Alt + Y または EscY)。
カーソル位置の文字と前の文字を入れ替えCtrl + TCtrl + TCtrl + Tタイプミスを素早く修正するのに便利です。Transpose の T。
カーソル位置の単語と前の単語を入れ替えEscTAlt + T / EscTAlt + T単語単位での入れ替えです。
カーソル位置から単語末尾までの文字を大文字に変換EscUAlt + U / EscUAlt + UUppercase の U。連続して実行すると効果が続きます。
カーソル位置から単語末尾までの文字を小文字に変換EscLAlt + L / EscLAlt + LLowercase の L。連続して実行すると効果が続きます。
単語の先頭の文字を大文字に、残りを小文字に変換EscCAlt + C / EscCAlt + CCapitalize の C。

コマンド履歴操作

過去に実行したコマンドを効率的に呼び出し、再利用するためのショートカットです。

機能説明macOSLinux/Unix (Bash/Zsh)Windows (WSL/Git Bash)補足
前のコマンド履歴を呼び出すCtrl + P / ↑Ctrl + P / ↑Ctrl + P / ↑Previous の P。矢印キーでも可能ですが、ホームポジションを維持できます。
次のコマンド履歴を呼び出すCtrl + N / ↓Ctrl + N / ↓Ctrl + N / ↓Next の N。履歴を遡りすぎた場合に使います。
コマンド履歴を後方検索 (インクリメンタルサーチ)Ctrl + RCtrl + RCtrl + R(reverse-i-search)`:` と表示され、入力した文字を含む履歴を遡って検索します。続けて Ctrl + R を押すと、さらに古い一致候補を検索します。検索を終了してコマンドを実行するには Enter、編集するには矢印キーなどを押します。検索キャンセルは Ctrl + GCtrl + C
コマンド履歴を前方検索 (インクリメンタルサーチ)Ctrl + SCtrl + SCtrl + S(i-search)`:` と表示され、入力した文字を含む履歴を新しい方向へ検索します。ただし、多くのターミナルでは Ctrl + S は画面出力の停止 (XOFF) に割り当てられているため、意図せず画面がフリーズしたように見えることがあります。その場合は Ctrl + Q (XON) で解除できます。stty -ixon で無効化も可能です。Zshなどではデフォルトで前方検索として機能することがあります。
履歴検索の終了Enter / Ctrl + G / Ctrl + C / 矢印キーなどEnter / Ctrl + G / Ctrl + C / 矢印キーなどEnter / Ctrl + G / Ctrl + C / 矢印キーなどEnter で見つかったコマンドを実行。Ctrl + GCtrl + C で検索をキャンセルして現在の行をクリア。矢印キーなどで編集状態に移行します。
現在の行の先頭の単語を、履歴から検索して補完(設定による)Alt + . / Esc.Alt + .直前のコマンドの最後の引数をカーソル位置に挿入します。連続して押すと、さらに前のコマンドの最後の引数を挿入します。非常に便利です。
履歴内の特定のコマンドを実行!<番号> / !<文字列> / !!history コマンドで番号を確認し !123 のように実行。!ls で最後に実行した ls で始まるコマンドを実行。!! で直前のコマンドを再実行 (sudo !! などで多用)。これらはショートカットキーではありませんが、履歴操作として重要です。
現在の入力内容で履歴を検索 (前方/後方)(設定による、Zshなど)(設定による、Zshなど) / (設定による、Zshなど) / Zshなど一部のシェルでは、何か文字を入力した状態で を押すと、その入力で始まる履歴のみを検索できます。Bashでも設定可能です (.inputrc)。

プロセス制御

実行中のコマンドやプロセスを制御するためのショートカットです。

機能説明macOSLinux/Unix (Bash/Zsh)Windows (WSL/Git Bash)補足
現在のフォアグラウンドプロセスを中断 (割り込み)Ctrl + CCtrl + CCtrl + C実行中のコマンドを強制的に停止させます (SIGINT シグナル)。最もよく使うショートカットの一つです。
現在のフォアグラウンドプロセスを一時停止 (サスペンド)Ctrl + ZCtrl + ZCtrl + Z実行中のコマンドをバックグラウンドに移動し、一時停止させます (SIGTSTP シグナル)。プロンプトが戻ってきます。
一時停止中のプロセスをフォアグラウンドで再開fg (コマンド)Ctrl + Z で一時停止したジョブをフォアグラウンドで再開します。fg %<ジョブ番号> で特定のジョブを指定可能 (ジョブ番号は jobs コマンドで確認)。
一時停止中のプロセスをバックグラウンドで再開bg (コマンド)Ctrl + Z で一時停止したジョブをバックグラウンドで実行したまま再開します。bg %<ジョブ番号> で特定のジョブを指定可能。
バックグラウンド/一時停止中のジョブ一覧を表示jobs (コマンド)現在シェルが管理しているジョブ(バックグラウンド実行中、一時停止中)の一覧とジョブ番号を表示します。
現在のフォアグラウンドプロセスを終了 (SIGQUIT)Ctrl + \Ctrl + \Ctrl + \SIGQUIT シグナルを送信します。Ctrl + C (SIGINT) で終了しないプロセスに対して試すことがあります。コアダンプを生成することがあります。
入力の終わり (EOF: End Of File) を送信Ctrl + DCtrl + DCtrl + D入力待ちのプログラム (例: cat, python インタプリタ) に対して、入力が終了したことを伝えます。シェルプロンプトの行頭で押すと、シェルを終了させることが多いです (exit と同様)。

ターミナルの表示を制御するためのショートカットです。

機能説明macOSLinux/Unix (Bash/Zsh)Windows (WSL/Git Bash)補足
画面表示をクリアCtrl + L / Command + K (Terminal.app)Ctrl + LCtrl + L画面の内容を消去し、現在の行を画面の最上部に表示します。clear コマンドと同じ効果ですが、ショートカットの方が高速です。macOS の Terminal.app では Command + K でスクロールバッファも含めてクリアできます。
画面出力を一時停止 (XOFF)Ctrl + SCtrl + SCtrl + S大量の出力が流れるのを一時的に止めたい場合に使います。意図せず押してしまい、画面が固まったように見えることがあるので注意が必要です。
画面出力の停止を解除 (XON)Ctrl + QCtrl + QCtrl + QCtrl + S で停止した画面出力を再開します。

補完機能

コマンド名、ファイル名、引数などを自動補完する機能です。Tabキーが中心となります。

機能説明macOSLinux/Unix (Bash/Zsh)Windows (WSL/Git Bash)補足
コマンド名、ファイル名、パス名などを補完TabTabTab入力途中で Tab を押すと、候補が一意に決まる場合は自動で補完されます。最も基本的な補完操作です。
補完候補の一覧を表示Tab (2回) / Ctrl + I (2回)Tab (2回) / Ctrl + I (2回)Tab (2回) / Ctrl + I (2回)補完候補が複数ある場合に Tab を2回押すと、候補の一覧が表示されます。Zsh などでは1回の Tab で候補表示や選択メニューが出ることもあります。Ctrl + ITab と同じキーコードです。
Zsh: 補完候補をメニュー形式で選択Tab (設定による)Tab (設定による)Tab (設定による)Zsh では Tab を押すと候補がリスト表示され、矢印キーや再度 Tab で候補を選択できる設定が一般的です。
Bash: 利用可能な全ての補完候補を表示Esc? / Alt + ? (設定による)Alt + ? (設定による) / Esc?Alt + ? (設定による)Bash で bind 'set show-all-if-ambiguous on' を `.inputrc` に設定している場合、Tab一回で候補が表示されますが、このショートカットは明示的に候補を表示します。
Bash: 利用可能なコマンド名を補完Esc! / Alt + ! (設定による)Alt + ! (設定による) / Esc!Alt + ! (設定による)コマンドの位置でのみ、コマンド名の候補を表示・補完します。
Bash: 利用可能なファイル名を補完Esc/ / Alt + / (設定による)Alt + / (設定による) / Esc/Alt + / (設定による)ファイルやディレクトリ名の候補を表示・補完します。
Bash: 利用可能なユーザー名を補完Esc@ / Alt + @ (設定による)Alt + @ (設定による) / Esc@Alt + @ (設定による)~ の後などでユーザー名の候補を表示・補完します。
Bash: 利用可能なホスト名を補完Esc$ / Alt + $ (設定による)Alt + $ (設定による) / Esc$Alt + $ (設定による)@ の後などでホスト名の候補を表示・補完します (設定ファイルに依存)。

補足:

  • 補完機能の挙動は、使用しているシェル (Bash, Zsh, fish など) やその設定 (例: .bashrc, .zshrc, .inputrc) に大きく依存します。
  • Zsh はデフォルトで非常に高機能な補完を提供します。
  • bash-completion パッケージなどをインストールすると、Bash の補完機能が大幅に強化されます。

その他便利なショートカット

上記カテゴリに含まれないものの、知っていると便利なショートカットです。

機能説明macOSLinux/Unix (Bash/Zsh)Windows (WSL/Git Bash)補足
引数を囲む (クォートなど)Esc" / Esc'Alt + " / Alt + ' (設定による)Alt + " / Alt + ' (設定による)現在の単語や直前の引数をダブルクォートやシングルクォートで囲みます。シェルの設定やプラグインで有効になることが多いです。
現在のコマンドラインをコメントアウトして履歴に追加Esc# / Alt + #Alt + # / Esc#Alt + #現在の行の先頭に # を挿入し、Enter を押したのと同じように履歴に追加します。実行はされません。後で参照したいコマンドを一時的に保存するのに便利です。
ターミナルのベルを鳴らす (ビープ音)Ctrl + GCtrl + GCtrl + G通常は目に見える効果はありませんが、ターミナルの設定によってはビープ音が鳴ったり画面がフラッシュしたりします。主にスクリプトなどでユーザーに通知するために使われることがあります。履歴検索のキャンセルにも使われます。

これらのショートカットを習得することで、ターミナルでの作業効率が格段に向上します 。環境や設定によって挙動が異なる場合があるため、実際に試してみることをお勧めします。

コメントを残す

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