bash
명령줄 에서 ↑이전 명령을 입력하세요. ipython
또는 명령줄 에 matlab
몇 글자를 입력하면↑이전에 입력한 다음 문자로 시작하는 명령을 알려주세요.. 에서 이 동작을 활성화하려면 어떻게 해야 합니까 bash
?
명령줄 기록을 검색하는 고급 방법을 알고 있지만 때로는 간단한 방법이 더 편리할 때도 있습니다.
답변1
찾고 있는 readline 명령은 다음 history-search-*
명령입니다:
역사 검색 앞으로
현재 줄의 시작 부분과 현재 커서 위치(지점) 사이의 문자열을 기록에서 앞으로 검색합니다. 이는 비증분 검색입니다.
역사 뒤로 검색
현재 줄의 시작 부분과 해당 지점 사이의 문자열을 기록에서 뒤로 검색합니다. 이는 비증분 검색입니다.
다음과 같이 바인딩하십시오 .inputrc
.
"\e[A": history-search-backward # arrow up
"\e[B": history-search-forward # arrow down
명령의 첫 번째 문자를 입력한 다음 Up및 키를 사용하여 해당 문자열로 시작하는 Down명령 내에서만 이동할 수 있습니다..bash_history
예를 들어 및를 입력하면 vi
로 Up시작된 이전 명령으로 이동합니다 vi
(예: ) vim somefile
. 입력하면 Up다음 이전 인스턴스로 이동합니다.
여기에서 모든 readline 바인딩에 대한 자세한 내용을 읽을 수 있습니다: http://linux.about.com/library/cmd/blcmdl3_readline.htm
답변2
제안 사항을 구현하려면 ~/의 .inputrc에 다음을 추가하세요.
"\e[B": history-search-forward
"\e[A": history-search-backward
아마도 .bash_profile에 다음을 추가하고 싶을 수도 있습니다:
export INPUTRC=~/.inputrc
답변3
찾고 있는 명령 앞에 "!"를 추가하세요. 위쪽 및 아래쪽 화살표의 기능을 바꾸려면 inputrc 파일을 수정할 수 있습니다(다른 답변에서 제안한 대로).
"command"가 검색하려는 명령인 경우 다음을 입력하십시오.
!comm
"명령"이 출력되어야 합니다.
마찬가지로, 명령의 일부를 포함하지만 명령으로 시작되지 않을 수 있는 명령을 찾으려면 Ctrl+R을 누른 다음 명령의 일부를 입력하세요.
"tab"을 입력하여 입력한 텍스트를 자동 완성할 수도 있습니다(여기에는 파일도 포함됩니다). 찾고 있는 명령이 기록에 없는 경우(또는 기록 파일이 없는 경우)에 유용합니다.
여기에서 기록 파일을 "마스터링"하는 방법에 대해 자세히 알아볼 수 있습니다. http://www.thegeekstuff.com/2008/08/15-examples-to-master-linux-command-line-history/
다음과 중복될 수 있습니다.https://stackoverflow.com/questions/1030182/how-do-i-change-bash-history-completion-to-complete-whats-already-on-the-line