Linux에서 Clear 명령을 취소하는 방법은 무엇입니까?

Linux에서 Clear 명령을 취소하는 방법은 무엇입니까?

clear터미널 화면을 지웁니다.

clear실행하기 전에 원래 화면 내용을 복원하여 작업을 효과적으로 취소하는 명령이 있습니까 clear?

답변1

clear터미널 화면을 지우는 직접적인 반대 명령 은 없습니다 .

그러나 명령줄 터미널 에뮬레이터의 일부 구현에서는 스크롤백 버퍼를 제공합니다. 이 버퍼는 이전 출력 라인을 유지할 수 있습니다. 예를 들어 minttyCygwin에서 이러한 명령을 사용하여 텍스트를 생성한 다음 화면을 지우면 이전 결과로 다시 스크롤할 수 있다는 것을 알았습니다. 그러나 이는 순전히 터미널 에뮬레이터의 일부로 구현되며 프로그래밍 방식으로 액세스할 가능성은 없습니다.

yes | head -n20 | nl     # Generate 20 lines of unique output
yes n | head -n20 | nl   # And some more

20라인 출력

clear

화면이 지워졌습니다

뒤로 스크롤한 후

버퍼를 뒤로 스크롤

답변2

tmux터미널 에뮬레이터/멀티플렉서를 사용하는 경우 실행 취소를 다음 clear과 같이 정의할 수 있습니다.

clear() {
  tmux capture-pane -eb c &&
    tput sc &&
    command clear "$@"
}

그리고 unclear다음과 같이:

unclear() {
  tput home && tmux show-buffer -b c && tput rc
}

where는 clear화면 내용을 c버퍼에 캡처하고, 지우기 전에 커서 위치를 저장하고 s, 커서를 시작 위치(왼쪽 상단)로 이동한 후 해당 버퍼의 내용을 덤프한 다음 커서 위치를 복원합니다.cunclearrc

답변3

실행 취소를 의미하면 아무것도 없습니다. 이 외에도 명령 기록을 보고 명령을 다시 실행할 수 있습니다. 명령이 멱등적이면 동일한 결과를 얻게 됩니다.

각주: ★ 어떤 종류의 로깅 시스템을 사용하지 않는 한 아무 것도 없습니다. 이 로깅은 터미널 프로그램의 일부이거나 독립형일 수 있습니다. 이는 Linux 커널의 일부가 아닙니다.

관련 정보