Windows에서 CMD와 명령 프롬프트의 차이점은 무엇입니까? 결코 생각하지 않았다 (및 관찰되지

지금까지, 나는 결코 생각하지 않았다 (및 관찰되지 않음) cmdcommand다른 두 가지가 있습니다. 글쎄요 ?

이 사진을 살펴보십시오.

여기에 이미지 설명을 입력하십시오

사실, 나는 일반적으로 cmd명령 줄을 원할 때마다 실행 대화 상자에서 열립니다 (Git / VIM 용). 그래서 표시 위치, 글꼴, 색상 등을 사용자 정의했습니다. 오늘, 변경을 위해 commandRun 대신에 입력 하여 cmd창에 새로운 것이 있음을 발견했습니다. 창에 “DOS”가 있습니다.

따라서 cmd와 사이에는 분명히 차이가 있어야합니다 command. 나는 알고 싶습니다

  1. 그들 사이의 차이점.
  2. Microsoft가 분리 한 이유 (Unix & Linux에는 기본적으로 Bash가 하나만 있습니다).


답변

TL; DR

32 비트 콘솔 프로그램을 실행하면 cmd; 16 비트 콘솔 프로그램을 실행하면에 의해 실행됩니다 command.

세부

Windows XP에는 이전 16 비트 응용 프로그램을 지원하는 하위 시스템이 포함되어 있습니다.

이전 16 비트 응용 프로그램은 DOS 및 Windows 프로그램으로 사용할 수 있습니다. DOS 프로그램은 본질적으로 콘솔 응용 프로그램이며 명령 프롬프트처럼 보이는 방식으로 실행됩니다. 그러나 32 비트 Windows 콘솔 응용 프로그램은 매우 유사하며 동일하게 보입니다.

명령 프로세서 / 인터프리터 cmd에는 여러 가지 목적이 있습니다.

  • 32 비트 텍스트 Windows 콘솔 프로그램을 실행하려면
  • 제공하고 다양한 명령 줄 기능을 처리하기 위해 ( dir, copy, 등)
  • 배치 파일 (DOS 호환 .bat파일 및 NT 호환 .cmd파일) 해석 및 실행

이전 16 비트 콘솔 프로그램을 실행하면 NTVDM (Windows NT Virtual DOS Machine)에 의해 실행됩니다. 에뮬레이션 계층이 더 단순하다는 점을 제외하고는 전용 가상 머신 소프트웨어를 실행하는 것과 유사한 에뮬레이트 된 DOS 시스템 (따라서 가상 DOS 머신 )을 제공합니다. command16 비트 버전의 명령 해석기 cmd.exe는 실제 Windows 프로그램 보다 실제 DOS에 훨씬 더 가깝습니다 ( command.comDOS MZ 헤더가있는 것과 달리 Windows PE 헤더 가 있음).

commandcmd16 비트 프로그램 만 지원한다는 점 을 제외하고 동일한 목적을가집니다 . 또한 .cmd파일을 지원하지 않으며 기본 제공 명령이 적으며 구문이 더 제한적입니다 ( 4DOScmd 와 유사한 새롭고 현대적인 고급 명령 줄 해석기 임).

그러나 이전 게임과 같은 그래픽 DOS 프로그램을 지원하지만, 비디오 카드 드라이버와 프로그램의 특성에 따라 성공적으로 실행됩니다. Windows에서 DOS 게임을 실행하기 위한 다양한 트릭 을 제공하는 수많은 사이트가 있습니다 (Vista 이상에서는 일반적으로 XP보다 성공이 제한적 임).

64 비트 버전의 Windows는 16 비트 프로그램에 대한 지원을 완전히 중단 했으므로 전혀 포함하지 않으므로 commandDOS 나 Windows 16 비트 프로그램이 실행되지 않고 대신 오도하는 오류 메시지가 표시됩니다. .

기술 노트

command.com.comDOS 프로그램과 이전 버전과의 호환성에 대한 확장을하지만, 외부 DOS의 다른 Windows 버전의 대부분의 명령처럼, 내부, 실제로 윈도우 PE의입니다 .exe파일. 이것은 Windows가 확장명을 대부분의 파일 유형을 처리하는 방법의 표시 자로 사용하지만 실행 파일의 경우 확장명을 무시하고 내용을 봅니다 (그렇지 않으면 .exea로 처리하면 작동하지 않음) 는 흥미로운 관찰 결과를 제공합니다 .com. 이 질문 은이 효과와 관련이 있습니다.


답변

DOS 프로그램 인 COMMAND.COM과 달리 cmd.exe는 일반적으로 Win32 콘솔에서 실행되는 기본 Windows 응용 프로그램입니다. 이를 통해 플랫폼의 기본 프로그램에서 사용 가능한 기능을 DOS 프로그램에서 사용할 수없는 기능을 활용할 수 있습니다.

또한…

cmd.exe의 OS / 2 및 Windows NT 버전 모두 command.com의 “잘못된 명령 또는 파일 이름”(잘못된 명령의 경우) 담요보다 자세한 오류 메시지가 있습니다.

유익한 Wikipedia 기사 에서 발췌 한 것입니다.

예를 들어 이전 command.com 명령이 최신 cmd.exe 기능으로 롤백 된 방법에 대한 언급이 있습니다.

deltree (command.com)의 기능은 / s 매개 변수 형식으로 rd (cmd.exe)로 롤백되었습니다.

따라서 자유롭게 읽으십시오.


답변

command.com 호환성을 위해 제공된 DOS 쉘입니다.

cmd.exe OS / 2에서 상속 된 기본 Win32 프로그램입니다.


답변