Have you ever been stuck using the-OS-which-mustn’t-be-named without the most basic of utilities, bash!? How are we supposed to actually do anything with that thing they call an OS? Well the answer may be Cygwin..
So what is Cygwin?
The Cygwin tools are ports of the popular GNU development tools for Microsoft Windows. They run thanks to the Cygwin library which provides the UNIX system calls and environment these programs expect.
With these tools installed, it is possible to write Win32 console or GUI applications that make use of the standard Microsoft Win32 API and/or the Cygwin API. As a result, it is possible to easily port many significant Unix programs without the need for extensive changes to the source code. This includes configuring and building most of the available GNU software (including the packages included with the Cygwin development tools themselves). Even if the development tools are of little to no use to you, you may have interest in the many standard Unix utilities provided with the package. They can be used both from the bash shell (provided) or from the standard Windows command shell.
(from Cygwin’s FAQ)
I played with Cygwin a while ago; I can’t say much about it because I really didn’t use it that much. It seemed to be pretty cool and from what I remember it even has a packager of sorts. Hopefully, if you are forced to use Windows occasionally, like me, and have permissions to install stuff, unlike me, this may just make your computing experience almost bearable.