GNU On Windows

An operating system (OS) like Windows and Linux starts out as a program that runs other programs. It manages access to memory, hard disks and USB ports but it doesn't do anything for the user, that is the role of application programs. However all OS's need a set of basic utility programs that browse folders and copy or delete files.

When Linus Torvalds started developing the OS that we know as Linux. he was working on a program to run other programs - the kernel. On its own it would never have become the major force it now is without GNU. This was a separate initiative headed by Richard Stallman that also planned to develop a new operating system. The GNU project was creating the utilities it would need when along came the Linux kernel.

GNU ApplicationsEver since the GNU tools have been part of any Linux system, and have developed into a sophisticated set of power tools. They are command line tools and the output of one can be piped into another or saved as a file. The GNU programs would be just as useful on Windows but until recently this meant running a Linux emulator which could then run the GNU tools.

Now around 130 GNU utilities have been compiled as native Windows programs and are available as the 'GNU On Windows' package (GOW). GNU has always been open source software and the package is free to download from: https://github.com/bmatzelle/gow/downloads . Double click the downloaded program (as at May 2012: Gow-0.5.0.exe), accept the default options and click 'Close' when the installation has finished

In old fashioned Linux style it instantly disappears and leaves no short-cuts or clues as to what you do next. Don't give up - all the GNU utilities have been added to the repertoire of tasks that the Windows command line program can do. They do not have a graphic interface which is why there are no short-cuts of links to them.

You can open a command line window by typing cmd.exe in the Start Menu's search box and pressing return. or find it from 'All Programs' in the Accessories folder. It may look like an ordinary Windows command line window but it is effectively a Linux 'terminal' grafted into the heart of Windows, with a scripting language, advanced text editor and a raft of other tools.

Start by typing:
gow -l
to get a list of the available executables, and to find out how to use them type for example:
agrep --help
to see how to use the 'Approximate Pattern Matching' utility. Not all utilities have the help option and you may find a 'Linux in a nutshell' book useful.

Here are a few examples of the industrial strength utilities:
bash # a 'shell' that provides a scripting environment
grep # search tool using regular expressions
sed # stream editor (file in - edit - file out)
tar # widely used archiving utility
unrar # GPL release of an older version of the WinRAR archiver
vim: # powerful text editor for keyboard users
wget # internet download tool

In practice the complex options of these tools restrict their use to carefully tested apps which are run as part of a backup or updating routine. Linux distributions often have graphic programs that simplify their use, but nothing like that is included in the GOW package. If you are looking for uniquely flexible tools that let you handle complex tasks then you should take a look at GOW. For the rest of us it is more a geek status symbol that you'll be unlikely to use.