답변:
나는 위의 약간의 변형을하고 나를 위해 잘 작동합니다 (당신이 당신의 배쉬 기록을 참조하는 경우)
내 홈 폴더에 이름이 지정된 파일을 만듭니다.
.inputrc
안쪽이 간다
"\e[5~": history-search-backward
"\e[6~": history-search-forward
참고 : 14.04에서는 위의 내용이 더 이상 작동하지 않는 것 같습니다.
"\e[A":history-search-backward
"\e[B":history-search-forward
그런 다음 원하는 이전 명령을 많이 입력하고 page up / page dn 버튼을 사용하면 항상 page up으로 시작하여 기록을 검색합니다.
다음은 고전적인 명령을 사용하는 다른 방법입니다 (더 많은 배포판에서 작동 할 가능성이 높음). 명령 기록은 .bash_history
홈 디렉토리 의 파일 에 저장 되므로 다음을 수행 할 수 있습니다.
grep "ssh" ~/.bash_history
-i
대소 문자를 구분하지 않는 검색이 필요한 경우 플래그를 잊지 마십시오 .
history | grep ssh
임시 세션의 ssh 만 표시 하므로이 답변을 보러 갈 것입니다.
인터넷 어딘가에 다음 기능을 발견하여 큰 효과를 발휘했습니다. 이것을 당신의 것으로 넣으십시오 ~/.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 등으로 파이프 할 수있는 현재 디렉토리에서 실행했습니다 .'dish '라고합니다.
https://github.com/wolfwoolford/dish
추적을 자르려면 .bashrc ( https://github.com/wolfwoolford/dish/blob/master/dishrc ) 에서 소스를 찾으십시오.
디렉토리에 관계없이 실행 된 모든 명령을 인쇄하는 'dishg'또는 dish global이라는 무료로 제공되는 유용한 명령도 있습니다. 분명히 이것은 grep과 tail 등과 함께 사용할 때만 유용합니다 ...
나는 그것을 수년간 사용해 왔으며 문자 그대로 새 상자를 설치할 때마다 설치하는 첫 번째 것입니다. 숨겨진 디렉토리 (~ / .dish)의 텍스트 파일로 실행하는 명령을 기록합니다. 디스크 공간에 문제가 없었습니다 ...