COMMAND.COM은 MS-DOS 및 Windows 9x 계열 운영체제에서 기본 명령 인터프리터(쉘) 역할을 수행하는 시스템 파일이다. 일반적으로 디스크의 루트 디렉터리(예: C:\)에 위치하며, 파일 확장자는 .COM이다.
개요
- 파일명:
COMMAND.COM - 유형: 실행 파일(
.COM형식) - 주요 기능: 사용자로부터 입력된 명령어를 해석·실행하고, 배치 파일(
.BAT혹은.CMD)을 처리한다. 또한 환경 변수 관리, 디렉터리 탐색, 파일 복사·이동 등 기본적인 파일 시스템 조작 기능을 제공한다.
역사
- 초기 도입: IBM PC 호환 기종에서 사용된 MS-DOS 1.0(1981)부터 포함되었다. 당시
COMMAND.COM은 DOS의 표준 명령 셸로 설계되었으며, IBM PC DOS와 MS-DOS 양쪽 모두에 포함되었다. - 버전 변천: Windows 95, 98, Me와 같은 Windows 9x 계열에서도
COMMAND.COM이 그대로 사용되었다. 이들 운영체제에서는 그래픽 사용자 인터페이스(GUI)와 병행하여 명령 프롬프트 창에서COMMAND.COM이 호출되었다. - 대체와 전환: Windows NT 기반 시스템(예: Windows 2000, XP, Vista 등)에서는
COMMAND.COM대신cmd.exe가 기본 명령 인터프리터로 사용된다. 다만 호환성을 위해 NT 계열에서도COMMAND.COM이 존재할 수 있다.
주요 기능
- 명령 해석: 입력된 문자열을 토큰화하고, 내부 명령(예:
DIR,COPY,DEL,CLS)이나 외부 실행 파일을 찾아 실행한다. - 배치 파일 실행:
.BAT및.CMD파일을 순차적으로 처리하여 스크립트 기반 자동화를 지원한다. - 환경 변수 관리:
SET명령을 통해 변수 정의·조회가 가능하며,PATH등 시스템 전역 변수의 설정을 담당한다. - 파일 및 디렉터리 작업: 파일 복사, 삭제, 이동, 디렉터리 생성·변경 등의 기본 파일 시스템 조작을 수행한다.
- 에러 처리: 명령 실행 결과에 따라
ERRORLEVEL변수를 설정하여 스크립트 흐름 제어에 활용된다.
운영체제에서의 위치
- MS-DOS: 시스템 디스크 루트(
A:\또는C:\)에 기본 설치. - Windows 9x: 동일하게 시스템 루트에 존재하며,
C:\WINDOWS\혹은C:\WINDOWS\system폴더에도 복제본이 포함될 수 있다. - Windows NT 계열: 호환성을 위해
C:\Windows\System32\등에COMMAND.COM이 존재하지만 기본 실행 파일은cmd.exe이다.
보안 및 호환성
- 보안 이슈:
COMMAND.COM자체는 실행 파일이므로 변조될 경우 시스템 명령 처리를 악용할 가능성이 있다. 실제 보안 사고에서는 변조된COMMAND.COM이 루트킷이나 바이러스 전달 매개체로 사용된 사례가 보고되었다. - 호환성 레이어: Windows NT 기반 시스템은
NTVDM(NT Virtual DOS Machine)이라는 가상화 레이어를 통해COMMAND.COM기반 DOS 프로그램을 실행한다.
관련 파일·명령
| 파일/명령 | 설명 |
|---|---|
CMD.EXE |
Windows NT 계열의 기본 명령 인터프리터 |
AUTOEXEC.BAT |
시스템 시작 시 COMMAND.COM이 자동으로 실행하는 배치 파일 |
CONFIG.SYS |
부팅 시 시스템 설정을 담당하는 파일, COMMAND.COM과 연계됨 |
SET |
환경 변수 설정·조회 명령 |
ECHO |
문자열 출력 명령 |
참고 문헌
- Microsoft 공식 문서: MS-DOS Command Reference
- Windows 95/98 사용자 매뉴얼
- Wikipedia, “COMMAND.COM” (영문 위키피디아)
이 문서는 객관적인 정보를 기반으로 작성되었으며, 공개된 자료에 근거한 내용만을 포함한다. 추가적인 상세 정보가 필요한 경우 공식 문서나 기술 서적을 참고한다.