cls는 CMD 창에 표시된 내용을 전부 지우고 빈 화면으로 되돌리는 내장 명령이다.
이 장을 읽기 전에
선행 챕터: 이 장은 02장: help에서 도움말을 조회하는 법을 다룬 뒤 이어진다. cls는 Part 1에서 가장 단순한 명령이므로, 이 장을 발판 삼아 “옵션이 거의 없는 명령"의 최소 문서 구조를 확인하고 다음 장(04장: prompt)의 조금 더 복잡한 옵션 체계로 넘어간다.
이 장의 깊이: 입문. 옵션이 사실상 없어 매우 짧다. 다루지 않는 것: 화면을 정리하는 다른 방법(콘솔 버퍼 크기 조정 등)은 다루지 않는다.
사용법
| |
옵션
이 명령은 /?를 제외하면 별도 옵션이 없다.
| 옵션 | 설명 |
|---|---|
/? | 명령 프롬프트에서 도움말 표시 |
예시
| |
배치 파일에서 여러 단계를 거치는 메뉴나 진행 상황을 보여주기 전에 화면을 비울 때 자주 쓴다.
| |
주의사항·함정
지워지는 것은 화면뿐이다: cls는 현재 화면에 표시된 내용만 지운다. Windows Terminal이나 일부 콘솔 호스트 설정에 따라 스크롤을 올려 이전 출력을 다시 볼 수 있는 경우가 있고, 명령 히스토리(위/아래 화살표로 불러오는 과거 입력)는 06장(doskey)에서 다루는 별도의 버퍼이므로 cls로 지워지지 않는다.
유닉스 clear와 이름은 다르지만 역할은 같다: PowerShell에도 cls라는 별칭이 있어(Clear-Host를 가리킴) 명령 자체는 그대로 통하지만, 이는 우연히 같은 이름을 쓸 뿐 서로 다른 구현이다. CMD의 cls를 PowerShell 스크립트 안에서 그대로 재사용해도 문제는 없지만, 이는 PowerShell이 하위 호환을 위해 별칭을 제공하기 때문이지 CMD 명령이 PowerShell에서 직접 동작하기 때문이 아니다.
흔한 오개념
“cls를 실행하면 화면에 표시됐던 민감한 정보가 완전히 사라진다”는 오해가 있다. 예를 들어 실수로 비밀번호를 평문으로 입력해 화면에 노출됐을 때 cls로 지웠다고 안심하기 쉽지만, 위 주의사항에서 다뤘듯 스크롤을 올리면 이전 출력이 그대로 다시 보일 수 있다. 화면 뒤에 있는 사람이 스크롤만 올려도 방금 지운 내용을 볼 수 있다는 뜻이므로, 민감한 정보를 다루는 세션이라면 cls에 의존하지 말고 애초에 화면에 그런 정보를 띄우지 않는 편이 안전하다.
다음 장에서는
다음은 04장 — 프롬프트에 표시되는 문자열 형식을 바꾸는 prompt 명령을 다룬다.
평가 기준
- cls가 화면 버퍼만 지우고 명령 히스토리는 지우지 않는다는 것을 설명할 수 있다.
- 배치 파일에서 cls를 반복 메뉴 출력 앞에 두는 관례적 용법을 이해한다.
![Featured image of post [CMD] 03. cls - 화면 지우기](/post/cmd/cls-command-clear-screen-windows-cmd/wordcloud_hu_c172b4bb1922a8dd.webp)
![[CMD] 01. cmd - 새 인스턴스 시작과 내부·외부 명령어](/post/cmd/cmd-command-interpreter-new-instance-windows/wordcloud_hu_833f35382d78241d.webp)
![[CMD] 02. help - 명령어 도움말 조회](/post/cmd/help-command-list-command-help-windows-cmd/wordcloud_hu_2f2562c124a5a3f7.webp)
![[CMD] 03. cls - 화면 지우기](/post/cmd/cls-command-clear-screen-windows-cmd/wordcloud_hu_7ea358caedbed43d.webp)
![[CMD] 04. prompt - 프롬프트 표시 형식 변경](/post/cmd/prompt-command-customize-command-line-windows/wordcloud_hu_2472632b14e29b7b.webp)
![[CMD] 05. title - 콘솔 창 제목 설정](/post/cmd/title-command-set-console-window-title-windows/wordcloud_hu_dcb3ef263f4ef967.webp)
![[CMD] 37. pause - 배치 실행 일시 정지](/post/cmd/pause-command-suspend-batch-windows-cmd/wordcloud_hu_c9e1ff4cc8c91309.webp)
![[CMD] 58. start - 새 창에서 프로그램 실행](/post/cmd/start-command-run-program-new-window-windows-cmd/wordcloud_hu_293cdb6cf51a1dfc.webp)