The GNU Project3.1 was begun in 1984 by Richard Stallman of MIT
with the aim to develop a complete free (meaning free for everyone to
look at, to learn from, and to build upon) software operating system.
In 1989 he codified the terms under which this free software was
released, producing the GNU Public License (GPL) which is the basis on
which much of the GNU/Linux operating system is released. The license
is often referred to as the copyleft license in contrast to
the restrictive practise of copyright.
By 1991 when Linus Torvalds wrote his Linux kernel GNU provided the
operating system. By combining the GNU operating system with the Linux
kernel the seeds for this most popular free operating system were
Many users installed the GNU tools on many different computers as
replacements for vendor supplied tools. This provided these users with
a consistency across the many different platforms they used. The
tools even eventually appeared under MS/Windows, providing a
Unix-like environment on a very different operating
The tools developed by the GNU project include such essential
utilities as the GNU file management utilities and the GNU text file
processing utilities. The GNU file management utilities include
fundamental command line tools like ls (to list information
about files/documents), mkdir (to create new
directories/folders), mv (to move directories and files
around), rm (to remove files), and many more. The GNU text
file processing commands include cat (to concatenate files
together), head (to preview the top few lines of a file),
sort (to sort the contents of a file), and wc
(to count the number of lines, words, and bytes in a file).
The toolkits developed by the GNU project are comprehensive. The
following table lists just some of the 200 or more packages that you
can obtain freely from
||An interactive spell checker that suggests `near
misses' to replace unrecognised words.
||A powerful yet simple pattern-based scripting language.
||The Bourne Again SHell is compatible with the
traditional Unix sh and offers many extensions found in
csh and ksh. It is similar in concept to DOS.
||Consists of programs used to assemble, link, and
manipulate binary and object files. It is used in conjunction with a
compiler and various libraries to build programs for Linux.
||A state-of-the-art chess-playing program.
||The Concurrent Versioning System used for version control
and management of software projects.
||An extensible, customisable real-time display
editor and computing environment. This editor is widely used by
developers and is more than just an editor. Emacs is capable of
reading email, of providing integrated development environments, and
spreadsheets, to name just a few.
||An ASCII file formatter generating PostScript for
printing of text documents on PostScript printers.
||A document viewer for Gnome with support for
viewing pdf, ps, djvu,
tiff, and dvi files.
||File management utilities.
||The `find' utility is frequently used both interactively
and in shell scripts to find files which match
certain criteria and perform arbitrary operations on them.
||A free compiler collection for C, C++, Objective C and
other languages. This compiler is used widely, on multiple
platforms, including MS/Windows.
||A source-level debugger for C, C++ and Fortran.
||An interpreter for the Postscript and PDF
||A sophisticated graphical image manipulation application.
||The GNU desktop which provides a consistent
graphical user interface for common applications including
everything from spreadsheets to mail clients, and more.
||A graphical application for retrieving, organising, and
publishing images in various graphics formats, from a range of
supported digital cameras.
||A complete implementation of the OpenPGP Internet
standard for providing pretty good protection through encryption.
||A GUI toolkit for the X Window System. All Gnome
packages use this toolkit for their consistent look and feel.
||GNU's program for compressing and decompressing files.
||An alternative, and very popular desktop which
provides a consistent graphical user interface for common
applications including everything from spreadsheets to mail
clients, and more.
||A display paginator similar to `more' and `pg', but with
various features (such as the ability to scroll backwards) that most
||Programs to allow Unix systems to read, write, and
manipulate files on a DOS file system (typically a diskette).
||A system for statistical computation and graphics.
||Useful command line utilities including `basename',
`date', `dirname', `echo', `groups', `hostname', `printf',
`pwd', `uname', `uptime', `users', `who', and `whoami'.
||An archive utility.
||A set of utilities for manipulating text.
||A utility to report on the time taken to execute other
||A non-interactive web browser to retrieve files from
the Internet using HTTP and FTP. See Chapter 97.4 for
Many of these GNU tools are command line tools but a growing number of
them are now also GUI-based, including Gnome, KDE, The Gimp, and
Copyright © 1995-2006 [email protected]