터미널에서 Ctrl+를 입력하면 R이전에 BASH에 입력한 일치 명령을 검색할 수 있습니다. 예를 들어 Ctrl+ Rthen 을 입력하면 grep
마지막 grep
명령이 나열되고 Enter 키를 눌러 사용할 수 있습니다. 그러나 이것은 단 하나의 제안만을 제공합니다. 이전에 입력한 다른 일치 명령을 순환할 수 있는 방법이 있습니까?
답변1
질문을 올바르게 이해했다면 Ctrl+ 를 반복해서 눌러 대안을 순환할 수 있어야 합니다 R.
예:
- Ctrl+R
grep
- Ctrl+R
- Ctrl+ R ...
그것은 당신의 역사를 거꾸로 검색합니다. 대신 앞으로 검색하려면 Ctrl+ 를 사용하세요. 하지만 + 를 대신하는 XON/XOFF 기능을 비활성화하려면 그 전에 S다음을 설정해야 할 수도 있습니다 stty -ixon
(또는 수동으로) . 어쨌든 그런 일이 발생하면 +를 사용하여 화면 출력을 다시 활성화하십시오(자세한 내용은.bash_profile
CtrlSCtrlQ여기.)
답변2
명령이 자주 사용된다고 생각되면 태그를 추가할 수 있습니다.
command #useful
그 다음에
Ctrl+R #useful
이것은 #
주석 구분 기호이기 때문에 작동합니다. 즉, 기호 뒤에 오는 모든 것은 명령으로 해석되지 않습니다. 그러나 이력에는 기록되므로 검색이 가능합니다.
답변3
~/.inputrc에 다음 줄을 추가하여 위쪽 및 아래쪽 화살표를 설정하여 약간 다른 검색을 수행할 수도 있습니다.
"\e[A": history-search-backward
"\e[B": history-search-forward
명령의 어느 곳에서나 하위 문자열을 검색하는 대신(예:Ctrl-r) 명령을 검색합니다커서 왼쪽에 있는 텍스트부터 시작. 예를 들어 다음 명령을 실행하면 다음과 같습니다.
$ ls bart
$ ls fools
그런 다음 입력 ls
하고 두 번 누르면 같은 위치에 커서가 Up표시됩니다 . - ls bart
와 비교하면 마지막 줄에서 두 번 찾은 것이므로 이전 줄을 찾으려면 다시 한 번 눌러야 합니다.Ctrlrls
이러한 접근 방식은 모두 장점이 있으며 둘 다 많은 시간을 절약할 수 있습니다.