Table of Contents
Cygwin is a Linux-like environment for Windows. It consists of a DLL
(cygwin1.dll), which acts as an emulation layer
providing substantial POSIX (Portable Operating
System Interface) system call functionality, and a collection of tools,
which provide a Linux look and feel. The Cygwin DLL works with all x86
versions of Windows since Windows 95. The API follows the Single
Unix Specification as much as possible, and then Linux practice.
Two other major differences between Cygwin and Linux are the C library
(newlib instead of glibc) and
default /bin/sh, which is ash on
Cygwin but bash on most Linux distributions.
With Cygwin installed, users have access to many standard UNIX utilities. They can be used from one of the provided shells such as bash or from the Windows Command Prompt. Additionally, programmers may 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 development tools included with the Cygwin distribution).