PuTTY : 커맨드 라인에서 스크롤 백 지우기


27

PuTTY를 통해 서버에 연결하면 clear명령으로 보이는 화면을 지울 수 있습니다 .

그러나 여전히 PuTTY의 GUI에서 뒤로 스크롤하여 오래된 내용을 볼 수 있습니다. PuTTY의 Clear Scrollback 기능을 알고 있지만 마우스 클릭이 필요합니다.

명령 줄에서 정확히 같은 "Clear Scrollback"작업을 수행하고 싶습니다.

가능합니까?

이 사이트를 읽었습니다 .

그러나 내 실험은 실패했습니다. 예를 들어 :

printf '\033[3J'

나를 위해 아무것도하지 않습니다.

CSI 3 J그래도 두 번째 링크 의 의미를 이해하지 못할 수도 있습니다 ...


어떤 버전의 PuTTY를 사용하고 있습니까? 이 페이지는 기능이 PuTTY 0.59 이상에서 작동 함을 나타냅니다. 나는 PuTTY 0.60을 가지고 있으며 그것은 나를 위해 작동합니다. 스크롤 백 버퍼 만 지우고 화면을 지우지 않습니다. (스크롤 막대가있는 경우 실제로 스크롤 할 수
있고이

@ Bavi_H : 아, 감사합니다-현재 표시된 텍스트에 영향을 미치지 않는다는 것을 깨닫지 못했습니다. 나는 그것이 작동하는 것을 본다. 내가 원하는 전체 솔루션은 clear && printf '\033[3J'입니다. 답변을하시면 수락하겠습니다.
jwd

답변:


32

CSI 3 J스크롤 백 버퍼를 클리어 시퀀스 퍼티 0.59로 하였다. ( 이 기능에 대한 희망 요청 페이지 에서 "고정"라인을 참조하거나 PuTTY 변경 페이지 로 이동하여을 검색하십시오 CSI 3 J.)

jwd가 언급했듯이이 printf '\033[3J'시퀀스를 PuTTY에 보내기 위해 명령 행에 입력 할 수 있습니다 . 스크롤 백 버퍼 만 지우고 화면을 지우지 않습니다. 스크롤 막대가있는 경우 실제로 스크롤 할 수 있고이 시퀀스를 사용하면 스크롤 할 수있는 항목이 갑자기 없기 때문에 스크롤 막대가 비활성화됩니다. 그러나 현재 표시된 화면은 그대로 유지됩니다.

jwd가 언급했듯이 다음을 사용하여 화면과 스크롤 백 버퍼를 모두 지울 수 있습니다. clear && printf '\033[3J'


그리고 제어 코드에 대한 몇 가지 빛을 읽기 원하는 사람들을 위해 : xfree86.org/4.8.0/ctlseqs.html를 (이 사람은 아래에CSI P s J
JWD

11

당신이 익숙한 경우, 내가 같이 사용하여 Ctrl+L에 대한 Reset terminal퍼티의 시스템 메뉴에서 사용할 수있는 옵션, 당신은 수 있도록하는 것이 도움이 될 수 Configuration -> Window -> Behavior -> "System menu appears on ALT-Space".

그런 다음을 누르면 Alt+Space에 대한 옵션 "Clear scrollback"L(소문자, Shift 없음) 에 의해 트리거됩니다 . 따라서, reset + clear의 아기자기-니모닉 조합이된다 Ctrl+LAlt+Space L쉘의 역사에서 어떤 성가신의 마우스 조작이나 혼란없이합니다.


작동하고 기억하기 쉽습니다 :)
Wyrmwood

참고로, 나쁘지는 않지만 : 명령에 공백을 붙여서 쉘 히스토리를 어수선하게 만들 수 있습니다.
jwd

6

스크립트 파일을 작성하여 경로 포함 폴더에 배치하십시오.

$cat > /usr/local/bin/cls
#!/bin/bash
clear
printf '\033[3J'

Ctrl + d를 눌러 저장하고 종료

파일에 대한 권한 변경 :

chmod a+x /usr/local/bin/cls

이제 cmd cls를 사용할 수 있습니다 :-)


1

나를위한 해결책은 '\ 033 \ 143'문자를 전송하는 것이 었습니다.

printf ( "\ 033 \ 143");

터미널 화면이 지워지고 커서가 왼쪽 상단에 다시 나타납니다.


1
(1) 질문은 명령 행 (즉, 쉘) 명령을 요구합니다. 이것은 쉘 명령이 아니며 C 코드 라인입니다. 따라서이 질문에 대한 답은 아닙니다. (2)이 글은 \143등장 인물이 무엇인지, 그것이 인용과 이상적으로이 질문과 어떤 관련이 있다고 말하면 약간 더 유용 할 것 입니다.
Scott

1
궁금한 사람은 "전체 재설정"이스케이프 코드 ( ESC c)에 해당합니다. ASCII의 c99은 8 진수 143입니다. 이것은 스크롤을 지우는 것 외에도 FYI와 같은 다른 많은 작업을 수행합니다.
jwd

1

퍼티에는 기본 스크롤 동작을 선택 취소 할 수있는 옵션이 있습니다. "지운 텍스트를 스크롤 백에 푸시"옵션의 선택을 해제하십시오.

퍼티 설정 이미지

그 후 clear 명령을 실행하면 화면이 지워지고 이전 화면 내용이 다시 스크롤에 들어 가지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.