Sampai sekarang, saya tidak pernah berpikir (dan tidak pernah mengamati) itu cmd
dan command
ada dua hal yang berbeda. Ya, benar?
Lihatlah foto ini:
Sebenarnya, saya biasanya membuka cmd
dari dialog Run setiap kali saya ingin command-line (untuk Git / VIM). Jadi, saya mengkustomisasi posisi tampilan, font, warna, dll. Hari ini, saya, command
sebagai gantinya , mengetik Run bukannya cmd
dan menemukan bahwa ada sesuatu yang baru di jendela saya. Ini memiliki "DOS" di jendelanya.
Jadi, jelas harus ada perbedaan antara cmd
dan command
. Saya ingin tahu
- Perbedaan di antara mereka.
- Mengapa Microsoft memisahkan mereka (Unix & Linux hanya memiliki satu shell secara default, Bash).
windows
command-line
shell
ms-dos
Surya
sumber
sumber
command.com
adalah versi 16bit lama (hanya tersedia pada instalasi 32bit). Itu tidak ada pada versi 64bit saya dari Windows 7.Jawaban:
TL; DR
Ketika Anda menjalankan program konsol 32-bit, itu dijalankan oleh
cmd
; ketika Anda menjalankan program konsol 16-bit, itu dijalankan olehcommand
.Detail
Windows XP mencakup subsistem untuk mendukung aplikasi 16-bit yang lebih lama.
Aplikasi 16-bit lama tersedia sebagai program DOS dan Windows. Program DOS pada dasarnya adalah aplikasi konsol dan dijalankan dalam apa yang tampak seperti command-prompt. Namun aplikasi konsol Windows 32-bit sangat mirip dan terlihat sama.
Pemroses perintah / juru bahasa
cmd
memiliki beberapa tujuan:dir
,copy
, dll).bat
file yang kompatibel dengan DOS dan.cmd
file yang kompatibel dengan NT )Ketika Anda menjalankan program konsol 16-bit lama, itu dijalankan oleh NTVDM (Windows NT Virtual DOS Machine). Ini menyediakan sistem DOS yang ditiru (karenanya mesin DOS virtual ) yang mirip dengan menjalankan perangkat lunak mesin virtual khusus, kecuali lapisan emulasi lebih sederhana.
command
adalah versi 16-bit dari command-interpreter yang jauh lebih dekat dengan DOS sebenarnya daripadacmd.exe
yang sebenarnya merupakan program Windows (dan memiliki header Windows PE, tidak seperticommand.com
yang memiliki header DOS MZ).command
memiliki tujuan yang sama seperticmd
kecuali bahwa itu hanya mendukung program 16-bit. Selain itu, ia tidak mendukung.cmd
file dan memiliki lebih sedikit perintah bawaan dan lebih terbatas dalam sintaksisnya (cmd
adalah penerjemah baris perintah yang lebih baru, lebih modern, lebih maju, mirip dengan 4DOS ).Namun, ini mendukung program DOS grafis (seperti game lama), tetapi keberhasilan menjalankannya tergantung pada driver kartu video dan sifat program. Ada banyak situs yang menawarkan berbagai trik untuk menjalankan game DOS di Windows (walaupun keberhasilan di Vista dan yang lebih tinggi biasanya lebih terbatas daripada di XP).
Perlu dicatat bahwa Windows versi 64-bit telah sepenuhnya menjatuhkan dukungan dari program 16-bit, dan karenanya tidak termasuk
command
sama sekali, sehingga baik program DOS maupun Windows 16-bit tidak akan berjalan dan sebagai gantinya akan mengirimkan pesan kesalahan (menyesatkan) .Catatan teknis
command.com
memiliki.com
ekstensi untuk kompatibilitas mundur dengan program DOS, tetapi seperti kebanyakan versi Windows lainnya dari perintah DOS eksternal, secara internal, itu sebenarnya adalah.exe
file Windows PE . Ini memberikan pengamatan menarik bahwa sementara Windows menggunakan ekstensi sebagai indikator bagaimana menangani sebagian besar tipe file, untuk yang dapat dieksekusi, ekstensi tersebut mengabaikan ekstensi dan melihat isinya (jika.exe
tidak, tidak akan berfungsi jika diperlakukan sebagai a.com
). Pertanyaan ini berkaitan dengan efek ini.sumber
Why would you say this? Are non-command line non-TUI DOS apps 'unnatural' in some way?
Semacam. Dalam 9x, mereka baik-baik saja, tetapi aplikasi grafis (misalnya, game) tidak lagi berfungsi dengan baik jika sama sekali di XP +, sehingga sebagian besar aplikasi DOS yang dijalankan pada Windows (biasanya) saat ini memang merupakan alat baris perintah alih-alih aplikasi grafis yang lengkap. Pada mesin 64-bit, aplikasi 16-bit tidak berjalan sama sekali, tetapi bahkan aplikasi 32-bit biasanya merupakan aplikasi konsol, terutama karena Vista menjatuhkan dukungan untuk konsol layar penuh .juga...
Itu dari artikel Wikipedia yang informatif ini.
Ada disebutkan tentang bagaimana perintah command.com yang lebih lama telah digulirkan ke fungsi cmd.exe yang lebih baru ... misalnya ...
Jadi, silakan baca.
sumber
command.com
adalah shell DOS, disediakan untuk kompatibilitas.cmd.exe
adalah program Win32 asli, yang diwarisi dari OS / 2.sumber