50

例は私の質問を理解するのに良いと思います。

...
scp file1 user10@192.168.10.1:/home/user1/linuxfiles/samplecode/important
...
...
scp file1 user10@192.168.10.1:/home/user1/linuxfiles/samplecode/important/tested
...
...

これが履歴内のコマンドの順序であると想定します。Ctrl+を実行Rして入力scpすると、最後に実行されたscpコマンド(つまり、「tested」で終わる行)が表示されます。

しかし、「important」で終わるscpコマンドを見つけたいと思います。それで、これreverse-i-searchにscpで始まるすべてのコマンドを表示して、適切なコマンドを選択する方法はありますか?

4

4 に答える 4

102

押し続けるCtrl-Rそしてそれはあなたの歴史を横断します。

于 2013-01-09T09:10:58.620 に答える
17

検索用語がもう少し複雑/連続していない場合、別のオプションはhistory結果をgrepすることです。例:

history 300 | grep scp | grep important$

これにより、履歴内で一致する次のようなコマンドのリストが返されます。

3323  scp file1 user10@192.168.10.1:/home/user1/linuxfiles/samplecode/important
3325  scp file1 user10@192.168.10.1:/home/user1/winfiles/samplecode/important

次に、を使用して関連するコマンドを実行できます!3325

多くの同様のコマンドを実行するときにこれが役立つことがあり、正確なコマンドに戻るにはCtrl+を何度も押す必要がある場合があります。R

于 2013-01-10T02:31:54.033 に答える
4

Ctrl+に代わる素晴らしい方法がありますR

https://github.com/dvorka/hstrをインストールします

で実行するhh

最後に実行されたすべてのコマンドのリストが表示されます(./bash_historyの内容)

入力を開始すると、入力内容に基づいてリストがフィルタリングされます

Up/矢印を使用Downして目的のコマンドを選択し、Enter

于 2017-01-19T19:46:50.950 に答える
1

この素晴らしいツールmcflyは、従来のCtrl + Rの代わりとして使用でき、非常にうまく機能します。基本的に、入力するとすべての結果が表示され、探しているコマンドを選択できます。レイアウトなどもカスタマイズできますので、オススメです。

https://github.com/cantino/mcfly

mcflyセッションの例

于 2020-11-18T14:54:54.933 に答える