
grep보다 내 기록 파일에서 명령을 검색하는 더 좋은 방법이 있습니까? 나는 그 명령이 무엇으로 시작하는지 어느 정도 알고 있지만 그것이 역사에서 얼마나 멀리 떨어져 있는지는 모릅니다.
업데이트:이전에는 zsh에만 국한되었지만 중복되는 답변으로 인해 여기에 있는 모든 쉘(또는 모드(vi/emacs))에 대해 자유롭게 답변하십시오. 구체적인 경우에만 참고하세요.
답변1
답변2
Bash를 사용하는 경우 Control-를 입력한 R다음 입력을 시작합니다. 입력 Control- R일부 텍스트를 입력한 후 반복적으로 일치하는 명령줄로 돌아갑니다.
답변3
다음을 추가하면~/.inputrc
"\e[5~": history-search-backward
"\e[6~": history-search-forward
Bash를 다시 시작하면 입력을 시작한 다음 및 를 사용하여 Page Up방금 Page Down입력한 것과 동일한 접두어로 시작하는 줄 기록을 통해 앞뒤로 이동할 수 있습니다.
(일부는 새 키를 바인딩하는 대신 일반 및 작업을 대체하는 \e[A
and 를 사용하는 것을 선호할 수 있습니다 .)\e[B
UpDown
답변4
Ctrl이미 언급한 - 에 의해 호출되는 대화형 프롬프트가 R가장 편리한 방법입니다. 또한 현재 명령줄에 있는 접두사에 대한 기록을 검색하기 위해 다시 매핑 Up하고 화살표 키를 사용하는 것이 널리 사용되지만 이를 위해서는 약간의 요구 사항이 있습니다.Down~/.inputrc
파일 변경.
고전적이고 덜 대화식인 솔루션은 쉘 히스토리 확장을 사용하는 것입니다. 타자
!foo
foo
및 로 시작하는 마지막 명령을 실행합니다 .
!?foo
가 포함된 마지막 명령을 실행합니다 foo
. 기록 확장에 대한 자세한 내용은 다음에서 확인할 수 있습니다.배쉬 참조 매뉴얼, 쉘이 Bash이거나 호환 가능하다고 가정합니다.