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+L및 Alt+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의 c값 99은 8 진수 143입니다. 이것은 스크롤을 지우는 것 외에도 FYI와 같은 다른 많은 작업을 수행합니다.
— jwd

1

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

퍼티 설정 이미지

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

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