If you are an experienced UNIX user who misses a powerful command-line environment, you will enjoy Cygwin. Note that there are some workarounds that cause Cygwin to behave differently than most UNIX-like operating systems; these are described in more detail in the section called “Using Cygwin effectively with Windows”.
Any time you want to update or install a Cygwin package, use the graphical setup.exe program. By default, setup.exe only installs a minimal set of packages, so look around and choose your favorite utilities on the package selection screen. You may also search for specfic tools on the Cygwin website's Setup Package Search For more information about what each option in setup.exe means, see the section called “Internet Setup”.
Another option is to install everything by clicking on the Default field next to the All category. However, be advised that this will download and install several hundreds of megabytes of software to your computer. The best plan is probably to click on individual categories and install either entire categories or packages from the categories themselves. After installation, you can find Cygwin-specific documentation in the /usr/share/doc/Cygwin/ directory.
Developers coming from a UNIX background will find a set of utilities they are already comfortable using, including a working UNIX shell. The compiler tools are the standard GNU compilers most people will have previously used under UNIX, only ported to the Windows host. Programmers wishing to port UNIX software to Windows NT or 9x will find that the Cygwin library provides an easy way to port many UNIX packages, with only minimal source code changes.