
cd
FreeBSD 세계에서 온 저는 Linux 터미널이 FreeBSD 터미널, 특히 9.1 버전처럼 작동하도록 만들고 싶습니다. 기본적으로 터미널에 입력 하고 "위쪽" 화살표를 누르면 기록에서 시작 cd
하는 모든 명령을 찾아볼 수 있습니다. 시간을 많이 얻습니다.
전체 내용을 입력해야 하는 Linux Debian 또는 CentOS에서 이 기능을 활성화하는 방법을 모르겠습니다. 누군가 도와주실 수 있나요?
답변1
다음에 다음을 추가하세요 ~/.inputrc
.
# Press up-arrow for previous matching command
"\e[A":history-search-backward
# Press down-arrow for next matching command
"\e[B":history-search-forward
설명
~/.inputrc
에 대한 구성 파일입니다GNU 리드라인. 명령줄 편집을 위해 readline을 포함 bash
하고 사용하는 많은 쉘 . tcsh
위의 두 줄은 위쪽 화살표 키( \e[A
)와 아래쪽 화살표 키( \e[B
)에 대한 이스케이프 시퀀스가 발견될 때 기록 검색 기능을 호출하도록 readline에 지시합니다.
답변2
무슨 일이 일어나고 있는지 FreeBSD와 Linux는 기본적으로 다른 쉘을 사용한다는 것입니다. FreeBSD의 기본값은tcsh, 과거에는 bash보다 더 나은 대화형 기능이 있었지만(그러나 bash가 따라잡았습니다)현저히 나쁜 스크립팅 기능.
익숙한 환경을 얻는 가장 간단한 방법은 Linux에서 쉘을 tcsh로 전환하는 것입니다. tcsh가 시스템 전체에 설치되어 있는 경우(그렇지 않은 경우 시스템 관리자에게 설치하도록 요청) 실행하여 chsh -s tcsh
기본 쉘을 변경하십시오.
또는 이 명령에 익숙해지도록 bash를 설정할 수 있습니다. 기본적으로 Up및 Down화살표는 입력한 접두사로 시작하는 명령뿐만 아니라 기록의 모든 명령 사이를 탐색합니다. 이것을 익숙한 동작으로 변경하려면 .bashrc
홈 디렉터리에 있는 bash의 초기화 파일에 다음 줄을 넣으세요. . ~/.bashrc
초기화 파일을 다시 읽으려면 새 셸을 실행 하거나 시작하세요.
bind '"\eOA": history-search-backward'
bind '"\e[A": history-search-backward'
bind '"\eOB": history-search-forward'
bind '"\e[B": history-search-forward'
이스케이프 시퀀스는 화살표 키를 누를 때 터미널이 쉘로 보내는 것입니다. (escape, , ) 또는 터미널에 따라 다를 Up수 있으며 의 경우에도 유사합니다 .\eOA
O
A
\e[A
Down
기본적으로 bash는 명령 기록을 검색하기 위해 다양한 키 바인딩을 제공합니다. Ctrl+ 를 누른 R다음 일부 문자를 입력하여 줄의 어느 위치에서든 이 하위 문자열이 포함된 명령을 검색할 수 있습니다. 뒤로 대신 앞으로 이동하려면 Ctrl+를 누르세요 . S검색은 증분 방식으로 이루어집니다(예: 입력하는 대로). Alt+ P및 Alt+는 N비증분 검색을 제공합니다.
bash와 tcsh 대신 zsh로 전환할 수 있습니다.다른 쉘에는 없는 몇 가지 깔끔한 기능이 있습니다.. Zsh에는 bash와 마찬가지로 기본적으로 Ctrl+ R및
Ctrl+가 있습니다. tcsh에서 얻은 것과 같은 내용 을 S얻으려면 다음 줄을 입력하십시오 .UpDown~/.zshrc
bindkey '\eOA' history-beginning-search-backward
bindkey '\e[A' history-beginning-search-backward
bindkey '\eOB' history-beginning-search-forward
bindkey '\e[B' history-beginning-search-forward
어디에서나 동일한 셸을 사용하려면 FreeBSD에서도 bash나 zsh를 사용할 수 있습니다. 단, 해당 포트가 설치되어 있어야 합니다(시스템 관리자에게 다시 문의하세요).
답변3
tcsh
대부분의 Linux 배포판에서 사용할 수 있습니다. 패키지를 설치 tcsh
한 다음 실행하여 chsh -s /bin/tcsh
기본 셸로 만드세요.