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 case.
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:
http://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 package
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.
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