clear
그것은 bash와 Ctrl상당히 L다른 것 같습니다 . clear
이전 터미널 정보를 모두 완전히 제거하므로(위로 스크롤할 수 없음) Ctrl- L커서가 페이지 상단에 오도록 화면을 스크롤하면 계속 위로 스크롤하여 이전 정보를 볼 수 있습니다. 나는 Ctrl- L시스템을 훨씬 선호한다. 이전 터미널 정보를 모두 지우는 대신 -을 clear
수행하도록 재정의하는 방법이 있습니까 ? 이것은 큰 문제는 아니지만, 제가 선호 하는 기능을 가리키는 별칭을 지정할 수 있는 방법이 있는지 궁금합니다 .CtrlLclear
CtrlL
참고로 저는 PowerShell에도 bash에 대한 바인딩이 있고 동일한 Ctrl방식 L으로 수행된다는 사실을 발견했습니다 . PowerShell 디자이너는 bash에서 많은 것을 가져온 것 같지만 콘솔에는 이 기능이 없습니다.CtrlLcmd.exe
답변1
이전 터미널 정보를 모두 지우는 대신 Ctrl-L을 수행하도록 Clear를 재정의하는 방법이 있습니까?
alias clear='tput -x clear'
예, Ctrl-L
bash에서는( set -o emacs
모드에 있는 동안) 정확히 동일한 작업을 수행합니다.
또는 대부분의 터미널 에뮬레이터에서 작동해야 하는 이스케이프를 하드와이어할 수 있으며 , 이스케이프가 있거나 설치되어 있다고 alias clear='printf "\033[H\033[2J"'
가정하지 않습니다 .ncurses
bash
참고:clear
busybox의 애플릿은 스크롤백 버퍼를 지우지 않으므로 대부분의 임베디드 Linux 시스템처럼 일부 busybox 기반 시스템을 사용하는 경우 특별한 작업을 수행할 필요가 없습니다.
답변2
clear
다음을 발췌한 터미널 명령입니다 man clear
.
설명
clear
가능하면 스크롤백 버퍼를 포함하여 화면을 지웁니다(확장된 "E3" 기능이 정의된 경우).clear
환경 변수 TERM에 의해 제공된 터미널 유형에 대한 환경을 살펴본 다음 terminfo 데이터베이스에서 화면을 지우는 방법을 결정합니다.clear
표준 출력에 씁니다. 표준 출력을 파일로 리디렉션할 수 있으며(이렇게 하면 화면이 실제로 지워지는 것을 방지할 수 있음) 나중에cat
파일을 화면으로 보내 해당 시점에서 지울 수 있습니다.
Ctrl+는 l다음과 같은 키 바인딩입니다.readline
의 clear-screen
명령( man 3 readline
)입니다.
화면을 지운 다음 현재 줄을 다시 그리고 현재 줄은 화면 상단에 둡니다. 인수를 사용하면 화면을 지우지 않고 현재 줄을 새로 고칩니다.
clear
readline 명령에 별칭을 지정하는 방법을 찾을 수 없으며 clear-screen
전혀 불가능할 수도 있습니다.