관리할 서버가 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을 능가합니다.