【Bash】コマンドを再実行する方法まとめ

↑キーで履歴を呼び出す

Linuxの端末で、前に実行したコマンドを再実行する一番簡単な方法は、↑(上矢印キー)で履歴を呼び出すことでしょう。
キーを押すたびに過去に実行したコマンドが表示されるので、再実行したいコマンドが表示されたらEnterを押します。
勢いあまって履歴を通り過ぎた場合は、↓キーで戻ることができます。

Ctrl+Pで履歴を呼び出す

Ctrl+Pも、↑キーと同じように履歴を呼び出します。↑キーはホームポジションから遠いため、慣れればCtrl+Pを使ったほうが効率的です。
また、↓の代わりにCtrl+Nを使うこともできます。

「!!」コマンドを使う

Bashで「!!」を入力すると、直前に実行したコマンドに展開されてから実行されます。「sudo」を付け忘れて実行した後で実行しなおす場合などに便利です。

# 直前に実行したコマンドをそのまま実行する
!!

# 直前に実行したコマンドを出力する
echo !!

# 直前に実行したコマンドをroot権限で実行する
sudo !!

Ctrl+Rで履歴を検索する

直前に実行したコマンドではなく、実行してから時間が経っているコマンドを再実行する場合、自分で履歴を探すのは大変です。
そんな時は、Ctrl+Rを押して検索モードに入り、実行したコマンドの一部を入力します。実行したいコマンドが表示されたら、Enterで実行できます。

Ctrl+Rの使い方については、以下の記事で詳しく解説しています。

historyコマンドで探してコピペする

「history」コマンドは、過去に実行したコマンドを出力します。「less」にパイプして「/」で検索し、コピー&ペーストして実行することもできます。

history | less

「history」の出力を「grep」でフィルターすることもできます。以下は、「ssh」を含む履歴だけを出力する例です。

なお、端末へのコピー&ペーストは、以下の記事で紹介している「マウスホイールをクリックしてXセレクションをペースト」するのが便利です。