# Cygwin

intro

1 Cygwin

intro

Introduction to the Cygwin Environment

### DESCRIPTION

Cygwin is a Linux-like environment for Windows. It consists of two parts:

A DLL (`cygwin1.dll`) which acts as a POSIX API emulation layer providing substantial POSIX API functionality, modelled after the GNU/Linux operating system. The

intro

3 man page gives an introduction to this API.

A collection of tools which provide Linux look and feel. This man page describes the user environment.

### AVAILABILITY

Cygwin is developed by volunteers collaborating over the Internet. It is distributed through the website , where you can find extensive documentation, including FAQ, User's Guide, and API Reference. The Cygwin website should be considered the authoritative source of information. The source code, released under the GNU General Public License, Version 3 (GPLv3+), is also available from the website or one of the mirrors.

### COMPATIBILITY

Cygwin uses the GNU versions of many of the standard UNIX command-line utilities (`sed`, `awk`, etc.), so the user environment is more similar to a Linux system than, for example, Sun Solaris.

The default login shell and `/bin/sh` for Cygwin is `bash`, the GNU "Bourne-Again Shell", but other shells such as `tcsh` (an improved `csh`) are also available and can be installed using Cygwin's setup.

### NOTES

To port applications you will need to install the development tools, which you can do by selecting `gcc` in setup.exe (dependencies are automatically handled). If you need a specific program or library, you can search for a Cygwin package containing it at:

If you are a UNIX veteran who plans to use Cygwin extensively, you will probably find it worth your while to learn to use Cygwin-specific tools that provide a UNIX-like interface to common operations. For example, `cygpath` converts between UNIX and Win32-style pathnames. The full documentation for these utilities is at:

The optional `cygutils` package also contains utilities that help with common problems, such as `dos2unix` and `unix2dos` for the CRLF issue.

### DOCUMENTATION

In addition to man pages and texinfo documentation, many Cygwin packages provide system-independent documentation in the `/usr/share/doc/` directory and Cygwin-specific documentation in `/usr/share/doc/Cygwin/`

For example, if you have both `less` and `cron` installed, the command `less /usr/share/doc/Cygwin/cron.README` would display the instructions to set up `cron` on your system.

### REPORTING BUGS

If you find a bug in Cygwin, please read

and follow the instructions for reporting found there. If you are able to track down the source of the bug and can provide a fix, there are instructions for contributing patches at:

### SEE ALSO

intro

3

intro

3 Cygwin

intro

Introduction to the Cygwin API

### DESCRIPTION

Cygwin is a Linux-like environment for Windows. It consists of two parts:

A DLL (`cygwin1.dll`) which acts as a POSIX API emulation layer providing substantial POSIX API functionality, modelled after the GNU/Linux operating system. This page describes the API provided by the DLL.

A collection of tools which provide Linux look and feel. This environment is described in the

intro

1 man page.

### AVAILABILITY

Cygwin is developed by volunteers collaborating over the Internet. It is distributed through the website . The website has extensive documentation, including FAQ, User's Guide, and API Reference. It should be considered the authoritative source of information. The source code, released under the GNU General Public License, Version 3 (GPLv3+), is also available from the website or one of the mirrors.

### COMPATIBILITY

Cygwin policy is to attempt to adhere to POSIX.1-2008/SUSv4 (Portable Operating System Interface for UNIX / The Single UNIX Specification, Version 4) where possible.

SUSv4 is available online at:

For compatibility information about specific functions, see the API Reference at:

Where these standards are ambiguous, Cygwin tries to mimic Linux. However, Cygwin uses newlib instead of glibc as its C Library, available at:

Keep in mind that there are many underlying differences between UNIX and Win32 making complete compatibility an ongoing challenge.

### REPORTING BUGS

If you find a bug in Cygwin, please read

and follow the instructions for reporting found there. If you are able to track down the source of the bug and can provide a fix, there are instructions for contributing patches at:

### SEE ALSO

intro

1