« Back to list of missions

Missions: Finding the command line on Windows


(Warning: This page is exciting if you are interested in
learning about our priorities and lots of other ways to get a
command prompt on Windows. If you just want your computer to
have a functioning command prompt, and learn how to use it well,
read the other pages!)

There are three major command prompt systems on Windows:

  • cmd.exe
  • Cygwin
  • mingw

We recommend a UNIX-y prompt like Cygwin or mingw because the
training missions teach how to use tools like tar and
git. Installing those without Cygwin or the Git Bash installer can
be error-prone and time-consuming.

In choosing the Git Bash installer over Cygwin, we like that
the following aspects:

  • The installer offers relatively few options, compared to Cygwin’s long option list.
  • The programs within mingw provide slightly better Windows integration.

If you already have Cygwin installed, and are comfortable with
it, you should be able to do the training missions within that
environment. However, you will not be able to use our recommended
instructions for installing software. Git Bash and Cygwin can
co-exist peacefully.

We’re aware there are even more alternative options for running
UNIX-y tools on Windows. mingw64 is a separate project from
ming32, and mingw64 is more actively-maintained. (For example,
Debian is standardizing its Windows compiler collection to be
based on the mingw64 project’s work.) You can run GNU/Linux and
Windows at the same time through tools like coLinux and
VirtualBox. Microsoft provides a toolkit called Services For
Unix, although it seems that they are no longer maintaining it..

Additionally, the choice of terminal emulator and shell are
actually separate. Cygwin and mingw, by default, use the same
C/SRSS system that powers cmd.exe. You can run Cygwin and an X
server and xterm, for just one alternate configuration; it would
something like this.
You could use
PuTTY as the terminal emulator and the bash bundled with Git
Bash. Our tutorial glosses over that difference, but power users
might be intrigued by these options.

For those with who warmly remember GNU-y prompts in Windows and
DOS over the past twenty years, I suggest reading
the Wikipedia
page for GnuWin32
following links from there. I have fond
memories of GnuWin32, and you may have enjoyed DJGPP.

One important note is that the command prompt (“cmd.exe”)
common thought is that command prompts on Windows are called
“DOS.” Since 2001, the accurate term is “command prompt.” You
read more about the history of Windows and DOS on Wikipedia.