programing

전체 터미널을 지우는 방법 (PowerShell)

lastmoon 2023. 9. 9. 10:06
반응형

전체 터미널을 지우는 방법 (PowerShell)

문제가 있었습니다.powershell에서 clear or cls 명령을 사용하여 터미널의 보이는 부분만 지우는데, 전체 터미널을 지우는 방법을 알고 싶습니다.

그런데 저는 VS Code를 씁니다.

tl;dr

  • 문제는 Visual Studio Code의 통합 단말기에서 화면과 스크롤백 버퍼를 모두 지우는 것이며, 다음 섹션에서는 이에 대해 설명합니다.

  • 일반 콘솔/단말기/Windows 터미널에서 화면과 스크롤백 버퍼를 모두 지우려면:

    • Windows 및 Linux경우: 사용Clear-Host(별칭은 다음과 같습니다.cls윈도우에서만 가능합니다.clear; 리눅스 및 macOS에서,clear외부를 가리킵니다./usr/bin/clear리눅스에서만 동일한 영향을 미치는 유틸리티.
    • macOS의 경우: 실행"`e[2J`e[3J`e[H"(또는printf '\033[2J\033[3J\033[H').

또한 Visual Studio Code의 통합 터미널에서 터미널의 보이는 부분뿐만 아니라 스크롤백 버퍼 지우려면 다음 방법 중 하나를 사용합니다.

  • 명령 팔레트를 사용합니다.

    • 누름 및 입력tclear에 걸맞게Terminal: Clear명령과 누름
  • 통합 단말기상황에 맞는 메뉴를 사용합니다.

    • 단말기를 마우스 오른쪽 버튼으로 클릭하고 선택합니다.Clear상황에 맞는 메뉴에서
    • Windows(윈도우)에서는 기본적으로 마우스 오른쪽 버튼을 클릭하면 클립보드에서 텍스트를 붙여넣을 수 있으므로 먼저 통합 터미널의 상황에 맞는 메뉴를 활성화해야 할 도 있습니다.
      설정을 열고()Ctrl+, 설정을 변경합니다.terminal.integrated.rightClickBehavior어느 쪽이든default아니면selectWord(후자는 상황에 맞는 메뉴를 표시하기 전에 커서 아래에 있는 단어를 선택합니다.)
  • 통합 터미널 내부에서 키보드 단축키 사용(VSCode 1.71 버전 현재):

    • macOS에서는 기본적으로 다음과 같은 단축키가 있습니다.
    • 리눅스 및 윈도우즈에서는 파일을 직접 편집하여 다음과 같이 유사한 사용자 지정 키 바인딩을 정의할 수 있습니다.keybindings.json(명령)Preferences: Open Keyboard Shortcuts (JSON)명령 팔레트에서), 그리고 기존 배열 안에 다음 개체를 배치합니다([ ... ]):
{
    "key": "ctrl+k",
    "command": "workbench.action.terminal.clear",
    "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported"
}

통합 터미널의 셸에서 호출할 수 있는 명령을 사용하면 다음과 같습니다.

참고: 진정한 크로스 플랫폼 솔루션을 사용하려면 VSCode-internal을 실행해야 합니다. workbench.action.terminal.clear포탄에서 명령을 내리지만, 어떻게 해야 할지 모르겠습니다. 가능하다면, 알고 계시다면 말씀해 주십시오.

  • 리눅스(Ubuntu에서 관찰된 것 이상):

    • 표준을 사용합니다.clear유틸리티)/usr/bin/clear버퍼도 .), 도 도

    • 에서는 PowerShell 을 할 에서 도 사용할 수 .Clear-Host내장된 가명이거나cls.

      • 으로는.[Console]::Clear()스크롤백 버퍼를 지우지 않고 한 화면만 지웁니다.
  • macOS:

    • 둘 다 아닙니다./usr/bin/clear의 »Clear-Host(cls) .NET 의[Console]::Clear()스크롤백 버퍼를 지웁니다. 모두 한 화면만 지웁니다.

    • 시퀀스를 합니다. ANSI 합니다 를 합니다 를 '\e[2J\e[3J\e[H'(\echar를 (ESC cha를다.)0x1b,27); 예를 들어, 출처bash:printf '\e[2J\e[3J\e[H' ; PowerShell:"`e[2J`e[3J`e[H"

    • 호출을 셸 스크립트에서 할 수 . 를 들어, " " " " " " " " " " " " " "라는 이름의 파일을 만듭니다. 예를 들어 다음과 같은 이름의 파일을 만듭니다.cclear, 의 에 된 에 에 PATH variable로 가능하게 합니다.chmod a+x ; 을 합니다 합니다 을 .

      #!/bin/bash
      
      # Clears the terminal screen *and the scrollback buffer*.
      # (Needed only on macOS, where /usr/bin/clear doesn't do the latter.)
      
      printf '\e[2J\e[3J\e[H'
      
  • Windows:

    • 있는 이 없습니다: 가 은 은 가 .cmd.exe의 내적인 cls 및 PowerShell의 내부 PowerShell부Clear-Host명령어는 일반 콘솔 창과 Windows 터미널에서도 스크롤백 버퍼가 아닌 통합 터미널에서 한 화면만 지웁니다.

    • (도 macOS 하는 에서 )"`e[2J`e[3J`e[H" PowerShell의, [Windows PowerShell],"$([char]27)[2J$([char]27)[3J$([char]27)[H"유효하지 않습니다. Windows(윈도우)에서는 한 화면만 지워집니다.

    • (이와는 대조적으로, 이 모든 방법일반 콘솔 창과 Windows 터미널의 스크롤백 버퍼도 지웁니다.)

전원 셸 버튼을 마우스 오른쪽 버튼으로 클릭한 다음 clear를 선택하고 명령 창에 있을 때 "clear" 명령을 입력하여 터미널 창을 지웁니다.

언급URL : https://stackoverflow.com/questions/52127653/how-to-clear-the-entire-terminal-powershell

반응형