例は私の質問を理解するのに良いと思います。
...
scp file1 [email protected]:/home/user1/linuxfiles/samplecode/important
...
...
scp file1 [email protected]:/home/user1/linuxfiles/samplecode/important/tested
...
...
これが履歴内のコマンドの順序であると仮定します。私がやっていたら Ctrl+R scp
と入力すると、最後に実行されたscp
コマンド(つまり、 'tested'で終わる行)が表示されます。
しかし、「important」で終わるscpコマンドを見つけたいです。したがって、このreverse-i-search
にscpで始まるすべてのコマンドを表示し、適切なコマンドを選択する方法はありますか?
押し続ける Ctrl-R そして、あなたの歴史をたどります。
検索用語がもう少し複雑/連続していない場合、別のオプションはhistory
の結果をgrepすることです。例えば:
history 300 | grep scp | grep important$
これにより、次のような履歴内の一致するコマンドのリストが返されます。
3323 scp file1 [email protected]:/home/user1/linuxfiles/samplecode/important
3325 scp file1 [email protected]:/home/user1/winfiles/samplecode/important
そして、!3325
を使用して関連コマンドを実行できます。
同様のコマンドをたくさん実行するときにこれが便利だと思うことがあります。 Ctrl+R 何度も正確なコマンドに戻ります。
に代わる素晴らしい選択肢があります Ctrl+R
インストール https://github.com/dvorka/hstr
hh
で実行します
最後に実行されたすべてのコマンド(./bash_historyの内容)のリストが表示されます。
入力を開始すると、入力内容に基づいてリストがフィルタリングされます
使用できます Up/Down 矢印を使用して目的のコマンドを選択し、 Enter