터미널을 지우는 방법이 있습니까?하지만 화면 상단에 프롬프트를 남기지 않고 가운데에 남겨 두십시오. clear
기본적으로 모든 명령 줄 매개 변수를 무시하는 것처럼 보입니다 .
나는 이것을 할 수있는 방법이 tput
있지만 그것을 찾을 수 없다고 생각했다.
답변
tput
커서를 화면의 주어진 줄로 이동할 수 있습니다 .
tput cup 11 0
열두 번째 줄로 이동합니다 (값은 0부터 계산).
동일한 선 tput
을 따라 ed
기능을 사용하여 해당 위치에서 화면 끝까지 지울 수 있습니다 . 클로즈업,
tput cup 11 0 && tput ed
원하는 것일 수도 있습니다.
화면의 중간 표시로 이동하려면 첫 번째 숫자가
stty size
(대부분의 시스템에서) 화면의 행 수입니다. 명령에 추가하기 :
tput cup $(stty size|awk '{print int($1/2);}') 0 && tput ed
이 clear
프로그램은 다음과 다릅니다 tput ed
.
- 커서를 홈 위치 (왼쪽 위)로 이동시킵니다.
- 그 시점부터 화면 끝까지 지 웁니다.
주의 사항 : 일부 플랫폼에서는 tput ed
오래 전에 수정 된 문제로 인해 작동하지 않을 수 있습니다. 이 경우 curses / ncurses 구성을 업그레이드하면 문제가 해결됩니다.
답변
줄 수가 홀수이면 tput cup
전체 페이지 를 지 웁니다.
다음과 같이 작성하면 문제가 해결됩니다.
tput cup $(($(stty size|awk '{print $1}')/2)) 0 && tput ed
답변
나머지를 유지하면서 화면 의 아래쪽 절반을 지우고 싶다면 다음과 같이하십시오.
half=$(stty size | awk '{print int($1/2)-1;}'); for i in `seq ${half}`; do echo '' ; done && tput cup ${half} 0 && tput ed
편집 : 명확히하기 위해, seq $(stty size | cut -d' ' -f1)
다른 답변 을 실행 하면 출력의 전반부는 그대로 남고이 명령은 후반을 떠나게됩니다 (즉 가장 최근의 출력).