COMMAND.COM

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이 존재할 수 있다.

주요 기능

  1. 명령 해석: 입력된 문자열을 토큰화하고, 내부 명령(예: DIR, COPY, DEL, CLS)이나 외부 실행 파일을 찾아 실행한다.
  2. 배치 파일 실행: .BAT.CMD 파일을 순차적으로 처리하여 스크립트 기반 자동화를 지원한다.
  3. 환경 변수 관리: SET 명령을 통해 변수 정의·조회가 가능하며, PATH 등 시스템 전역 변수의 설정을 담당한다.
  4. 파일 및 디렉터리 작업: 파일 복사, 삭제, 이동, 디렉터리 생성·변경 등의 기본 파일 시스템 조작을 수행한다.
  5. 에러 처리: 명령 실행 결과에 따라 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” (영문 위키피디아)

이 문서는 객관적인 정보를 기반으로 작성되었으며, 공개된 자료에 근거한 내용만을 포함한다. 추가적인 상세 정보가 필요한 경우 공식 문서나 기술 서적을 참고한다.

둘러보기

더 찾아볼 만한 주제