The MinGW Project’s msys (“Minimal System”) is my personal favorite pseudo Unix environment on Windows. More about the latest install below.
The main reason I like msys so much is that it’s extremely light weight. Red Hat’s cygwin has more features and comes closer to “Linux on Windows” than any other product, but all those features mean a huge footprint for your average cygwin install. If all you need are some basic Unix utilities and a decent bash shell to work in cygwin will do the job. But msys will do it much more efficiently IMHO.
To install msys you should first download the latest MinGW installer, called “mingw-get-inst.exe” (the latest filename will contain a datestamp). Look for it here.
Run the installer. Unless you really want the MinGW compiler components, deselect everything except msys. Follow the prompts and choose the path you want the MinGW packages to be installed (I use “c:MinGW”). This will cause a subdirectory to be installed for msys, for example “c:MinGWmsys”.
Once you get it installed you’ll have a fairly complete environment at your disposal. The one thing you’ll want to add right away is a terminal emulator. By default msys uses a Windows shell console. For anyone used to working in a real shell this can be painful.
But all is not lost. Among the extra packages available for msys is msys-rxvt, a fairly decent implementation of the old RXVT terminal emulator for X Windows. To get it open up an msys shell and type the following:
me@MYHOST ~ $ mingw-get install msys-rxvt
With rxvt installed all that’s left to do is modify the properties of the MinGW Shell shortcut on your desktop (and/or under “All Programs… MinGW”) to add “–rxvt” in the “Target” window so it looks something like this:
Double-clicking on the shortcut will launch an rxvt terminal session with the msys environment.