From Cygnus Solutions:
Cygwin is a collection of tools which provide a Linux look and feel environment for Windows. Cygwin is a DLL (cygwin1.dll) which acts as a Linux API layer providing substantial Linux API functionality. The Cygwin DLL currently works with all recent, commercially released x86 32 bit and 64 bit versions of Windows.
What's new in this version:
Version 1.7.25 allows application override of posix_memalign.
I've been using cygwin for years to provide the Unix tools I know and love on Windows. In particular, I run bash in an emacs shell. Great tool set.
AFAIK, 1.7.9 is the last version that plays well with emacs shell buffers. Newer versions have some problem with signal handling, such that CTRL-C no longer works. Look for the older version if you want to run bash in a shell buffer.
It gives you the ability to run basic Linux-based scripts and programs on your Windows computer. It also provides the ability to use a Linux style interface instead of the Windows command prompt - including basic commands, if desired.
Prone to freezing and crashing, an odd selection of commands don't work, and it's an obscure solution in the day of cheap RAM and VirtualBox / VMWare.
If you can use a Linux VM, use it. Its more efficient, crashes less, and has full functionality. If you're just running one or two scripts, or writing your own, or there is no way you can use a Linux live CD or Virtual Machine, this is an alternative - the inverse of Wine, after a fashion (and it works about as reliably). Its free, so its absolutely worth a try if you are looking for this sort of solution.
- Fundamentally flawed concept - It never goes away
As a computer consultant, certain clients have forced me to use Cygwin on & off for decades. It's main idea is to put a layer of Unix-like software on MS-Windows, sort of like pouring chocolate syrup on a cow pie. It may smell all Unixy-chocolatty, but underneath it's still just Windows.
Cygwin is kept alive by Unix (and more recently Linux) bigots who are forced to work on Windows and don't want to learn it. Within limits, Cygwin allows their favorite Linux tools to work in Windows. The problem is the oddball corner cases where you just can't hide the difference make more trouble than the system is worth. One recent example I had was a large build script on which failed on Cygwin. It was fixed by the console command "rename makefile makefile". This should do nothing, but since Linux file names are case sensitive and Windows is not, this will rename "Makefile" to "makefile" (lower case m) and make the script work. Minor nits like this can eat days of your time. There are better ways to handle this. Cygwin is not worth the pain.
Other problems with Cygwin are the size (~2 Gigs - three times bigger than an Ubuntu CD!!!), and the many hours to download and install, even over a T1 line.
When you need to run Linux software on windows, It's much better to use a Virtual machine, like VMware and Sun Virtual Box to run Fedora. Share a drive, use "putty 127.1" to make a windows console on the Linux box, and you can do ANYTHING Cygwin can and much more, with all the reliability and features of Real Linux. The only reason to use Cygwin is if some Luddite client, partner or boss forces you to. When this happens, make sure you charge them extra.
Latest versions of Perl, Bash, vim, Xwindows, ssh, scp, gcc, g++, and vnc. Really like the new package selection program. Switch to Full View when selecting which components you want to install and just rerun the setup to add or delete pieces.
Version from this site (download) is out of date. Get latest downloader/setup program directly from cygwin.redhat dot com.