McGraw-Hill OnlineMcGraw-Hill Higher EducationLearning Center
Student Center | Instructor Center | information Center | Home
Glossary
Sample Configuration Scripts
Internet Resources
Feedback
Help Center


Book cover
Introduction to UNIX
Kate Wrightson
Joe Merlino


Glossary

Acceptable Use Policy (AUP)  An acceptable use policy is a set of guidelines and requirements, which affect every user on a particular system. AUPs control user behavior, including disk space usage, activity on the Internet, remote connections, and other activities, which might harm the system or external networks. Your school, if it offers computer access, as well as any commercial Internet Service Provider (ISP) you might use, will have AUPs to which you must agree before logging into the system.
Aliases  In general terms, an alias is a particular string or name, which actually refers to another location or machine on the network, just as a person may use a false name. There are three general types of alias:
1. A configuration parameter that allows one given command to be used as a synonym for another command. A common use of this type is to invoke the Bourne Again shell (bash) when a script calls for the regular Bourne shell (sh).
2. A machine which has several names, each defined in the /etc/hosts file, and each of which can be used to access services and files on that machine.
3. A service configuration, which allows individual users to be defined as the person responsible for the service, rather than creating new accounts. In this case, an account like "webmaster" might be aliased to the user account "jennifer" rather than requiring Jennifer to log into a separate account to view webmaster mail.
Applet  An applet is a small program, which can be embedded into a number of file types, and which will run independently when it is activated or the file is opened. Applets are most commonly found in Web files, but are also part of the graphical desktop environments like KDE and Ximian.
Application Programming Interface  An Application Programming Interface, or API, defines the particular programming conventions that must be used when writing software for a particular operating system or application. For example, if you were to write a new graphical widget or application for the Gnome integrated desktop, you would need to read the Gnome API and adhere to its guidelines when writing your own program. Ignoring the API means that your program may not work, or that it might even damage the parent program when run.
Archive Files  Archive files are composite files, which are created by compressing multiple files together into one file. The programs "tar" and "gzip" are the most common Unix compression utilities. In order to use an archive file, it must be uncompressed and the files restored to their regular state.
See Tarball.
Argument  An argument is issued as part of a shell command. Arguments may define the file or location, which is the target of the command, or they may be used to identify a user whose account will be affected by the command.
See Option.
Array Variables  Array variables take a value, which is a series of items, whether numbers or words.
See String Variable.
Bits  A discrete unit of binary data. Bits are the smallest possible data unit, and take either the value of 1 or 0.
Boot Block  The boot block is the first designated block on the disk, and is read first when the computer is powered on. It contains information about how the file system is organized and prepares the disk to have the operating system booted.
Buffer  A buffer is a section of system memory, which contains currently used data. Buffers speed program response because the data need not be retrieved from the hard disk each time it is required. The buffer concept is also used in text editors, especially GNU Emacs.
Case Sensitive  Case sensitive programs consider capital letters to be different elements than lower case letters. For example, a case sensitive system does not parse A and a in the same way. Many programs can be toggled between case sensitivity and insensitivity, as with the Web server Apache, which can be configured to ignore case in browser URL requests. However, Unix systems are generally case sensitive by default.
Client-Server Architecture  Client-server architecture is a way of constructing services and networks. In this method, a particular service is run on a central machine, or server. Individual client programs then connect to the server and receive their requested data. The Web is probably the best-known client-server service, but many other services also use this architecture whether they are Internet services or not.
Command Interpreter  A command interpreter is any program, which takes instructions from the user or from a program and translates them into language, which the computer's processor can understand. Shell environments are command interpreters.
Command Line Interface  The command line interface is unique to text-based operating systems. In such systems, instructions are given to the operating system through typed commands.
Command Prompt  A short text string, which indicates the place where commands may be typed. The prompt can be configured to show a variety of data about the user or system.
Command Shell  The shell interprets user input for the kernel and processor. There are a number of command shells available for Unix variants, including the Bourne Again shell on which this text concentrates. Shells are text-based and use the command prompt; even within a graphical user environment, shells can be used within terminal windows.
Command Substitution  The act of using the output of one command as the argument to another.
Command Syntax  Each shell command has a particular syntax, which is the way in which the command must be phrased so that it can be interpreted and return the appropriate result.
Command Word  The text string, which is entered at the command prompt to invoke the desired program. Most programs use their names as the command word, though some use an abbreviated version or acronym.
Comments  Sections of a program which are intended for human eyes, and which contain explanations or helpful advice about running the program. Each line of a comment is begun with the #, or hashmark, character, which indicates to the compiler or command interpreter that those lines should be ignored and not executed.
Commodity Software  Software, which can be purchased independently from a computer. Most software today is commodity software, including all the programs, which can be purchased at an electronics store or downloaded over the Internet.
Compilers  A program, which translates code from programming language to a language, understood by the specific Unix variant on which the program would be used. Compilers allow programmers to write a single version of a program, rather than writing a version for each possible Unix variant upon which the program will be run. Programs are compiled as part of the software installation process.
Configuration Files  Configuration files are used by a wide variety of Unix programs. These files contain variables, which define the way in which the program appears to the user, or the way in which the program runs. Most configuration files can be edited in a text editor.
Directories  A file type, which serves as a container for other files. Directories are the core of the Unix file system, and directions to an individual file are given as the list of directories in which that file is nested.
Display Manager  Part of a graphical user interface. The display manager controls login and logout, and manages the various processes, which are displayed on the screen.
Distributions  A distribution is a particular version of Linux. There are more than a hundred different Linux distributions, each of which has the same kernel but offers a different array of programs, shells, and other elements that distinguish that variant from another.
Dot Files  The term used to describe system files, which have names beginning with the dot, or period, character. These files are not usually shown in a directory listing unless a particular flag is used. Configuration files and other system information files are often stored as dot files.
Environment Variables  These variables define the appearance and activity of various programs running on the system. Some environment variables are program-specific, but most are used as part of the shell environment interface. Environment variables are almost always user-configurable.
Escape Sequence  A text string or keystroke combination, which indicates that a normally running process must be modified in some way. These sequences can be used in programming to manage the way in which programs handle metacharacters, or can be used to pause or halt a running process.
Ethernet  A method of network construction, Ethernet involves the use of cables, which are strung between machines on the network. These cables are dedicated to data transfer.
Exit Status  Each process returns an exit value that indicates whether the process succeeded or failed. These values can be incorporated into a shell program, which would perform different actions depending on the exit value. Values are usually expressed as 0 for success, with any other number indicating failure; particular numbers might indicate various reasons for the failure.
File  The basic data storage concept under Unix. Files may be directories, text files, executable binaries, storage devices, or disk partitions.
File Permissions  Settings which determine who has access to a particular file. File permissions may be granted to the file's owner, the owner's group(s), or all users. Levels of permission are read, write, and execute. Regardless of the permissions set on a particular file, the superuser always has access to every file on the system.
Flag  See Option.
Flow Control  Programming constructs, which determine how a program will execute. There are two types of flow control: conditional and iterative. Under conditional flow control, a particular segment of the program will execute only if a specified condition is met. Under iterative flow control, a particular segment will repeat until or unless as a specified condition is met.
Free Software  Software, which meets the license conditions, set by the Free Software Foundation. Free Software is generally considered to be that which
1. Permits anyone to use the program for any reason;
2. Permits anyone to modify the program;
3. Permits anyone to redistribute the program;
4. Requires that any derivative work carry the same license conditions.
function {  function()
}
Function Calls  A programming construct used to pull an external function into a shell program. Functions allow small code elements to be used in a number of different programs so that the programmer does not need to rewrite that function with each new program.
GPL (GNU Public License)  The license developed by the Free Software Foundation, which incorporates all elements of the Free Software definition. Much Linux software is released under the GPL, as are programs found on other Unix variants.
Graphical Text Editor  A text editor which can be used with a mouse or other input device, and which is used within a graphical user interface. Graphical text editors usually use menu systems to show available commands. Though they appear much like a word processor, they do not share the same level of functionality.
Graphical User Interface  A program, which displays operating system elements on the screen with visual widgets like windows and desktop wallpaper. Graphical user interfaces usually permit the use of pointing devices like light pens or mouses, and organize the file system in a visual manner. Although GUIs are more technically sophisticated than text environments, a user can run a text session within a terminal window on the GUI desktop.
Heterogeneous  A network type. A heterogeneous network is a network, which has machines of more than one operating system. That is, a network with a Windows machine, a Linux machine, and a Macintosh is heterogeneous. These networks are managed with software that translates the different operating systems so that they understand each other.
Homogeneous  A network type. On a homogeneous network, all machines are running the same operating system.
Inode  The description of which disk blocks are occupied by a particular file. The inode information is stored in an inode table, which is used to allocate disk space to new files.
See Superblock.
Integer  Any whole number: positive, negative, or zero. Integers cannot contain fractions or decimals.
Integrated Desktop Environment  Graphical user interfaces which supply a suite of software designed to work directly with the GUI. Popular desktops include KDE, Ximian, and Gnome.
Interface  The method by which the user interacts with the operating system. Unix interfaces can be text-based or graphical.
Internet  A type of network that connects several networks together. For example, the Internet is an internet. In general, an internet is any network, which connects multiple LANs or WANs.
Job Number  A unique identifying number assigned to each job started by a particular user.
See Process Identification Number.
Kernel  The lowest level component of the operating system. The kernel manages input and output for hardware devices, controls task scheduling, and manages memory.
Key Bindings  Functions, which are evoked by a keystroke combination or a particular key with an assigned function. These bindings are usually found in text editors, particularly GNU Emacs, but can also be found in other elements of the operating system.
Libraries  A collection of programming functions. With libraries, a programmer can place a function call into a program rather than rewriting the needed function each time he wants to use it.
Line Editor  A type of text editor, which handles only one line at a time. Line editors have been supplanted by visual editors like vi, and by graphical editors.
Links  An alias for a file. There are two types of links: symbolic and hard. Symbolic links are pointers, which refer to another actual file. Hard links involve a separate inode with a different file name; this inode refers to the same disk blocks as the original file's inode.
Macro  There are two definitions for macro:
1. A series of commands or operations performed on a selected section of data, invoked with a keystroke combination or single command. This definition is often used in the context of an application or program.
2. The substitution of a short command for a lengthy function. This definition is used in programming, where macros can save a number of keystrokes.
Manual Page  A text file which describes the function of a specified Unix program or shell command. Manual pages are accessed with the "man" command.
Message Of The Day (MOTD)  A message displayed at login. The text of this message is usually stored in the file /etc/motd and can be changed only by the root account.
Metacharacter  A keyboard key, which is usually pressed in combination with a regular letter to invoke a macro or function. Common metacharacters include Ctrl and Alt.
Modularity  A construct in which multiple small elements combine to make a complex system like an operating system. Unix is modular, and each simple module can be combined into larger chains to create sophisticated outcomes. However, each module can be controlled, modified, repaired, or configured individually.
Multitasking  An operating system that can perform several tasks at the same time. Multitasking may be accomplished through one of two methods: task switching and time slicing.
See Task Switching and Time Slicing.
Name Server  A computer that translates text domain names into numerical IP addresses. Most network connections are configured so that two domain name servers are specified for redundancy.
Open Source  A term defined by the Open Source Initiative. Like Free Software, Open Source software must be freely redistributable and the source code must always be made available to users. However, Open Source software licenses may restrict modifications to the original source code as long as users can distribute patches, or small changes which can be applied to the original code.
Operating System  The software, which lies between the user and the machine hardware. Operating systems, as the name implies, allow the user to operate the machine by running programs, manipulating the hardware, and configuring various software. This book covers the Unix operating system and its variants; other operating systems include Windows and MacOS.
Operator  An item used in programming which can perform a number of actions including mathematics, comparisons, and other operations which involve evaluation of two or more values.
Option  An optional element of a command. Options affect the way in which the program operates, or the manner in which its output is reported. Options are often preceded by the hyphen.
See Argument and Flag.
Packages  An archive file, which contains the various files, needed to install a given program. Packages might include software libraries, source code, formatted programs designed to be installed with a package management program, documentation, and other files important for smooth and successful installation.
Packet Sniffer  A program usually used for illicit purposes. Packet sniffers watch the incoming data stream and attempt to grab user names and passwords sent in clear text. These programs can be defeated by the use of encrypted secure transmissions.
Password  The text string that a user supplies to gain access to her home directory and the system as a whole. Passwords should be strong passwords when possible, incorporating both upper- and lower-case letters as well as numbers. Dictionary words are extreme security risks. Never share passwords.
Path  The exact location of a given file within the total file system. Path names are made up of a series of directory and subdirectory names.
Peripheral Devices  Any device that can be attached to the main computer or removed from it. Peripherals include scanners, printers, and pointing devices.
Permissions  See File Permissions.
Pipes  A method of identifying and transferring the data output from one program to be used as input for another.
Port  Rewriting software for a different platform or operating system.
Process Identification Number  A unique identifying number assigned to each process running on a particular machine.
See Job Number.
Protocol  A standard which defines the way in which particular transactions must occur. Protocols are used to define the way in which mail is transferred between machines, as well as many other interactions and data transfers.
Recursive Acronym  An acronym which uses itself as one of the components. GNU, for example, is an acronym for "GNU's Not Unix." Recursive acronyms are so named in reference to recursive programming functions, which call themselves. Recursive functions take the form
Redirection Operators  Elements used to change the default destination of a program's input or output. Redirection operators include the characters < and >, as well as the pipe.
Regular Expression  An expression that is used to match one or more text strings within a specified target file or segment of data. Regular expressions usually use metacharacters to define potential matches. They can be used at the command line or within a shell program.
Rescue Kit  A diskette or CD-ROM that contains a bare-bones version of the operating system and a few critical administrative tools like a text editor. When a Unix machine is damaged to the point where it will not boot, a rescue kit can be used to boot the machine and search for the problem so that it can be repaired. Rescue kits usually provide only the vi text editor, which is why vi skills are important no matter what your preferred text editor might actually be.
Root  The user ID of the superuser account.
Router  A computer with specialized software designed to manage data transfer around a network. Some routers are configured to stand at the intersection between a local network and an external network, in which case they may be called gateways.
Run Control Files  Configuration files which determine the way in which a given program will boot up and how it will appear to the user.
See Dot Files.
Scripts  Short programs, often written for a single purpose, which are often written in a native shell scripting language like that of bash, or in an interpreted language like Perl.
Shell  See Command Shell.
Shell Account  A user account that opens a shell session for interaction with the operating system.
Shell Command  A command that the shell's interpreter passes as direction to the operating system.
See Command Word.
Shell Environment  The "look and feel" of a given user's shell sessions. This look and feel can be altered by editing configuration files and environment variables. Most systems have a default set of variables that define the shell environment, which can then be altered by individual users.
Shell Prompt  See Command Prompt.
Source Code  A program as it is written by a programmer. This code must be compiled or interpreted before it can be run by users or used within a shell program. Software can often be downloaded either as source code or as precompiled packages.
See Packages.
Spool  A specified file that contains incoming data, such as electronic mail messages or unread news posts.
Standard Input  The default source for input data. Usually the keyboard is the standard input, but some programs may take input from other devices. Standard input can also be altered with redirection operators or pipes.
Standard Output  The default location for output data. Usually, the monitor is the standard output, but under some circumstances it may be a printer or another program that has been defined through redirection operators.
Strings  A set of alphanumeric characters. Text processing, regular expressions, and many other elements of the operating system and various programs rely on strings as their basic data unit.
String Variable  A variable that takes a text string as its value.
See Array Variable.
Subshell  A shell process started by an existing shell session. Subshells often open long enough to run a particular command and then close themselves when finished.
Superblock  The disk block which boots directly after the boot block. The superblock contains information about the file system itself, including the various blocks occupied or vacant and basic inode information.
Superuser  The supreme user. The superuser can run any program or view any file on the machine regardless of its permissions. The superuser can start or stop the machine, add or delete users, manage software, and any other function possible. Every Unix machine has a superuser, an account created when the operating system was installed.
System Administrator  The person who runs the system and has access to the superuser account. A machine may have more than one administrator who shares access to root. System administrators do routine machine management and maintenance.
System Call  A programming construct that makes use of native kernel functions rather than those provided by software libraries.
Tarball  An archive file created with the tar compression program.
See Archive File.
Task Switching  A type of multitasking in which the operating system lets a given process complete its work before switching system resources to the next process.
See Multitasking and Time Slicing.
Terminal Window  A window opened within a graphical user interface, which provides access to a system prompt and a shell session.
Text-Mode Editor  A text editor, which uses keystroke combinations to perform various editing functions. Text editors include both line and visual editors.
Time Slicing  A type of multitasking where the operating system provides a defined period of access to system resources to each active process in turn.
See Multitasking and Task Switching.
Timestamp  A file notation, which carries the last time the file, was modified, taken from the system clock.
Topology  The mapped layout of a network's architecture.
Unices  The plural form of Unix.
User Interface  See Interface.
Variable  A term which has an associated value, and which can be used in programming without knowing the exact value.
Verbose Mode  A mode, which generates output while a program, is running. Verbose mode provides information about what is happening at each step of the program's execution. Some programs offer several levels of verbosity, while others do not offer verbose mode at all.
Widgets  Graphical elements, which can be reused in multiple programs written for the same graphical user interface. Like programming functions, widgets are often supplied as libraries known as "widget sets."
Wildcard  Used in regular expressions, a wildcard is a metacharacter which represents a range of characters.
Window Manager  Part of a graphical user interface, the window manager controls the "look and feel" of the screen including window appearance and placement.
x86 Processor  An Intel processor chip or a chip, which meets the Intel specifications. x86 chips include the 386, 486, and Pentium chip families. All personal Unix variants, like Linux and FreeBSD, have been written for, or ported to, the x86 architecture.
X Window System  A standard, which defines how graphical elements, must be programmed and executed. Any graphical interface, which meets the standard, can be called an X Window System.




McGraw-Hill/Irwin