Cygwin provides a lot of UNIX based tools on the Win32
platform. It uses a UNIX emulation layer which might be a bit
slower compared to the native Win32 tools, but at an acceptable
level. The installation and update is pretty easy and done
through a single (web based) setup.exe.
The native Win32 tools will typically be a bit faster,
but more complicated to install, as you would have to download
the tools from different webpages, and install them in
different ways, tweaking the PATH and alike.
As there's no Win32 native bash version available, at
least a basic installation of cygwin is required in any
Although Cygwin consists of several separate packages,
the installation and update is done through a single setup.exe,
which acts similar to other web based installers. All tools
will be installed into one base folder, the default is
You will find this network based setup.exe at:
https://www.cygwin.com/. Click on one of the
"Install Cygwin now" appearances to download the
setup.exe. After the download completed,
setup.exe on your machine.
The setup will ask you for some settings, the defaults
should usually work well for a first start. At the "Select
Packages" page, you'll need to select some additional packages,
which are not installed by default. Navigate to the required
Category/Package row and click on the "Skip" item in the "New"
column so it shows a version number for the required
After clicking the Next button several times, the setup
will then download and install the selected packages (this may
take a while, depending on the package size).
Under: "Start -> Programs -> Cygwin -> Cygwin
Bash Shell" you should now be able to start a new Cygwin bash
shell, which is similar to the command line
(command.com/cmd.exe) in Win32, but much more powerful.
4.2.1. Add/Update/Remove Cygwin Packages
If you want to add additional, update installed or
remove packages later, you have to start the setup.exe again.
At the "Select Packages" page, the entry in the "New" column
will control what is done (or not) with the package. If a new
version of a package is available, the new version number
will be displayed, so it will be automatically updated. You
can change the current setting by simply clicking at it, it
will change between:
a specific version number - this different package
version will be installed
Skip - not installed, no changes
Keep - already installed, no changes
Uninstall - uninstall this package
Reinstall - reinstall this package