Cygwin--A Tool for Learning and for Remote Admin
Server Training - Server Administration

Cygwin--A Tool for Learning and for Remote Admin

by Donnie Tevault


A few weeks ago, a student asked me if there were any tool that he could install on his Windows computer that would help him learn the Linux command-line. Of course, the ideal would be to have a computer that's running Linux, but in some cases that might not be possible. Other options would include installing Linux as a virtual machine on a Windows computer, or booting from a live Linux CD. But, if you don't have the disk space for a full-blown Linux VM, or if for some reason you can't shut down Windows to boot a live CD, then you'll need another option.

Enter Cygwin.

Cygwin was developed by Cygnus Solutions, which has since been acquired by Red Hat. It's a bash shell environment that can be installed on Windows 2000, WindowsXP, or Windows Vista computers. (Currently, it also works under Windows 95, Windows 98, and WindowsME. However, support for these legacy versions of Windows will be dropped with the next revision of Cygwin.) You can download the setup program for free from the Cygwin web site, at http://www.cygwin.com .


Cygwin web site


When you invoke the setup program. . .

Invoking the setup program

 

. . .you'll be presented with a list download servers.  Choose whichever one suits your fancy. 

 

Choose a download server

 

Next, you'll see a list of optional Cygwin components.  There's a fairly wide range to choose from, including database programs, text editors, development tools, games, and alternate shells.  (There are also X-Windows components that you can install, though I've never had any real luck in getting Cygwin-X to work.)  Choose which ones you want to install.

Optional packages

 

When you're through with your selections, Cygwin setup will download and install the desired components.  If you ever want to delete, add, or upgrade components, just run the setup program again.

 

Download and install

 

The first time you run Cygwin, it'll create your bash environment files.

 

bash environment files

 

 

If all you need is a command-line learning tool, Cygwin will allow you to work with both native Linux commands, and with Linux tools such as sed, gawk, grep, etc.

Cygwin as a learning tool

 

If you're a system administrator at a company with Linux servers and Windows desktops, you can install the SSH component and use Cygwin to remotely log in to the Linux servers.

 

Remotely administer Linux servers

 

Cygwin isn't perfect, though.  Sometimes, it doesn't render things perfectly.

 

Not quite perfect

 

In spite of the imperfections, I think you'll find Cygwin quite handy and quite useable.