윈도우 우분투에서 배쉬 : 모든 텍스트를 지우고, 그것 모두 처리 할 수 ​​있습니다. 즉,

최근 Mac에서 Windows 10 PC로 전환하여 Microsoft의 새로운 Linux 하위 시스템 ( “Windows의 우분투에서 배쉬”라고도 함)을 실험하고 있습니다. 매일 그것을 사용하면서 겪는 가장 큰 짜증은 커다란 텍스트 벽을 비우는 것입니다. 다른 사람들은 화면에 텍스트가 어지럽게 삽니다. 그러나 그것은 나를 미치게 만듭니다. 한 번에 하나씩 큰 덤프를 남기는 명령 만 처리 할 수 ​​있습니다. 즉, 마지막 명령의 모든 출력이 시작되는 곳을 보려면 맨 위로 스크롤 할 수있는 것을 선호합니다. 나는 그것을 지우고 다음 명령으로 넘어 간다. 마지막으로 실행 된 명령의 출력이 시작되는 위치를 찾기 위해 여러 명령 출력 덤프를 검색하지 않아도됩니다. 그래, 그게 어렵지 않다는 것을 안다. 나는 즉시 모든 것을 지울 수있는 Ctrl + K를 입력 할 수있는 Mac OS X Terminal app을 사용하는 것을 망쳐 놓았다.

Windows Bash / Ubuntu 응용 프로그램에서. 텍스트 지우기에 가장 가까운 것은 Ctrl + L이지만 현재 표시된 텍스트 화면 만 지우고 전체 스크롤 백을 지우지는 않습니다. “재설정”명령 만 사용하면 작동하지 않습니다. 상단으로 스크롤하고 Ctrl + L을 누른 다음 “재설정”을 입력하여 모든 텍스트를 제거해야합니다. 그건 충분히 짜증나지만, 그 위에, “리셋”명령은 항상 내 기본 설정보다 창을 좁게 만들고, 80 열 너비로 설정합니다. 응용 프로그램 아이콘을 클릭 한 다음 “속성”을 클릭하여 설정 한 내 기본 설정은 너비가 145 열입니다. 나는 심지어 “Defaults”로 들어가서 145로 설정하려고 시도했지만 “reset”은 여전히 ​​80이됩니다. 우분투 서브 시스템에 어딘가에 구성되어 있어야합니다. 너비가 너무 좁아.

가장 많이 투표 한 답변 이리 “재설정 및 지우기”바로 가기를 매핑 할 수 있기 때문에 그놈 터미널을 사용하는 것이 좋습니다. 그러나 질문자는 Windows Ubuntu 하위 시스템이 아닌 완전한 Ubuntu를 사용하고 있었으므로 약간 회의적입니다. 그게 후자에서 작동할까요? 그게 가능한지 알아야 할 수도 있습니다. 두 번째 대답은 “cls”별명을 다음과 같이 만들 것을 제안합니다.

alias cls="echo -ne '\033c'"

그러나 슬프게도 이것은 효과가 없었습니다. 별칭의 내용을 별도로 실행하려고 시도했지만 아무 것도하지 않았습니다. “echo -ne”을 “printf”로 바꿔야합니다.

나의 마지막 희망은 그 페이지에서 세 번째 대답 인 “버퍼를 0 줄로 설정”입니다. 나는 이것을 변경해야하는 우분투 서브 시스템의 설정이거나 아마 홈 디렉토리에 배치해야하는 설정 파일 일 것이라고 추측하고있다. (나는 그들이 그들이 의미하는 것을 정확히 설명했으면 좋겠다.) 어쨌든 Windows 응용 프로그램의 “등록 정보”로 들어가서 버퍼 설정을 어지럽히는 것이 도움이되지 않았습니다.

어떤 터미널 프로그램이 사용되는지에 관해서는, $ TERM을 echo하면 “xterm”이 나옵니다. 오, 우분투 버전은 14.04입니다. (나는 다음번 주요 Windows 10 업데이트를 통해 새로운 Ubuntu로 업그레이드 할 수 있다고 들었지만 Windows Insider “미리보기”설치로의 도약을 좋아하지 않습니다.)



답변

내가 발견 한 가장 안정적이고 이식 가능한 명령 1 :

printf '\033c\e[3J'

분명히, 매번 입력하는 것은 너무 길고 복잡합니다. 해결책은 별칭을 정의하는 방법 따라서 훨씬 쉬운 이름을 사용하여 실행할 수 있습니다. 내 제안은 cls이 명령은 Windows의 cmd 셸에서이 명령의 이름입니다.
설정 cls 별칭으로 다음 행을 입력하십시오.

alias cls="printf '\033c\e[3J'"

이렇게하면 현재 쉘에서 별명을 사용할 수 있습니다. 새 터미널을 열 때마다 언제든지 처분 할 수 있도록하려는 경우 해당 줄을 새 터미널에 추가하십시오. .bashrc 파일을 홈 디렉토리에 저장하십시오.


1. 나는 이전에 사용을 제안했다. clear && echo -en "\e[3J",에서 설명한대로 스택 오버플로 ,하지만 일부 사용자에게는 작동하지 않으므로 답변을 업데이트했습니다.


답변

Windows의 기본 Ubuntu 터미널에 대한 대답이 없습니다. DavidPostill의 링크를 기반으로, dev 팀이이 문제점을 알고 있으므로 향후 릴리스에서 수정 될 것으로 가정합니다. 그동안 WSL을 위해 MinTTY를 사용하기로했습니다 ( https://github.com/mintty/wsltty ). “재설정”명령은 해당 터미널에서 완벽하게 작동하며 창 크기 만 남겨두고 모든 텍스트 출력을 완전히 지 웁니다.


답변

입력 할 때 배치 파일을 만들 수 있습니다. exit 배시에서

@echo off
powershell while (1) {bash ~; cls}

파일을 a로 저장하십시오. .bat 파일을 열고 실행하여 종료하거나 창을 닫습니다. Alt + F4

나는 또한 .bat 파일을 .exe Google 드라이브에서 파일을 다운로드 할 수 있습니다. 이리 .

나는 그것을 약 4 번 테스트했으며, 완벽하게 작동합니다.

다운로드가 작동하지 않으면 알려주세요.

시작 메뉴의 링크를이 배트 또는 EXE 파일로 변경하려면 C:\Users\usernamehere\AppData\Roaming\Microsoft\Windows\Start Menu\Programs