history
とCtrl + r
の備忘録。
コマンドの履歴を検索するには、historyを使う。
$ history
1 pwd
2 vi /usr/local/tomcat/webapps/MyApp/WEB-INF/classes/resource.properties
3 history
grepと組み合わせて使用すれば、探したいコマンド履歴だけを絞り込める。
$ history | grep resource
2 vi /usr/local/tomcat/webapps/MyApp/WEB-INF/classes/resource.properties
4 history | grep resource
2番のコマンドをもう一度使いたいときには、historyの結果をコピペしてもいいが、!n
で実行できる。
$ !2
historyとgrepを併せると非常に便利だが、表示と実行の2段階になってしまう。
一発で実行するためには履歴の後方検索をしてくれるショートカットCtrl + r
を使う。
(reverse-i-search)`':
に表示が変わったら、検索したいword(今回はresource.)を入力すると、最新のコマンドを表示してくれる。
(reverse-i-search)`resource.': vi /usr/local/tomcat/webapps/MyApp/WEB-INF/classes/resource.properties
さらにCtrl + rで履歴をさかのぼってくれる。
Ctrl + rを連打して行き過ぎてしまった場合は、Ctrl + sに割り当ててあるスクリーンロックをオフにすることで、前に戻れる。
.bashrcに記述すれば、Ctrl + rとCtrl + sで快適に履歴検索ができる。
# 割当状況を確認
$ stty -a
# スクリーンロックを未定義にする
$ stty stop undef