Cygwin is a collection of Linux tools that are compiled to work on
Windows as .exe
executables.
This is one
description :
Cygwin is a collection of open source tools that allows Unix or Linux
applications to be compiled and run on a Microsoft Windows operating
system (OS) from within a Linux-like interface. Cygwin offers users a
Linux-like experience in a Windows environment. This capability helps
developers migrate applications from Unix or Linux to Windows-based
systems and makes it easier to support their applications running on
the Windows platform.
At the heart of the Cygwin collection of tools is the cygwin1.dll
dynamic link library (DLL). The DLL serves as an emulation layer that
provides Portable OS Interface, or POSIX, system call functionality.
The Cygwin distribution also has a large collection of free tools,
including most GNU and many Berkeley Software Distribution tools,
along with an X server and a full set of X applications.
In effect, Cygwin is a layer between Linux-origin code and the Windows
API. It offers libraries that are modified Linux libraries to use
Windows calls, while presenting the familiar Linux syntax.
It has a runtime layer, implemented by cygwin1.dll
, which
is the runtime that does the translating to Windows API.
To emulate a unified Linux environment, this DLL creates a
shared memory memory segment that is used by all its tools and their
own copies of cygwin1.dll
.
Cygwin is not intended to work as a Linux virtual environment such as WSL,
but to be a tool for Linux developers to port and test their Linux
programs on Windows in a familiar environment.
Cygwin supports both Linux and Windows file-names, which lets its
utilities to work on Windows folders and files. Some caution should
be used, since there are some differences between Windows and Linux.
For example Cygwin Linux tools use a line-feed as the line-end character,
while windows uses two characters for that.
All Cygwin tools are .exe
programs that run on Windows, and they can
be used anywhere that a Windows tool can be used.
References :
Cygwin
permits you to install Linux programs and compile it as a Windows executable. It handles versions and mirror according what you chose during installation step.Cygwin
bundles a full Linux environment with same "skeleton". - For example, you can install and use the ssh daemon ofCygwin
and use it to connect to your Windows environment.Cygwin
has a drives management in a specific path.rsync
for example and add the binary path to your PATH variable, you will be able to use it as any program withoutCygwin
installed on your machine.