Training 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 look 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 can read more about the history of Windows and DOS on Wikipedia.