BASH에서 역 i 검색을 순환하는 방법은 무엇입니까?


443

터미널 CTRL-R에서 BASH에서 이전에 입력 한 일치하는 명령을 검색하도록 입력 할 수 있습니다 . 내가 입력하면 예는 CTRL-R다음 grep목록 내 마지막 grep명령, 나는 그것을 사용하는 입력 칠 수있다. 이것은 단지 하나의 제안을 제공합니다. 이전에 입력 한 다른 일치 명령을 순환하는 방법이 있습니까?

답변:


596

질문을 올바르게 이해하면을 반복해서 눌러 대안을 살펴볼 수 있어야합니다 Ctrl+R.

예 :

Ctrl+R grep Ctrl+R Ctrl+R ...

그것은 당신의 역사를 거꾸로 검색합니다. 앞으로 대신, 사용을 검색하려면 Ctrl+S,하지만 당신은 설정해야 할 수도 있습니다 stty -ixon(중 하나에 의해 .bash_profile또는 수동으로) 그 이전까지 걸리는 XON / XOFF 기능을 비활성화 Ctrl+s. (자세한 내용은 여기를 참조 하십시오 .)


23
+1 – 참고 – 이 StackOverflow 답변에 따라 검색 할 수도 있습니다 .
Jordan Arseno

7
패스가 발생하면 Ctrl + Shift + r을 사용하여 뒤로 스크롤하십시오.
wiswit

19
@wiswit CTRL+SHIFT+r은 나를 위해 작동하지 않습니다.
Maxim Suslov

9
@MaximSuslov이 질문보기 : stackoverflow.com/questions/791765/…[[ $- == *i* ]] && stty -ixon .bashrc에 추가 하면 다음과 같이 CTRL+s작동합니다.CTRL+r
gla3dr

9
@JordanArseno "아직 입력하지 않은 명령에 대한 검색"을 의미하기 위해 "검색을 수행"
Josh Johnson

234

명령이 자주 사용된다고 생각되면 태그를 추가 할 수 있습니다

명령 # 유용한

그때

ctrl+r #useful

이것은 #주석 분리 문자 이기 때문에 작동합니다 . 즉, 심볼 다음에 오는 모든 것이 명령으로 해석되지 않습니다. 그러나 기록에 기록되므로 검색 할 수 있습니다.


5
보통 이런 종류의 태그를 좋아합니다. #trg_bld #open_log
Makesh

1
이 태그를 어디에 추가합니까?
Sudip Bhandari

5
명령 직후에 @SudipBhandari. #는 주석을 시작합니다. 예 : ls -lah # 유용한
Andrei

47

~ / .inputrc에 다음 줄을 추가하여 위쪽과 아래쪽 화살표를 설정하여 약간 다른 검색을 수행 할 수도 있습니다.

"\e[A": history-search-backward
"\e[B": history-search-forward

대신에 명령의 아무 곳이나 문자열 검색의 (같은 Ctrl-r )는 명령을 검색합니다 커서의 왼쪽에있는 텍스트로 시작 . 예를 들어 다음 명령을 실행하면

$ ls bart
$ ls fools

입력 ls하고 Up두 번 누르면 ls bart동일한 위치에 커서 가 표시 됩니다. 마지막 줄에서 두 번 찾은 Ctrl- 와 비교 하므로 이전 줄을 찾으려면 다시 한 번 눌러야합니다.rls

이러한 접근 방식은 모두 장점이 있으며 시간을 많이 절약 할 수 있습니다.


2
이것은 OS X에서도 표준이므로 ~/.inputrc두 줄을 추가하거나 추가 할 필요가 없습니다 .
DASKAjA

1
falconepi 가이 답변 의 의견에 글을 썼 듯이 우분투 ~/.inputrc에서는 history-search- *를 포함하여 두 줄로 주석 처리를 풀면됩니다.
Arpad Horvath

이 답변에 대한 자세한 내용은이 게시물을 참조하십시오. codeinthehole.com/writing/…
Andrei

이것은 macOS (10.13)에서 표준이 아닙니다. 나는 항상이 기능을 놓쳤다!
forthrin

이것에 대해 좋은 점은 여전히 역사를 통해 정기적으로 감추고에 대한 CTRL-P / CTRL-N을 사용할 수 있다는 것입니다
elig

0

내장을 대체있다 Ctrl + R라고 hstr은 . 모든 검색 토큰과 동시에 일치하는 명령 기록을 검색하고 화살표 키를 사용하여 결과를 순환 할 수 있습니다.

예

다음은 데모 스크린 캐스트 입니다.

다음과 같은 데비안 제품군 OS에 설치할 수 있습니다 :

add-apt-repository ppa:ultradvorka/ppa
apt-get update
apt-get install hstr

hstr --show-configuration >> ~/.bashrc

그런 다음 Ctrl + R(터미널을 다시 연 후) 를 사용 하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.