Edited at

bash で直前の履歴を有効活用したい

More than 5 years have passed since last update.


直前のコマンドの引数をそのまま使う

コマンドで長いパスを打って、また次の別コマンドで同じパスを打つのって面倒ですよね。

↑キーを押してカーソルを動かして、コマンドの部分だけ書き換えるなんて、あたしって、ほんとバカ…

そんなときは !$ を使いましょう!

直前のコマンドの引数をそのまま参照してくれます♪

$ cat ~/madoka/magica/mami.txt

tiro finale!

$ rm !$
rm ~/madoka/magica/mami.txt


直前のコマンド全体をそのまま使う

sudo を忘れてコマンド打っちゃうなんて、あたしって、ほんとバカ…

そんなときは !! を使いましょう!

直前のコマンドを、(オプションや引数も含めて) まるごと参照してくれます♪

$ rm -f /etc/madoka/magica/walpurgisnacht.txt

rm: cannot remove `/etc/madoka/magica/walpurgisnacht.txt': 許可がありません

$ sudo !!
sudo rm -f /etc/madoka/magica/walpurgisnacht.txt

ちなみに history コマンドを打つと、コマンド履歴に連番が振られたリストが表示されますが、

その履歴の番号を利用して、例えば !123 と打つと、その番号に紐付いたコマンドが実行されます。

もっと過去の履歴を活用したいときは、こちらの方法で。

$ history

1 cd ~/madoka/magica/
2 ls
3 cat kyoko.txt
4 history

$ !3
cat kyoko.txt
rosso phantasma!