![패턴과 일치하는 명령만 반복하려면 역방향 검색을 사용하세요.](https://linux55.com/image/156066/%ED%8C%A8%ED%84%B4%EA%B3%BC%20%EC%9D%BC%EC%B9%98%ED%95%98%EB%8A%94%20%EB%AA%85%EB%A0%B9%EB%A7%8C%20%EB%B0%98%EB%B3%B5%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%97%AD%EB%B0%A9%ED%96%A5%20%EA%B2%80%EC%83%89%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%84%B8%EC%9A%94..png)
사용된 명령 기록 파일의 내용은 history | less
다음과 같습니다.
555 ls
556 ls -a
557 echo "hello"
558 echo "hello again"
559 cd
560 pwd
561 echo "hello hello"
562 ls
563 echo "hello hello hello"
564 cd
565 pwd
역방향 검색을 사용하여 명령줄 프롬프트에 입력된 패턴(예: 이 경우 "echo")과 일치하는 명령 기록 파일의 명령만 순환하고 싶습니다 (reverse-i-search)`echo':
. 가급적이면 명령 기록 파일에 지정된 줄 번호까지, 명령 기록 파일의 모든 명령 echo
대신 다시 실행하려는 이전에 사용한 명령 만 선택합니다.echo
역방향 검색을 사용하여 명령의 가장 최근 사용을 찾으십시오 echo
(따라서 역방향 검색 명령이라는 이름이 붙었습니다). 그러나 역순으로 앞으로 스크롤하면(예: 역방향 검색) bash는 역방향 검색에서 반환된 줄부터 시작하여 명령 기록 파일의 각 줄을 스크롤하므로 검색하고 싶지 않은 명령이 포함됩니다.
(reverse-i-search)`echo':
기록 목록을 스크롤하기 시작하면 역방향 검색 프롬프트가 사라집니다. 스크롤하는 동안 역방향 검색 프롬프트가 사라지는 것을 방지하여 역방향으로 스크롤할 때 패턴과 일치하는 명령만 표시되도록 하려면 어떻게 해야 합니까?- 1이 가능한 경우 명령 기록 파일의 일부에서만 명령이 선택되도록 역방향 검색을 명령 기록 파일의 특정 줄 번호로 일시적으로 제한하려면 어떻게 해야 합니까?
참고: 이 문제에 대한 해결책은 동일한 명령줄 매개변수의 인스턴스가 여러 개 있고 역방향 검색으로 원하는 매개변수를 찾지 못하는 경우에도 유용합니다.
답변1
검색어를 입력한 후 다음을 사용하세요.
- Ctrlr"up"에서 이전 명령을 검색하고,
- Ctrls방향을 전환하고 다음 경로를 찾기 위해 "아래"를 검색하세요.
검색할 기록 항목 수를 제한하는 방법을 모르겠습니다.
답변2
기록 검색에 less 명령을 사용해야 하는 경우 tac 명령을 사용하면 역방향 검색을 더 쉽게 수행할 수 있습니다.
$ history | tac | less
이렇게 하면 less로 reverse-i 옵션을 사용할 필요가 없습니다.