Cygwin is one of the simplest ways of executing your unfavorite UNIX commands in Windows without causing any changes to the current Windows setup.
One of the major gripes of Windows has been its redundant and at most instances very useless command prompt and lackluster features, when it comes to heavy duty (say scripting and file manipulation) jobs. Even a simple search in Windows is a painstaking affair of reaching the find option and then waiting for the search to end (though the new desktop search options seem to have eased this problem a bit). When a simple task of finding the list of tasks running on the system involves pressing a combination of buttons and then reaching the right window and then only to find that there is no way to understand what each of those application names mean- it cant get any harder than this (in the Cygwin prompt use: ps -W ). Where as the same in Unix/Linux would be a single command on the prompt 'ps -ef'. There are more that I can go on and on about but would leave that to the two communities who are already at loggerheads on who is better than the other.
I personally feel Linux is much better and sooner or later would become close to what Windows is to us today. Did you know that the beautiful Mac is also another version of Unix? Very hard to believe isnt it?
Cygwin which is GNU licensed , is a Linux-like environment for Windows. It consists of two parts:
- A DLL (cygwin1.dll) which acts as a Linux API emulation layer providing substantial Linux API functionality.
- A collection of tools which provide Linux look and feel.
But Cygwin has caveats too :
Nonetheless you will be surprised with the likeness Cygwin has to Unix/Linux.
Cygwin provides a very simple way of trying out Unix and its repository of powerful tools on Windows without having to really install or format the hard drive. It is very helpful for people who want to try and have a look at Unix or Linux before they jump to Linux or who would like the additional tools in Unix/Linux on Windows too.
Installation: The Cygwin installation is simple with the install getting initiated from a small setup app which in turn gives you the option of downloading the packages of your choices from a list of hosted locations. And in case you are not very sure of the packages just go with the default and it should be ok. If for some reason you would like to install Cygwin on a computer without access to the internet, you could reuse the package downloaded locally by copying them to the other computer and selecting them as the source for install.
I had always been a fan of Linux and had the opportunity to hang on with it though much of my personal work is on the Windows OS. Over the years I have come to learn of the huge benefits of having Unix/Linux tools around. The tools in Unix and Linux are one of the biggest reasons that people stick to them. Being a person who codes on Unix boxes and executes them on UNIX systems it was hard to accept that we don't have an option to use them in Windows. Tools like grep, find, ls, lynx, vi, vim, ps, kill and many many more are missing from Windows. I am sure that these tools might look a bit alarming at first because in the Unix/Linux world most of the time these are run directly from the command prompt, but I can assure you that me and most of my friends would happily give way to these in Windows if given an option.