管理するサーバーが 5 台あります (ssh、トンネルなど)。フリーテキスト検索を実行してコマンドを実行する方法/プラグインはありますか。たとえば、文を bash コマンドにマッピングし、フリーテキスト検索を使用してターミナルでフィルターします。Ctrl + R コマンドによる履歴検索については知っていますが、すべての IP を検索して関連するサーバーを見つけるのは少し面倒です。
例えば
Text : "ssh to server 1" >> "ssh nirojan@ipaddress"
Text : "tunnel to server 5" "ssh -L 5234:localhost:5433 "
答え1
SSHの場合
SSHクライアント設定ファイルでホストエイリアスを定義する~/.ssh/config
。 例えば:
Host server1
Hostname ipaddress
User nirojan
Host server5-tunnel
Hostname server5
LocalForward 5234:localhost:5433
すると、ssh server1
は と同等となりnirojan@ipaddress
、以下同様に続きます。この方法の利点は、 のように、内部で SSH を使用するすべてのもので機能することですrsync -a somefile server1:some/directory
。
ssh
bash または zsh でコンテキスト依存の補完を有効にしている場合、シェルは、、、sftp
などのコマンドで使用できるホスト エイリアスを補完しますrsync
。
また、複数のサーバーで同じことを実行する必要がある場合は、多数のサーバーでSSH経由でコマンドを自動的に実行する
答え2
シェルがエイリアスをサポートしている場合 (コメント セクションを参照)、エイリアスを使用できます。
alias sshserv1='ssh [email protected]'
alias sshserv2='ssh [email protected]'
たとえば、これらを次のように入力します~/.bashrc
。
詳細はこちら: http://tldp.org/LDP/abs/html/aliases.html
あるいは、素晴らしいhstr
ツール(こちら:https://github.com/dvorka/hstr) は優れたコマンド履歴検索ツールであり、あらゆる面で Ctrl+R よりも優れています。