回答:
Ctrl+ Rを押してを入力しssh
ます。Ctrl+ Rは、最新のコマンドから古いコマンドへの検索を開始します(逆検索)。で始まるコマンドが複数ある場合は、一致が見つかるまで何度も+をssh
押します。CtrlR
一致するものが見つかったら、を押しEnterてコマンドを実行するか、左/右カーソルでコマンドのテキストを選択します。
検索の方向を逆にするCtrl+のデフォルトのリバースオプションはありませんRが、ここでいくつかの提案を見つけることができます。
私は上記のわずかなバリエーションを行いますが、私にとってはうまくいきます(あなたのbash履歴を参照している場合
私のホームフォルダに、という名前のファイルを作成します
.inputrc
内部はこれになります
"\e[5~": history-search-backward
"\e[6~": history-search-forward
注:上記は14.04でもう機能しないようですので、これは同じことをします-
"\e[A":history-search-backward
"\e[B":history-search-forward
その後、私が望む前のコマンドの多くを入力し、ページアップ/ページDNボタンを使用すると、常にページアップで始まる履歴が検索されます
私はインターネットのどこかに次の機能を見つけ、それを非常に効果的に使用しました。あなたのこれを入れてください~/.bashrc
:
hgrep () {
history | egrep --color=auto --recursive "$@" | egrep --color=auto --recursive -v "hgrep $@"
}
次に、シェルを再ロードしますexec bash
。これで、次のように使用できる新しいコマンドができました。
hgrep ssh
履歴から一致するコマンドのリストが表示されます。コマンドを実行するに!
は、コマンド番号を続けて入力します。以下に例を示します。
~:$ hgrep scp
207 tn scp foreign-teachers __HOST__:unity.log __HOST__:compiz.log .
421 tn scp scott-laptop __HOST__:Scott\ Severance.asc .
422 tn scp scott-laptop __HOST__:'Scott\ Severance.asc' .
468 tn scott-desktop scp -r Backgrounds/* __HOST__:Pictures/Backgrounds
469 tn scott-laptop scp -r Backgrounds/* __HOST__:Pictures/Backgrounds
470 scp -r Backgrounds/* 192.168.1.2:Pictures/Backgrounds
~:$ !207
私はこのアプローチがCtrl+ よりも優れているRため、より柔軟な検索が可能になり、複数の結果を一度に見ることができます。
履歴は良好ですが、制限があります- 実行したディレクトリに加えて、これまでに実行したすべてのコマンドを記録するようにbash環境をセットアップすることを好みます。その後、コマンドを実行してすべてのコマンドを一覧表示します私は現在のディレクトリで実行しました。これをgrepなどにパイプすることができます-「ディッシュ」と呼ばれます:
https://github.com/wolfwoolford/dish
追いかけたい場合は、これを.bashrc(https://github.com/wolfwoolford/dish/blob/master/dishrc)で入手してください。
また、ディレクトリに関係なく実行されたすべてのコマンドを出力する「dishg」または「disish global」と呼ばれる無料で入手できる本当に便利なコマンドもあります。明らかにこれはgrepやtailなどと一緒に使用した場合にのみ有用です...
私は何年もそれを使用してきましたが、新しいボックスをセットアップするたびに文字通り最初にインストールするものです。隠しディレクトリ(〜/ .dish)のテキストファイルに実行したコマンドを記録します..ディスク領域に問題はありませんでした...