Networking | Programming | Security | Linux | Computer Science | About

GNU software found on most Linux distributions

At the heart of a Linux distribution is a collection of software that came from the GNU Project. You get to know these GNU utilities only if you use your Linux system through a text terminal — a basic command-line interface that doesn’t use on-screen visuals but a prompt at which you type your commands. (Or you could use a graphical window that mimics a text terminal and still have use of GNU utilities.)

The GNU software is one of the basic parts of any Linux distribution. As a Linux user, you may not realize the extent to which all Linux distributions rely on GNU software. Nearly all the tasks you perform in a Linux system involve one or more GNU software packages. For example, the GNOME graphical user interface (GUI) and the command interpreter (that is, the bash) are both GNU software programs. By the way, the shell is the command-interpreter application that accepts the commands you type and then runs programs in response to those commands. If you rebuild the kernel or develop software, you do so with the GNU C and C++ compiler (which is part of the GNU software that accompanies Linux). If you edit text files with the ed or emacs editor, you’re again using a GNU software package. The list goes on and on.

The table below lists some well-known GNU software packages that come with most Linux distributions.

autoconf Generates shell scripts that automatically configure source-code packages
automakeGenerates files for use with autoconf
bashThe default shell (command interpreter) in Linux
bcAn interactive calculator with arbitrary precision numbers
binutilsA package that includes several utilities for working with binary files: ar, as, gasp, gprof, ld, nm, objcopy, objdump, ranlib, readelf, size, strings, and strip
coreutilsA package that combines three individual packages called Fileutils, Shellutils, and Textutils and implements utilities such as chgrp, chmod, chown, cp, dd, df, dir, dircolors, du, install, ln, ls, mkdir, mkfifo, mknod, mv, rm, rmdir, sync, touch, vdir, basename, chroot, date, dirname, echo, env, expr, factor, false, groups, hostname, id, logname, nice, nohup, pathchk, printenv, printf, pwd, seq, sleep, stty, su, tee, test, true, tty, uname, uptime, users, who, whoami, yes, cut, join, nl, split, tail, and wc
cpioCopies file archives to and from disk or to another part of the file system
diffCompares files, showing line-by-line changes in several different formats
edA line-oriented text editor
emacsAn extensible, customizable, full-screen text editor and computing environment
findutilsA package that includes the find, locate, and xargs utilities
fingerA utility program designed to enable users on the Internet to get information about one another
gawkThe GNU Project’s implementation of the awk programming language
gccCompilers for C, C++, Objective C, and other languages
gdbSource-level debugger for C, C++, and Fortran
gdbmA replacement for the traditional dbm and ndbm database libraries
gettextA set of utilities that enables software maintainers to internationalize (make the software work with different languages such as English, French, and Spanish) a software package’s user messages
ghostscript An interpreter for the PostScript and Portable Document Format (PDF) languages
ghostviewAn X Window System application that makes ghostscript accessible from the GUI, enabling users to view PostScript or PDF files in a window
The GIMPThe GNU Image Manipulation Program, an Adobe Photoshop–like image processing program
GnomeProvides a graphical user interface (GUI) for a wide variety of tasks that a Linux user may perform
GNUchess A chess game GNU C Library For use with all Linux programs
GnumericA graphical spreadsheet (similar to Microsoft Excel) that works in GNOME
grep package Includes the grep, egrep, and fgrep commands, which are used to find lines that match a specified text pattern
groff A document formatting system similar to troff
gtk+A GUI toolkit for the X Window System (used to develop GNOME applications)
gzip A GNU utility for compressing and decompressing files
indentFormats C source code by indenting it in one of several different styles
lessA page-by-page display program similar to more but with additional capabilities
libpng A library for image files in the Portable Network Graphics (PNG) format
m4An implementation of the traditional UNIX macro processor
make A utility that determines which files of a large software package need to be recompiled, and issues the commands to recompile them
mtoolsA set of programs that enables users to read, write, and manipulate files on a DOS file system (typically a floppy disk)
ncursesA package for displaying and updating text on text-only terminals
patch A GNU version of Larry Wall’s program to take the output of diff and apply those differences to an original file to generate the modified version
rcsRevision Control System; used for version control and management of source files in software projects
sedA stream-oriented version of the ed text editor
Sharutils A package that includes shar (used to make shell archives out of many files) and unshar (to unpack these shell archives)
tarA tape archiving program that includes multivolume support — the capability to archive sparse files (files with big chunks of data that are all zeros), handle compression and decompression, and create remote archives — and other special features for incremental and full backups
texinfo A set of utilities that generates printed manuals, plain ASCII text, and online hypertext documentation (called info), and enables users to view and read online info documents
time A utility that reports the user, system, and actual time that a process uses

Depending on your interests, you may never need to use many of these packages, but knowing what they are there in case you ever do need them is a good idea.

Published on Thu 22 September 2005 by Dave Wilson in Linux with tag(s): gnu linux