
Bash와 Zsh에서 명령 기록을 일부 문자열로 검색하면 긴 명령을 다시 입력하지 않고도 불러올 수 있다. Bash는 ctrl-r을 지원하고, Zsh에서는 history-substring-search 플러그인을 설정해 위·아래 화살표로 검색할 수 있다.
Bash에서는 ctrl-r을 누른 뒤 찾을 문자열을 입력한다. 예를 들어 docker compose up을 찾으려면 $ <ctrl-r>up<enter>처럼 입력한다. ctrl-r을 반복해 더 이전 명령으로 이동하고, 너무 멀리 돌아갔다면 ctrl-s로 앞으로 이동할 수 있다. 이 단축키는 mysql 같은 다른 셸 환경에서도 구현된 경우가 있다.
Zsh는 증분 검색을 지원하지만 기본적으로 키가 연결돼 있지 않다. 글에서는 prezto의 history-substring-search 플러그인을 활성화하는 방법을 소개한다. 명령의 일부를 입력하고 위쪽 화살표나 ctrl-p를 누르면 기록을 검색하며, 아래쪽 화살표나 ctrl-n으로 앞으로 이동한다. 이 방식은 입력한 문자열을 검색의 문맥으로 유지하고, 앞뒤 명령을 오갈 때 셸 프롬프트의 입력 내용도 지우지 않는다.
prezto에서는 해당 플러그인을 사용할 수 있으며, oh-my-zsh에서도 같은 플러그인을 쓸 수 있다. Fish는 위·아래 화살표를 이용한 검색을 기본으로 지원한다.
글쓴이는 명령을 직접 실행하면 도구의 기능을 더 활용할 수 있고, 셸 기록 검색이 반복 입력을 줄여준다고 본다. 다만 ctrl-r보다 부분 문자열 검색이 더 편리하다는 평가는 개인적인 경험에 따른 의견이다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요