Donation?

Harley Hahn
Home Page

Send a Message
to Harley


A Personal Note
from Harley Hahn

Unix Book
Home Page

List of Chapters

Table of Contents

List of Figures

Chapters...
   1   2   3
   4   5   6
   7   8   9
  10  11  12
  13  14  15
  16  17  18
  19  20  21
  22  23  24
  25  26

Glossary

Appendixes...
  A  B  C
  D  E  F
  G  H

Command
Summary...

• Alphabetical
• By category

Unix-Linux
Timeline

Internet
Resources

Errors and
Corrections

Endorsements


INSTRUCTOR
AND STUDENT
MATERIAL...

Home Page
& Overview

Exercises
& Answers

The Unix Model
Curriculum &
Course Outlines

PowerPoint Files
for Teachers

Glossary  (622 definitions)

Note: At the end of each definition, the designation [X] provides a link to the chapter or appendix in which the term is defined. Once you jump to a chapter, press <Ctrl-F> to search for the term you want.

A


absolute pathname: A pathname in which the full name of every directory is specified, from the root directory to the actual file. [24]

accelerator key: Within a GUI, a key combination using the <Alt> key that acts as a shortcut for clicking on an item. For example, when you are working within a window, you can usually pull down the File menu by using the accelerator key <Alt-F>. [6]

access time: With respect to a file, the last time the file was read. To display the access time for a file, you use the ls program with the -lu options. Compare to modification time. [24]

account: Permission to use a Unix system, including a bona fide userid and password, as well as restrictions as to how that userid may use the system. [4]

action: When using the find program to search for files, an instruction specifying what to do with the results of a search. For example, the action -print writes the results of a search to standard output. See also test and operator. [25]

active window: Within a GUI, the window that currently has the focus. Whatever you type on the keyboard is used as input for the program running in the active window. [6]

admin: Synonym for system administrator. [4]

alias: Within the shell, a user-defined name given to a command or to a list of commands. The most common uses for an alias are to act as an abbreviation or as a customized variation of a command. [13]

allocation unit: With respect to a Unix filesystem on a hard disk or other medium, the fundamental unit of storage allocation. The allocation unit size depends on the nature of the disk and is typically a multiple of the filesystem block size. Sometimes referred to as a cluster. Compare to block. [24]

alphanumeric: Describes data that consists only of letters (alpha) or numbers (numeric). Punctuation is not alphanumeric. [13]

anchor: Within a regular expression, one of several metacharacters (^, $, \<, \>) used to match locations at the beginning or end of a character string. [20]

anonymous pipe: Same as pipe. [23]

apply (a diff): To follow the instructions contained in a diff, to recreate one file from another. Typically, one would apply a diff to recreate a later version of a file from an earlier version. See also diff and patch. [17]

argument: When you type a command, items on the command line, usually coming after any options, that are used to pass information to the program you want to run. For example, in the command ls -l datafile, -l is an option and datafile is an argument. See also option. [10]

ASCII: Same as ASCII code. [19] [20]

ASCII code: Often abbreviated as ASCII. A standardized character encoding system, created in 1967 and modified in later years, in which character data is represented as bits. Each character is stored in a single byte (8 bits). Within a byte, the leftmost bit is ignored; the other 7 bits form a pattern of 0s and 1s that represents the particular character. In all, the ASCII code contains 128 distinct bit patterns ranging from 0000000 to 1111111. For reference, the full ASCII code is shown in Appendix D. See also printable characters. [19] [20]

ASCII file: Same as text file. [19]

asynchronous process: With respect to the very oldest Unix shells (before job control), a process that runs on its own without any input from the user. With the development of job control, asynchronous processes were replaced by background processes. See also job control and background process. [26]

autocompletion: Within the shell, a feature that helps the user enter commands by automatically completing words. There are several types of autocompletion: command completion, filename completion, variable completion, userid completion and hostname completion. [13]

B


back door: A secret facility, used by a hacker to access a system or control a program surreptitiously. [13]

background process: A process for which the shell does not wait to complete before displaying the next shell prompt. We say that such processes run "in the background". Compare to foreground process. [26]

backwards compatible: Describes a program that supports the features of an older program. For example, the Tcsh is backwards compatible with the older C-Shell; Bash and the Korn Shell are backwards compatible with the older Bourne Shell. [11]

bang: The exclamation mark (!) character. A bang is often used to change the mode of what you are doing, for example, to pause the current program and send a command to the shell. [9]

bang character: See bang. [9]

bar: A meaningless word, used to represent an unnamed item during a discussion or exposition. The word "bar" is usually used along with "foo" to refer to two unnamed items. The convention is to use "foo" for the first item and "bar" for the second item. For example, you might hear someone ask the question, "I have two files, foo and bar. How can I copy all the lines in foo that contain a particular pattern to end of bar?" See also foo and foobar. [9]

base 2: Same as binary system. [21]

base 8: Same as octal. [21]

base 10: Same as decimal system. [21]

base 12: Same as duodecimal. [21]

base 16: Same as hexadecimal. [21]

basename: Synonym for filename. [24]

Bash: The most important member of the Bourne shell family, originally created by Brian Fox, in 1987, under the auspices of the Free Software Foundation. The name Bash stands for "Bourne-again shell". Bash is used widely, being the default shell on virtually all Linux systems. The name of the Bash program is bash. See also Bourne shell family. [11]

basic regular expression: Sometimes abbreviated as BRE. An old type of regular expression, used for many years, now replaced by extended regular expressions. Compared to the more modern extended regular expressions, BREs are less powerful and have a slightly more confusing syntax. For these reasons, they are considered obsolete, retained only for compatibility with older programs. Compare to extended regular expression. See also regular expression. [20]

binary digit: One of the two digits 0 and 1 used in the binary system. See also bit and binary system. [21]

binary file: A file containing non-textual data that makes sense only when read by a program. Common examples of binary files are executable programs, object files, images, music files, video files, word processing documents, spreadsheets and databases. Compare to text file. [19]

binary number: A number expressed by using the binary system, that is, base 2. See also binary system. [21]

binary system: Same as base 2. A number system, based on powers of 2, in which numbers are constructed using the 2 digits 0 and 1. See also octal, decimal system, duodecimal and hexadecimal. [21]

bit: The basic element of data storage, containing a single element that is always in one of two states. The custom is to speak of a bit as containing either a 0 or a 1. A bit that contains a 0 is said to be "off". A bit that contains a 1 is said to be "on". The term bit is a contraction of "binary digit". See also byte, binary system and binary digit. [21]

bit bucket: A whimsical name for any file with the characteristic that all output written to the file is thrown away. There are two bit buckets: the null file (/dev/null) and the zero file (/dev/zero). Both are pseudo-files, a type of special file. See also null file, zero file, and pseudo-file. [15]

block: With respect to a Unix filesystem, the fundamental unit of storage allocation within the filesystem itself, usually 512 bytes, 1K, 2K or 4K. A typical Linux filesystem uses 1K blocks. Compare to allocation unit. [24]

block device: A device such as a disk that, when reading or writing, processes a fixed number of bytes at a time. In the output of the ls -l command, a character device is indicated by the symbol b. Compare to character device. [24]

boot: To take control of a computer and perform such initializations as are necessary, whenever the computer starts or restarts. See also boot loader and boot device. [2]

boot device: The device from which the boot loader reads the data necessary to start the operating system. In most cases, the boot device is a partition on a local hard drive. However, it can also be a network device, a CD, a flash drive, and so on. See also boot and boot loader. [23]

boot loader: A small program that takes control when you start or restart your computer in order to load enough software for the operating system to start. With a dual boot or multi-boot system, the boot loader allows you to choose which operating system you want to use. The most common Linux boot loaders are GRUB and LILO. See also boot and boot device.[2]

bound: Within a regular expression, a specification, used within the { } repetition operator, to match the desired character a specific number of times. For example, within the repetition operator {3,5}, the bound 3,5 specifies a match of 3 to 5 times. See also repetition operator. [20]

Bourne shell: The first widely used Unix shell, originally developed in 1976 by Steven Bourne, a researcher at Bell Labs. Although the Bourne Shell has been updated over the years, it is rarely used today, as it lacks the advanced features of the modern shells. The name of the Bourne shell program is sh. See also Bourne shell family. [11]

Bourne shell family: The shells whose principle characteristics are based on the Bourne Shell and the Bourne shell programming language. The most important members of the Bourne shell family are Bash, the Korn shell, the Zsh, the Pdksh, and the FreeBSD shell. The Bourne shell itself is rarely used today. [11]

brace expansion: With Bash, the C-Shell or Tcsh, the facility that enables you to use braces to enclose a set of character strings, which are used to match or generate filenames containing each of the strings in turn. See also pathname expansion. [24]

branch: Within a tree (data structure), a path that joins one node to another. Corresponds to an edge in a graph. See also tree. [9]

browser: A client program, such as Internet Explorer or Firefox, used to access the Web as well as other Internet facilities, such as mail, Usenet and anonymous FTP. For most people, a browser acts as the primary interface to the Internet. [3]

BSD: An operating system developed at the University of California at Berkeley, originally based on AT&T UNIX. The name BSD stands for "Berkeley Software Distribution". The first version of BSD, later referred to as 1BSD, was distributed in 1977. In the 1980s, BSD was one of the two main branches of Unix; the other was System V. [2]

BSD options: With respect to the ps (process status) command, those options that are derived from the 1980s version of ps that was part of BSD (Berkeley Unix). BSD options do not start with a dash. Compare to UNIX options. [26]

builtin: Within the shell, a command that is interpreted directly by the shell. Same as builtin command and internal command. [13]

builtin command: Same as builtin. [13]

byte: A unit of data storage, 8 consecutive bits. One byte can hold a single ASCII character. See also bit and binary system. [21]

C


C collating sequence: The collating sequence, based on the ASCII code, used by the C (POSIX) locale; named after the C programming language. Within the C collating sequence, uppercase letters come before lowercase letters (ABC... XYZabc...xyz). Compare to dictionary collating sequence. See also ASCII code, collating sequence and locale. [19]

C-Shell: A shell developed in 1978 by Bill Joy, a graduate student at U.C. Berkeley. Pronounced "see-shell". The C-Shell programming language is based on the language C (hence the name). In its time, the C-Shell was used widely and became one of the most important shells of all time. Today, most C-Shell users prefer the more powerful Tcsh. The name of the C-Shell program is csh. See also Tcsh and C-Shell family. [11]

C-Shell family: The shells whose principal characteristics are based on the C-Shell, in particular, the C-Shell programming language. The most widely used members of the C-Shell family are the Tcsh and the C-Shell itself. [11]

canonical:

  1. In mathematics, the simplest, most important way of expressing an idea. [21]
  2. In computer science, the most common, conventional way of doing something. [21]

canonical format: With respect to binary data being displayed or printed, a commonly used format consisting of 16 bytes per line. To the left of each line is the offset in hexadecimal. In the middle are the actual bytes, also in hexadecimal. On the right are the ASCII equivalents. The command hexdump -C displays binary data in canonical format. [21]

canonical mode: A line discipline in which characters typed as input to a program are not sent to the program immediately. Rather, the characters are accumulated in a buffer (storage area) and are sent only when the user presses the <Return> key. Compare to raw mode and cbreak mode. See also line discipline. [21]

carriage return:

  1. A special character used to control the operation of an output device, indicating that the cursor or print position should move to the beginning of the line. In the ASCII code, the carriage return character has the value 13 in decimal, or 0D in hexadecimal. [4]
  2. On an old Teletype ASR33, the operation in which the print head is moved to the beginning of the line. [4]
  3. On a manual typewriter, the lever used to return the carriage (the cylinder on which the paper is held) to the far left position. [4]

case sensitive: Describes a program or operating system that distinguishes between upper- and lowercase letters. [4]

cbreak mode: A variation of raw mode, a line discipline in which most input is sent directly to the program, except a few very important characters that are handled directly by the terminal driver (^C, ^\, ^Z, ^S and ^Q). Compare to canonical mode and raw made. See also line discipline. [21]

CDE: A desktop environment based on the Motif window manager, developed in the early 1990s as a large, multi-company effort in collaboration with the Open Group. CDE is an abbreviation for Common Desktop Environment. [5]

character class: With respect to regular expressions, an element, beginning and ending with square brackets, containing a set of characters, for example, [ABCDE]. A character class is used to match any single character within the set. See also predefined character class and range. [20]

character device: A device, such as a terminal, that when reading or writing, processes data one byte at a time. In the output of the ls -l command, a character device is indicated by the symbol c. Compare to block device. [24]

character string: A sequence of plain-text characters, consisting only of letters, numbers or punctuation. [12] More strictly, a sequence of printable characters. [19] Same as string. See also printable character.

character terminal: A terminal that displays only characters (text): letters, numbers, punctuation and so on. Same as text-based terminal. [3]

child: Same as child process. [15] [26]

child directory: Same as subdirectory. [23]

child process: A process that has been started by another process. The new process is the child; the original process is the parent. See also parent process. [15] [26]

chording: When using a mouse or other pointing device, pressing two or more buttons at the same time. [6]

CLI: Abbreviation for "command line interface". A text-based interface in which the user types commands that are interpreted by the shell. Compare to GUI. [6]

click: When using a mouse or other pointing device, to press a button. [6]

client: A program that requests a service from a server. [3]

clipboard: Within a GUI, an invisible storage area used to hold data that has been copied or cut; such data can be pasted into a window. The data in the clipboard is changed only when it is replaced by new data. The contents of the clipboard are lost when you close the GUI (by shutting down, logging off, or rebooting). [6]

close: Within a GUI, to stop the program running in a window, causing the window to disappear. [6]

close button: Within a GUI, a small rectangle, usually in the top right-hand corner of the window, that, when clicked, will close the window. [6]

cluster: Synonym for allocation unit. [24]

code: Synonym for source code. [2]

collating sequence: Describes the order in which characters are placed when sorted. In modern versions of Unix or Linux, the collating sequence depends on the choice of locale. See also locale. [19]

comment: Within a program, a line that is ignored. Comments are used by programmers to insert notes into a program, in order to provide documentation for the programmer and for anyone else who may read the program. Within a shell script, comments start with the # (hash) character. [14]

command completion: A type of autocompletion that completes a partially typed command at the beginning of a line. Command completion is available with Bash and the Tcsh. See also autocompletion. [13]

command line:

  1. When entering a Unix command: the entire line that you type before you press the <Return> key. [6] [10]
  2. When using the vi editor: the bottom line of the screen, upon which certain commands are echoed as they are typed. [22]

command line editing: Within the shell, a powerful facility that allows you to use a large variety of commands to manipulate what you type on the command line, including the ability to use the the history list and autocompletion. Command line editing is available with Bash, the Korn Shell, and the Tcsh. It is used in either Emacs mode or vi mode. [7] [13]

command line interface: See also CLI. [6]

command mode: When using the vi text editor, a mode in which the characters you type are interpreted as commands. Compare to insert mode. [22]

command processor: A program that reads and interprets commands entered at the terminal or read from a file. The shell is a command processor. [11]

command substitution: Within the shell, to specify that the output of one command is to be inserted into another command, which is then executed. To use command substitution, you enclose the first command in backquote (`) characters. [13]

command syntax: Same as syntax. [10]

compatibility mode: When using the Vim text editor, a mode in which Vim works as much as possible like the vi text editor. [22]

conditional execution: Within the shell, a facility that allows the execution of a command only if a previous command has, as specified by the user, either succeeded or failed. [15]

configuration file: A file whose contents is read by a program at the time the program starts. Typically, a configuration file contains commands or information that affect the operation of the program. [6]

console: The terminal, considered to be part of the host computer, that is used to administer the system. [3]

context menu: Within a GUI, a pop-up menu containing a list of actions that relate to an object. Typically, you cause a pop-up menu to appear by right-clicking on the object. [6]

cooked mode: Same as canonical mode. [21]

copy: Within a GUI, to copy data from a window to the clipboard without changing the original data. [6]

copyleft: A legal principle, originally applied to free software, that gives anyone permission to run a program, copy the program, modify the program, and distribute modified versions, as long as they do not add restrictions of their own. The first implementation of copyleft was the GPL (GNU General Public License). [2]

core:

  1. Originally, a tiny, round, hollow magnetic device used in core memory. [7] [21]
  2. More generally, a synonym for computer memory. [7] [21]

core dump: In the 1960s and 1970s: a printout of the contents of the memory used by a program that had aborted. A core dump could take up many pages of paper and took great skill to interpret. [7] [21]

core file: A file (named core) that is generated automatically when a program aborts. A core file, which contains a copy of the contents of memory at the moment the program aborted, can be analyzed by a programmer in order to figure out what went wrong. [7] [21]

core memory: An obsolete type of computer memory, first introduced in 1952, constructed from a large number of tiny, round, hollow magnetic devices (cores) arranged in a lattice with several electrical wires running through each core. By changing the current in the wires, it was possible to modify the magnetic properties of individual cores to be either "off" or "on", allowing for the storage and retrieval of binary data. [7]

CPU: In Unix, the processor, the main component of a computer. For example, the amount of processor time used by a program is called CPU time. In the early days of mainframe computers, the term CPU was an acronym standing for "central processing unit". [8]

CPU time: The amount of time a process has executed on the processor. See also time slice. [26]

cracker: A person who deliberately tries to break into a computer system with the purpose of doing things that people in authority do not want him to do. [4]

CSV format (comma-separated value format): Describes a file containing machine-readable data in which fields are separated by commas, that is, in which the delimiters are commas. See also delimiters, record and field. [17]

current character: When using the vi text editor, the character at which the cursor is currently positioned. Many vi commands perform an action on the current character. See also current line. [22]

current directory: Synonym for working directory. The default directory, used when entering Unix commands. The current directory is set by the cd (change directory) command; the name is displayed by the pwd (print working directory) command. [24]

current file: When using the pager less, the file currently being viewed. [21]

current job: With respect to job control, the job that was most recently suspended or, if there are no suspended jobs, most recently moved to the background. Certain job control commands act upon the current job by default. See also job, job control and previous job. [26]

current line: When using the vi text editor, the line on which the cursor is currently positioned. Many vi commands perform an action on the current line. See also current character. [22]

cut: Within a GUI, to copy data from a window to the clipboard. As part of the operation, the original data is deleted from the window. [6]

D


daemon: A program that runs in the background, completely disconnected from any terminal, in order to provide a service. (With Microsoft Windows, the same type of functionality is provided by a "service".) [26]

data structure: In computer science, any well-defined method of organizing data such that there exist algorithms for storing, retrieving, modifying, and searching the data. The most common types of data structures are lists, linked lists, associative arrays, hash tables, stacks, queues, deques (double-ended queues), as well as a variety of tree-based structures. See also queue, stack and tree. [8]

default: An assumed value that will be used when an particular item is not specified. [10]

decimal number: A number expressed by using the decimal system. See also decimal system. [21]

decimal system: Same as base 10. A number system, based on powers of 10, in which numbers are constructed using the 10 digits 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9. See also binary system, octal, duodecimal and hexadecimal. [21]

del: A character that, on some Unix systems, is used instead of a backspace (^H) to erase a single character. You will sometimes see the del character represented by the two characters ^?. Within the ASCII code, the del character has a value of 127 in decimal or 7F in hexadecimal. [7]

delimiter: Within a file containing machine-readable data, designated characters that separate adjacent fields. Data in which commas are used as delimiters is said to be in CSV format (comma-separated value format). See also CSV format, field and record. [17]

desktop: Within a GUI, the overall visual space in which you work. More generally, the abstract environment in which you organize your work. Desktop environments, such as KDE and Gnome, allow you to use more than one desktop, only one of which is visible at a time. (Within Gnome, desktops are called "workspaces".) [6]

desktop environment: A GUI-based system that provides a working environment whose purpose is to help the user carry out the complex cognitive tasks associated with using a computer. Sometimes called a desktop manager. In the Linux world, the two most widely used desktop environments are KDE and Gnome. See also KDE and Gnome. [5]

desktop manager: Same as desktop environment. [5]

destructive backspace: The type of backspace that occurs when the cursor moves back and characters are erased. This is what happens when you press the <Backspace> key. Compare to non-destructive backspace. [7]

device driver: A program that acts as the interface between the operating system and a particular type of device, usually some type of hardware. Same as driver. [2] [21]

device file: Same as special file. [23]

dictionary file: A file, included with Unix, that contains a very long list of English words, including most of the words commonly found in a concise dictionary. Each word is on a line by itself and the lines are in alphabetical order, making the file easy to search. The dictionary file is available to any user; it is also used by the look command and by the (now obsolete) spell command. [20]

dictionary collating sequence: The collating sequence used by the en_US locale, in which uppercase letters and lowercase letters are grouped in pairs (AaBbCcDd... Zz). Compare to C collating sequence. See also collating sequence and locale. [19]

die: With respect to a process, to stop running. Same as terminate. [26]

diff: A list of simple editing instructions that, when followed, change one file into another. See also apply and patch. [17]

directory: One of the three types of Unix files; a file that resides on a storage device, used to organize and access other files. Conceptually, a directory "contains" other files. Compare to ordinary file and pseudo file. See also file. [23]

directory stack: A stack, maintained by the shell to store directory names that can be used to change the working directory. See also stack. [24]

Directory Node: Within the Info system, a special node that contains a list of links to the major topics. The Directory Node acts as the main menu for the entire Info system. [9]

distribution: A particular version of a Linux system. [2]

distro: Abbreviation for distribution. [2]

dotfile: A file whose name begins with a . (dot) character. When the ls command lists filenames, dotfiles are not listed unless requested specifically by using the -a (all files) option. Same as hidden file. [14] [24]

double-click: When using a mouse or other pointing device, to press a button twice in rapid succession. [6]

drag: Within a GUI, to move a graphical object. To do so, you use your mouse to point to the object. You then hold down a mouse button, move the mouse (which moves the object to a new location), and then release the button. [6]

driver: Same as device driver. [2] [21]

dual boot: Describes a computer that is set up to boot one of two different operating systems, as chosen by the user during the startup process. [2]

duodecimal: Same as base 12. A number system, based on powers of 12, in which numbers are constructed using the 12 digits 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A and B. See also binary system, octal, decimal system and hexadecimal. [21]

dump: Same as core dump. [21]

E


echo: To display a character on the monitor that corresponds to a key that has been pressed by a user. For example, when you press the key, Unix echoes the letter "A". [3]

edit: (verb) To use a text editor to modify the contents of a file. [22]

editing buffer: When using the vi text editor, a storage area containing the data you are currently editing. [22]

editor: Same as text editor. [22]

Emacs mode: Within the shell, a mode used with command line editing in which the editing commands are the same ones as are used with the Emacs text editor. See also command line editing and vi mode. [13]

emulate: To cause a computer to act like a different device. To use your computer to connect to a Unix host, you run a program (for example, ssh) that emulates a terminal. [3]

environment: When using the shell, a table of variables that is copied and made available to all child processes, that is, to any program started by that shell. [12]

environment file: A type of initialization file that runs whenever a new shell starts. See also login file, initialization file and logout file. [14]

environment variable: Within the shell, a variable that is stored in the environment. Because the environment is inherited by all child processes, environment variables can be thought of as global variables. However, they are not strictly global, because changes made by the child are not propagated back to the parent. See also shell variable, global variable and local variable. [7] [12]

escape:

  1. When a program is in a specific mode, to do something that changes the program to a different mode. For example, within the vi editor, you press the <Esc> key to escape from insert mode to command mode. [13]
  2. Within the shell, a synonym for quote. For example, in the command echo hello\; goodbye, we say that the backslash escapes the semicolon. [13]

escape character: When using a program, a key that, when pressed, changes the program from one mode to another. [13]

event: Within the shell, a command that has been stored in the history list. [13]

event number: Within the shell, a number that identifies an event (a command that has been stored in the history list). [13]

exec: With respect to a process, to change the program that the process is running. See also fork, wait and exit. [26]

execute: To follow the instructions contained in a program. Same as run. [2]

execute permission: A type of file permission that allows the executing of a file or the searching of a directory. Compare to read permission and write permission. See also file permission. [25]

exit: With respect to a process, to stop running. See also fork, exec and wait. [26]

export: Within the Bourne shell family (Bash, Korn shell), to cause a variable to become part of the environment, thereby making the variable accessible to child processes. [12]

extended regular expression: Sometimes abbreviated as ERE. A type of regular expression that offers more powerful features than the older, traditional Unix regular expressions (basic regular expressions). EREs are considered to be the current standard, part of the IEEE 1003.2 (POSIX) specification. Compare to basic regular expression. See also regular expression. [20]

extension: An optional part of a filename, at the end of the name, following a . (dot) character. For example, the filename foobar.c has the extension c. Extensions enable users, and sometimes programs, to identify the type of file. [25]

external command: Within the shell, a command that is interpreted by running a separate program. Compare to internal command. [13]

F


field: Within a file containing machine-readable data, a specific part of a record. See also record. [17]

FIFO:

  1. Abbreviation for "first-in, first out". Describes a data structure, such as a queue, in which elements are retrieved in the same order in which they went in. Compare to LIFO. See also queue and stack. [23]
  2. A synonym for named pipe, pronounced "fie-foe". [23]

file:

  1. Any source, with a name, from which data can be read; any target, with a name, to which data can be written. There are three types of files: ordinary file, directory and pseudo file. [23]
  2. A synonym for ordinary file. [23]

file descriptor: Within a Unix process, a unique number that identifies an input source or an output target. By default, standard input uses file descriptor 0; standard output uses 1; and standard error uses 2. [15]

file manager: A program that helps you manipulate files and directories. Using a file manager is an alternative to typing directory and file commands at the command line. The default file manager for the KDE desktop environment is Konqueror; the default file manager for Gnome is Nautilus. [24]

file mode: A three-number octal value, for example 755, that describes three sets of file permissions: read permission, write permission, and execute permission. The first number describes the permissions for the owner. The second number describes the permissions for the group. The third number describes the permissions for all userids. [25]

file permissions: One of three types of authorizations (read, write and execute) that specifies how a file may be accessed. See also read permission, write permission, and execute permission. [25]

filename: The very last part of a pathname, the actual name of a file. [24]

filename completion: A type of autocompletion that completes a partially typed filename. Filename completion is available with Bash, the Korn Shell, the C-Shell, and the Tcsh. See also autocompletion. [13]

filename generation: Within the Korn Shell and Bourne Shell, the facility that implements globbing, that is, the replacing of wildcard patterns by matching filenames. Within Bash, this same facility is referred to as pathname expansion; within the C-Shell and Tcsh, it is called filename substitution. See also wildcard and globbing. [24]

filename substitution: Within the C-Shell or Tcsh, the facility that implements globbing, that is, the replacing of wildcard patterns by matching filenames. Within Bash, this same facility is referred to as pathname expansion; within the Korn Shell and Bourne Shell, it is called filename generation. See also wildcard, globbing and brace expansion. [24]

filesystem:

  1. The Unix filesystem: a hierarchical tree-structure based on a single main directory (the root directory), containing all the files on a Unix system, including files from disk-based filesystems, network filesystems, and special-purpose filesystems. See also root directory and tree. [23]
  2. Device filesystem: a hierarchical tree-structure containing the files stored on a specific device or disk partition. [23]

filesystem hierarchy standard: A standard that describes how a Unix system should organize its directories, in particular, the top-level directories and selected second-level directories. Abbreviated as FHS. [23]

filter: Any program that reads and writes textual data, one line at a time, reading from standard input and writing to standard output. As a general rule, most filters are designed as tools, to do one thing well. [16]

fixed media: Describes storage devices that are attached to a computer permanently, for example, hard drives. Compare to removable media. [23]

flag:

  1. A synonym for option. [10]
  2. When using the ls (list files) program with the -F option, a single character displayed at the end of a filename to indicate the type of file. The various flags are / (directory), * (executable file), @ (symbolic link), and | (named pipe/FIFO). The absence of a flag indicates an ordinary, non-executable file. [24]

focus: Within a GUI, the indication of which window is active. Once a window has the focus, whatever you type on the keyboard is used as input for the program running in that window. [6]

fold:

  1. As an adjective, describes the idea that lowercase letters are to be treated as if they were uppercase, or vice versa. For example, "The sort command has a fold option -f." [19]
  2. As a verb, the act of treating lowercase letters as if they were uppercase, or vice versa. For example, "The -f option tells sort to fold lowercase letters into uppercase." [19]

folder: When using a GUI-based tool, a synonym for directory. Otherwise, not used with Unix (unless you want to sound like a clueless goober). [23]

follow: When using a symbolic link, to refer to the name of the directory contained in the link. See symbolic link. [25]

foo: A meaningless word, used to represent an unnamed item during a discussion or exposition. When a second unnamed item must be discussed, it is often referred to as "bar". For example, you might hear someone ask the question, "I have two files, foo and bar. How can I copy all the lines in foo that contain a particular pattern to the end of bar?" See also bar and foobar. [9]

foobar: A meaningless word, used to represent an unnamed item during a discussion or exposition. "Foobar" is often used to represent some type of pattern. For example, you might see the following question posted to a Usenet discussion group: "How do I remove a file named "-foobar"?" See also foo and bar. [9]

foreground process: A process that must finish before the shell can display the next shell prompt. We say that such a process runs "in the foreground". Compare to background process. [26]

fork: With respect to a process, to create a copy of the process. The original process is called the parent process; the new process is called the child process. See also exec, wait and exit. [26]

french spacing: Within typography, the use of two spaces (rather than one) at the end of each sentence. The practice is based on the use of monospaced fonts, such as the ones originally used with typewriters. [18]

free software: Software that can legally be examined, modified, shared and distributed by anyone. [2]

Free Software Foundation: An organization, started in 1985 by Richard Stallman and a small group of programmers, devoted to the creation and distribution of free software; home of the GNU project. [2]

FreeBSD shell: A member of the Bourne shell family, the default shell for the FreeBSD operating system. The name of the FreeBSD shell program is sh. See also Bourne shell family. [11]

FSF: Abbreviation for Free Software Foundation. [2]

G


General Public License: Same as GPL. [2]

gigabyte: A unit of storage measurement, 230 = 1,073,741,824 bytes. Abbreviated as G or GB. See also kilobyte and megabyte. [24]

glob: (verb) The act of globbing. [24]

global variable: A variable whose value is available outside of the scope in which it was created. See also local variable, shell variable and environment variable. [12]

globbing: An operation in which a wildcard pattern is replaced by a list of matching filenames, typically within a command that is processed by the shell. See also wildcard and pathname expansion. [24]

Gnome: A widely used, free desktop environment. The Gnome Project was founded in August 1997 by two programmers, Miguel de Icaza and Federico Mena. Their goal was to create an alternative to KDE that could be distributed under a more liberal license. Compare to KDE. See also desktop environment. [5]

GNU: The name of the Free Software Foundation's project to develop an entire Unix-like operating system independent of commercial software, to be distributed as free software. Pronounced "ga-NEW". GNU is a whimsical name, a recursive acronym standing for "GNU's not Unix". See also Free Software Foundation and free software. [20

GNU Manifesto: An essay, written by Richard Stallman, the principal founder of the Free Software Foundation, in which he explained his reasons for promoting the idea of free software. The GNU Manifesto was first published in the March 1985 issue of Dr. Dobb's Journal of Software Tools. [2]

GNU utilities: The set of Unix utilities furnished as part of the GNU project. The GNU utilities are used with Linux and FreeBSD. See also GNU and utility. [2]

GPL: Abbreviation for General Public License. A legal license, first used in 1989 by the Free Software Foundation, to implement the idea of copyleft as applied to free software. The GPL allows anyone to run a program, copy the program, modify the program, and distribute modified versions, as long as the person does not add restrictions of his own. [2]

graphical user interface: See GUI. [5]

graphics terminal: A terminal that displays, not only characters, but anything that can be drawn on the screen using small dots: pictures, geometric shapes, shading, lines, colors, and so on. [3]

group:

  1. A set of userids that share common file permissions. Groups make it easy for people who work together to read, write or execute each other's files. The name of a group is called its groupid (pronounced "group-I-D"). See also groupid, primary group, supplementary group and file mode. [25]
  2. Within a regular expression, a sequence of characters within parentheses, treated as a single unit, often before a repetition operator, for example, (xyz){5}. In this case, the group (xyz), combined with the repetition operator {5}, matches the character string "xyz" 5 times in a row. [20]

groupid: The name of a group used for sharing file permissions. Pronounced "group-I-D". See also group. [25]

grouping: Within the shell, especially the C-Shell, a list of commands, typed within parentheses, that are to be executed by a subshell. [15]

GUI: Abbreviation for "graphical user interface"; pronounced either "gooey" or as three separate letters "G-U-I". A system that allows you to interact with a computer by using a pointing device (usually a mouse) and a keyboard to manipulate windows, icons, menus and other graphical elements. Compare to CLI. [5]

H


hack: To put forth a massive amount of nerd-like effort, often programming. [4]

hacker: A person who hacks. [4]

hard link: Synonym for link. Used to distinguish between a regular link (hard link) and a symbolic link (soft link). [25]

hardware: The physical components of a computer: keyboard, monitor, mouse, disk drives, processor, memory, and so on. [2]

header file: Same as include file. [23]

headless system: A computer that runs on its own, without direct input from a human being. A typical headless system would be a server, with no monitor, keyboard or mouse. When necessary the server can be controlled via a network connection. [3]

hex: Same as hexadecimal. [21]

hexadecimal: Same as base 16. A number system, based on powers of 16, in which numbers are constructed using the 16 digits 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E and F. Often abbreviated as hex. See also binary system, octal, decimal system and duodecimal. [21]

hidden file: A file whose name begins with a . (dot) character. When the ls command lists filenames, hidden files are not listed unless requested specifically by using the -a (all files) option. Same as dotfile. [14] [24]

history list: Within the shell, a list of the commands that have been entered. A user can access the history list in a variety of ways — the details depend on the shell being used — in order to recall previous commands, which can then be modified and reentered. Some shells allow the user to set the size of the history list and to specify whether or not the list should be saved when the user logs out. [13]

hold: When using a mouse or other pointing device, to press a button and keep it down while performing an action, such as moving a window. [6]

home directory: The directory designated to hold the files for a particular userid. Whenever you log in, your current directory is automatically set to be your home directory. [23]

host: A computer that runs Unix. Users use a terminal to connect to the host. [3]

hostname completion: A type of autocompletion that completes a partially typed computer name, when a word begins with an @ (at) character. The word to be completed must be the name of a computer on the local network. Hostname completion is available with Bash. See also autocompletion. [13]

human-readable: With respect to a program, describes output that is designed to be particularly easy for a person to read. Compare to machine-readable. [12]

I


icon: Within a GUI, a small picture that represents an object, such as a window, program or file. [6]

iconify: Same as minimize. [6]

idle process: Process #0, the original process, created as part of the boot sequence. The idle process performs a number of initialization functions, creates process #1 (the init process), and then runs a very simple program that is essentially an infinite loop doing nothing. (Hence, the name "idle process".) See also boot and init process. [26]

idle time: When using the CLI (command line interface), the length of time since the user has pressed a key. [8]

include file: A file containing C or C++ source code that can be inserted into a program as required. A typical include file has definitions of subroutines, data structures, variables, constants, and so on. Also called a header file. [23]

index node: Same as inode. [25]

index number: Same as inumber. [25]

infix notation: Arithmetical notation in which an operator is placed in between the operands, for example, "5 + 7". Compare to prefix notation and postfix notation. [8]

Info: A help system, derived from Emacs and separate from the online Unix manual, used to document the GNU utilities. [9]

Info file: Within the Info system, a file containing the documentation for one topic. [9]

inherit: With respect to a child process, to be given access to a copy of a variable that was part of the environment of the parent process. [12]

init process: Process #1, created by the process #0 (the idle process). The ancestor of all other processes on the system. The init process completes the last part of boot sequence. Among other tasks, it starts the system in a particular runlevel. The init process also adopts all orphan processes to make sure they are handled properly. See also boot, idle process, runlevel and orphan. [26]

initialization file: A file that contains commands to be executed whenever a user logs in or whenever a new shell starts. There are two types of initialization files: A login file runs whenever a user logs in; an environment file runs whenever a new shell starts. See also logout file. [14]

inner join: A type of join in which the output includes only those lines in which the join field matches. Compare to outer join. See also field, join and join field. [19]

inode: Abbreviation for index node, pronounced "eye-node". Within a filesystem, a structure that holds the basic information about a file. See also inode table, inumber, and link. [25]

inode table: A table containing all the inodes in a filesystem. Each inode describes a single file, identified by its inumber. See also inode and inumber. [25]

inumber: Abbreviation for index number, pronounced "eye-number". Within a filesystem, a number that identifies a particular inode (index node) within the inode table. See also inode, inode table, and link. [25]

input mode: When using the vi text editor, a mode in which the characters you type are inserted into the editing buffer. Compare to command mode. [22]

input stream: Data read by a program. Compare to output stream. See also stream. [19]

interactive: Describes a program that communicates with a person. When you run an interactive program, the input comes from your keyboard or your mouse, and the output is sent to your monitor. [12]

interactive shell: A shell that provides the interface for a user working at a terminal. [12]

interface: The part of a machine that provides a way for the user to interact with the machine. For example, with a desktop computer, the interface consists of the monitor, the keyboard, the mouse, the speakers and, possibly, a microphone and webcam. [3]

internal command: Within the shell, a command that is interpreted by the shell directly. Same as builtin command and builtin. Compare to external command. [13]

interprocess communication: The exchange of data between two processes. Abbreviated as IPC. See also signal. [23]

J


job: Within the shell, the internal representation of a command that is currently running or suspended. In most cases, a job corresponds to a single process. However, with a pipeline or a compound command, a job corresponds to multiple processes. Jobs are controlled by the shell, unlike processes, which are managed by the kernel. See also job control, job number and job table. Compare to process. [26]

job control: A facility, supported by the kernel and implemented by the shell, enabling a user to run multiple processes, one in the foreground, the rest in the background. With job control, one can move processes between the foreground and background, suspend (pause) them, and display their status. See also job, job number and job table. [26]

job ID: Same as job number. [26]

job number: A unique number, assigned by the shell, that identifies a particular job. Sometimes referred to as a job number. Job numbers start from 1 and count up. See also job, job control and job table. Compare to process ID. [26]

job table: A table, maintained by the shell, used to keep track of all the jobs started by each userid. The job table contains one entry per process, indexed by job ID. Each entry in the table contains the information necessary to describe and manage a particular job. See also job, job control and job ID. Compare to process table. [26]

join: Combining two sets of data based on matching fields. See also field, join field, inner join and outer join. [19]

join field: When creating a join, the field used to match two sets of data. See also field, join, inner join and outer join. [19]

K


KDE: A widely used, free desktop environment. The KDE Project was founded in October 1996 by Matthias Ettrich, a German student. His goal was to create a complete, integrated, graphical working environment; in fact, the first modern desktop environment. Compare to Gnome. See also desktop environment. [5]

kernel: The central part of an operating system that is always running in order to provide essential services as they are needed. [2]

keyword: Within the shell, one of several builtin commands that are used to control the flow within a shell script. For example, with Bash: case, for, function, if, select, time and while. [13]

kill: To terminate a process permanently. Under normal circumstances, a foreground process can be killed by pressing ^C or (for programs that run in raw mode) by typing a quit command. Compare to suspend. [12]

kilobyte: A unit of storage measurement, 210 = 1,024 bytes. Abbreviated as K or KB. See also gigabyte and megabyte. [24]

Korn shell: A member of the Bourne shell family, developed as a replacement for the Bourne shell in 1982 by David Korn, a researcher at Bell Labs. The name of the Korn shell program is ksh. See also Pdksh and Bourne shell family. [11]

L


lag: When using a remote Unix system, a noticeable delay between the time you press a key or move your mouse and the time you notice the result of your action. [3]

layers of abstraction: A model in which a large overall goal is defined in terms of layers, which are visualized as being stacked from the bottom up, one on top of the next. Each layer provides services to the layer above and requests services from the layer below, with no other interactions. [5]

leaf: Within a tree (data structure), a node that has only one connection; that is, a node at the end of a branch. See also tree. [9]

left button: On a mouse or other pointing device, the button that, when the mouse is on your right, is the leftmost button. See also right button and middle button. [6]

left-click: When using a mouse or other pointing device, to press the left button. [6]

library: A pre-existing module of data and code that can be used by programs as they run. Libraries are often used to enable programs to access operating system services. [23]

LIFO: Abbreviation for "last in, first out". Describes a data structure, such as a stack, in which elements are retrieved in the opposite order to which they went in. Compare to FIFO. See also stack and queue. [8] [24]

line discipline: A facility used by a terminal driver to provide the preprocessing and postprocessing necessary for an interactive interface. See also canonical mode and raw mode. [21]

line editor: Same as line-oriented editor. [22]

linefeed:

  1. A special character used to control the operation of an output device, indicating that the cursor or print position should move down one line. Within Unix, the linefeed character is called a newline and is used to indicate the end of a line of text. When sent to a terminal, a linefeed causes the cursor to move down one line. Within the ASCII code, the linefeed character is ^J (Ctrl-J), with a value of 10 in decimal or 0A in hexadecimal. See also newline and return. [4] [7]
  2. On an old Teletype ASR33, the operation in which the print head is moved down one line. [4]

line-oriented editor: A text editor that numbers lines of text and uses commands based on these numbers. Same as line editor. Compare to screen-oriented editor. [22]

link:

  1. Within a filesystem, the connection between a filename and its inode. Sometimes called a hard link to distinguish it from a symbolic link (soft link). Compare to symbolic link. See also inode. [25]
  2. Within the Info system, a facility that lets you jump from one node to another node. [9]

Linus's Law: "Given enough eyeballs, all bugs are shallow." In other words, when a vast number of people test and read new code, it does not take long to find the bugs. Linus' Law was coined by Eric Raymond in his essay "The Cathedral and the Bazaar". The name was chosen to honor Linus Torvalds, the founder of the Linux kernel project. [2]

Linux:

  1. Any Unix-like kernel created by the Linux project. The project to develop such kernels was started in 1991 by Linus Torvalds. [2]
  2. More generally, any operating system based on a Linux kernel. Such operating systems are sometimes referred to as GNU/Linux, to indicate that a Linux kernel is combined with the GNU utilities. [2]

live CD: A CD that has been made bootable, containing everything necessary to run a full operating system. When you boot from a live CD, you bypass the hard disk, allowing you to use an operating system without having to install it on your system.

local: Describes a variable that exists only within the scope in which the variable was created. For example, shell variables are local to the shell in which they exist. [12]

local variable: A variable that exists only within the scope in which it was created. For example, within the shell, a variable that is not part of the environment is a local variable. See also global variable, shell variable and environment variable. [12]

locale: A technical specification describing the language and conventions that should be used when communicating with a user from a particular culture. The intention is that a user can choose whichever locale he wants, and the programs he runs will communicate with him accordingly. For users of American English, the default locale is either the C (POSIX) locale based on the ASCII code; or the en_US locale, part of a newer international system. [19]

log in: To initiate a Unix work session. [4]

log out: To terminate a Unix work session. [4]

login: Describes the process of logging in. [4]

login file: A type of initialization file that runs whenever a user logs in. See also environment file, initialization file and logout file. [14]

login shell: The shell that starts automatically when you log in. See also non-login shell. [11] [14]

logout: Describes the process of logging out. [4]

logout file: A file that contains commands that are executed whenever a user logs out. See also initialization file, login file and environment file. [14]

lowercase: Describes small letters, "a" to "z". [4]

M


machine-readable: With respect to a program, describes output that is formatted so as to be suitable for processing by another program. Such output may be difficult for a person to read. Compare to human-readable. [12]

macro: When using the vi text editor, a one-character abbreviation for a command. [22]

mail server: A computer that provides the service of sending and receiving email for various clients. [3]

mainframe computer: A large, expensive computer, typically used by institutions — such as governments, universities and companies — that can afford a staff of programmers and administrators. The name "mainframe" was coined in the early 1970s to distinguish the older, large computers from the new minicomputers. [3]

man page: Within the online manual, the documentation for a single topic. By tradition, the documentation for each topic is referred to as a "page", even though it might be large enough to fill many printed pages. See also online manual. [9]

(the) Manual: Same as the online manual. When Unix users refer to "the Manual", they always mean the online manual. [9]

map: To create a mapping. [7]

mapped: Expresses the idea that a mapping exists between two objects. For example, the <Ctrl-C> character is mapped onto the intr signal. Thus, when you press <Ctrl-C>, it has the effect of sending the intr signal. [7]

mapping: An equivalence between two objects. For example, if we say that A is mapped onto B, it means that, when we use A, it is the same as using B. [7]

match: With respect to a regular expression, to correspond to a particular character string. [20]

maximize: Within a GUI, to expand a window to its largest possible size. [6]

maximize button: Within a GUI, a small rectangle, usually in the top right-hand corner of the window, that, when clicked, maximizes the window. [6]

megabyte: A unit of storage measurement, 220 = 1,048,576 bytes. Abbreviated as M or MB. See also kilobyte and gigabyte. [24]

memory dump: Same as core dump. [21]

menu: A list of items from which you can make a selection. Within a GUI, there are two types of menus: pull-down menus (more common) and pop-up menus (less common). [6]

menu bar: Within a GUI, a menu consisting of a horizontal list of words near the top of a window. [6]

metacharacters: Within the shell, a character that has a special, non-literal meaning. [13]

microkernel: A kernel consisting of a relatively small program that calls upon other programs, called servers, to perform much of its work. By their nature, microkernels are somewhat inefficient. However, because of their modular structure, they are easier to maintain and customize than other types of kernels. Compare to monolithic kernel. [2]

middle button: On a mouse or other pointing device, the middle button. Although almost all mice have left and right buttons, many do not have a middle button. See also right button and left button. [6]

middle-click: When using a mouse or other pointing device, to press the middle button. [6]

minicomputer: Any of the relatively small and inexpensive computers that were manufactured in the 1970s and 1980s. Until personal computers became available in the 1980s, most Unix systems ran on minicomputers. Compare to mainframe. [3]

minimize: Within a GUI, to cause a window to vanish from the main part of the screen. To restore a window that has been minimized, you click on its icon within the taskbar. [6]

minimize button: Within a GUI, a small rectangle, usually in the top right-hand corner of the window, that, when clicked, minimizes the window. [6]

mode:

  1. A particular state of a program or a device. For example, you can use Unix in text mode (with the CLI) or graphics mode (with a GUI). Similarly, when you use the vi editor, you are, at any time, either in command mode or insert mode. [6] [13]
  2. Same as file mode. [25]

modification time: With respect to a file, the last time the file was changed. To display the modification time for a file, you use the ls program with the -l option. Compare to access time. [24]

modifier key: On a keyboard, a key that can be held down while pressing another key, for example, <Shift>, <Ctrl> and <Alt>. [7]

monolithic kernel: A kernel consisting of a single, relatively large program that performs all its operations internally. Monolithic kernels are efficient, but can be unwieldy, which makes them difficult to design and maintain. Compare to microkernel. [2]

mount: (verb) To enable access to a filesystem residing on a device by connecting the device filesystem to the main Unix filesystem. To mount a filesystem, you use the mount command. The directory to which the device filesystem is attached is called the mount point. See also unmount and filesystem. [23]

mount point: The directory within the Unix filesystem to which a device filesystem is connected (that is, mounted). See also mount and filesystem. [23]

multi-boot: Describes a computer that is set up to boot one of a number of different operating systems, as chosen by the user during the startup process. [2]

multiprogramming: The old name for multitasking. Describes an operating system that can execute more than one program at a time. [3]

multitasking: Describes an operating system that can execute more than one program at a time. [2]

multiuser: Describes an operating system that can support more than one user at a time. [2]

N


name: An identifier used to refer to a variable. [12]

named pipe: A type of pseudo file used to connect the output of one program to the input of a second program. Unlike an anonymous pipe (regular pipe), a named pipe is created explicitly and exists until it is deleted. Thus, a named pipe can be used repeatedly. Also called a FIFO ("fie-foe"). Compare to pipe. See also pseudo file. [23]

newline: The Unix name for the linefeed character. Within text, a newline character is used to indicate the end of a line. When sent to a terminal, a newline causes the cursor to move down one line. Within the ASCII code, the newline character is ^J (Ctrl-J), with a value of 10 in decimal or 0A in hexadecimal. See also linefeed and return. [7]

News (the): Synonym for Usenet. [3]

news server: A server that stores Usenet articles and makes them available to users via newsreader programs. [3]

newsgroup: A Usenet discussion group. [3]

newsreader: A client program used to access the Usenet system of discussion groups. [3]

nice number: A number used to modify the priority of a process. The higher the nice number, the lower the priority. In most cases, the nice number of a process is changed by either the nice or renice command in order to lower the priority of the process. [26]

niceness: Synonym for nice number. [26]

node:

  1. Within a tree (data structure), a fork in a path. Corresponds to a vertex in a graph. See tree. [9].
  2. Within the Info system, a section that contains information about one specific topic. [9]

noncanonical mode: Same as raw mode. [21]

non-destructive backspace: The type of backspace that occurs when the cursor moves back but nothing is changed. This is what happens when you press the <Left> arrow key. [7]

non-interactive: Describes a program that runs independently of a person. For example, a non-interactive program might read its input from a file and write its output to another file. [12]

non-interactive shell: A shell that is running a shell script. [12]

non-login shell: Any interactive shell that was not started at the time the user logged in. See also login shell. [14]

null:

  1. Describes a variable that has no value. [12]
  2. Synonym for null character. [23]

null character: Also called a null. The character consisting of all 0 bits, that is, the numeric value 0. See also zero file. [23]

null file: The pseudo-file /dev/null. When the null file is used as an output target, it throws away all input. When used as an input source, it always returns the eof signal (that is, nothing). The null file is one of the two bit buckets, the other being the zero file. See also pseudo-file. [23]

numbered buffer: When using the vi text editor, one of 9 storage areas (numbered 1 through 9) used to store and retrieve data. See also unnamed buffer. [22]

O


octal: Same as base 8. A number system, based on powers of 8, in which numbers are constructed using the 8 digits 0, 1, 2, 3, 4, 5, 6, and 7. See also binary system, decimal system, duodecimal and hexadecimal. [21]

offset: The location within a file of a particular byte, the first byte having offset 0. [21]

one or more: Indicates that you must use at least one of something. For example, the syntax for a command might allow you to specify one or more file names. This means that you must use at least one name. Compare to zero or more. [10]

online:

  1. In an older sense, describes the idea of being connected to a specific computer system. For example, when you connect to a remote Unix host, you are online. [9]
  2. Describes an Internet resource or service, for example, online banking. [9]
  3. Describes a person who is currently using the Internet, for example, "Linda is online right now." [9]
  4. Describes a situation that exists only because of the Internet, for example, an online relationship. [9]

online manual: A collection of information, available to all Unix users at all times, containing documentation about commands and important system facilities. The online manual is divided into sections, each of which contains many entries (called pages) that document a single topic. You can access the online manual by using the man command or, with a GUI, by using xman. Alternatively, you can find many versions of the online manual on the Web. There is longstanding tradition that users should check the online manual before asking for help. See RTFM. When Unix users refer to "the Manual", they always mean the online manual. [9]

Open Software Foundation: An organization, formed in May 1988 by eight Unix vendors (including IBM, DEC and HP), for the purpose of creating their own "standard" Unix. Abbreviated as OSF. Compare to Unix International. [5]

open source movement: A loosely organized international social movement among programmers, based on the willingness to work together on free software. [2]

open source software:

  1. Software whose source code is freely distributed, often with the software itself. [2]
  2. Synonym for free software. [2]

operating system: A complex master control program whose principal function is to make efficient use of the hardware. The operating system acts as the primary interface to the hardware for both users and programs. [2]

operator: When using the find program, an instruction used to group together or modify tests. For example, the ! operator negates the meaning of a test. See also test and action. [25]

option:

  1. When entering a Unix command: an optional part of the command, almost always prefaced with - or -- (one or two hyphens), that specifies how you want the command to execute. For example, you might enter the command ls -l. This is the ls command with the -l option. In conversation, the - character is usually pronounced "dash", even though it actually a hyphen or minus sign (depending on your point of view). If you were to talk about the last example, you would say that you used the ls command with the "dash L" option. See also argument. [10]
  2. When using the vi text editor: a setting that enables you to control a specific aspect of the program's operation. There are two types of vi options: switch and variable. [22]

ordinary file: One of the three types of Unix files. Same as regular file. A file that contains data and resides on a storage device, such as a hard disk, CD, DVD, flash drive, memory card, or floppy disk. As such, ordinary files are the type of files you work with most of the time. Compare to directory and pseudo file. See also file. [23]

orphan: A child process whose parent has terminated. See also die and zombie. On most system, orphans are adopted by process #1, the init process, so they can be processed properly. See also init process. [26]

OSF: Abbreviation for Open Software Foundation. [5]

outer join: A type of join in which the output also includes the lines in which the join field does not match. Compare to inner join. See also field, join and join field. [19]

output stream: Data that is written by a program. Compare to input stream. See also stream. [19]

owner: With respect to a file, the userid that controls the file's permissions. By default, the userid that created the file is the owner. However, the owner can be changed with the chown program. [25]

P


page: Within the online manual, the documentation for a single topic. By tradition, the documentation for each topic is referred to as a "page", even though it might be large enough to fill many printed pages. Same as man page. See online manual. [9]

pager: A program that displays text data from a file or a pipeline, one screenful at a time. [21]

paragraph: When using the vi text editor, a section of text that starts and ends in a blank line. Various vi commands act upon paragraphs when moving the cursor or modifying text. See also word and sentence. [22]

parent: Same as parent process. [15] [26]

parent directory: A directory that contains another directory. A directory that lies within a parent directory is called a subdirectory or child directory. See also directory. [23]

parent process: A process that starts another process. The original process is the parent; the new process is the child. See also child process. [15] [26]

parse: Within the shell, to separate a command into logical components, which can then be analyzed and interpreted. [13]

partial ordering: When ordering elements of a set, a binary relation that orders some, but not all members of the set with respect to one another. Compare to total ordering. [19]

partition: On a storage device such as a hard disk, a logically discrete part of the disk on which an operating system or a filesystem can be installed. [2] [23]

partition manager: A program used to manipulate partitions on a disk or similar device. [2]

password: A secret pattern of characters that must be typed as part of the login process to ensure that a user is authorized to use a particular userid. [4]

password aging: A security requirement that forces a user to change his or her password regularly, for example, every 60 days. [4]

password file: A system file, /etc/passwd, that contains information about all the userids in the system. Each line in the file contains information about one userid. On old systems, the password file contained the passwords (encoded, of course). On modern systems, the passwords are kept separately in a shadow file. See also shadow file. [11]

paste: Within a GUI, to copy data from the clipboard to a window. The data within the clipboard is not changed in any way. [6]

patch: A diff used to modify a program, usually to fix bugs or to enhance the program in some way. See also apply and diff. [17]

path: Same as pathname. [24]

pathname: A description of the location of a file within the directory tree. Same as path. See also absolute pathname and relative pathname.[24]

pathname expansion: Within the Bash shell, the facility that implements globbing, that is, the replacing of wildcard patterns by matching filenames. Within the C-Shell and Tcsh, this same facility is referred to as filename substitution; within the Korn Shell and Bourne Shell, it is called filename generation. See also wildcard, globbing and brace expansion. [24]

Pdksh: A member of the Bourne shell family, a free, open source version of the Korn shell, originally developed in 1987 by Eric Gisin. Pdksh is an acronym for "public domain Korn shell". The name of the Pdksh program is ksh. See also Korn shell and Bourne shell family. [11]

permission: Same as file permission. [25]

PID: Same as process ID. A unique number, assigned by the kernel, that identifies a particular process. Pronounced "P-I-D". See also process and process table. [26]

pipe:

  1. A connection between two consecutive programs in a pipeline, in which the output of one program is used as the input for a second program. Sometimes called an anonymous pipe. Compare to named pipe. [15]
  2. (verb) To send data from one program to another so as to create a pipeline. [15]

pipeline: An arrangement in which two or more programs process data in sequence, the output of one program becoming the input to the next program. [15]

pointer: Within a GUI, a small, movable image that indicates the position to which the pointing device (mouse) is currently pointing. The shape of the pointer may change, depending on what you are doing and where it is on the screen. [6]

Polish Notation: Arithmetical notation in which an operator is placed before the operands, for example, "+ 5 7". Named in honor of Jan Lukasiewicz (1878-1956), a renowned Polish mathematician, logician and philosopher. Also called prefix notation. See also Reverse Polish Notation. [8]

pop: With a stack, to retrieve the data element from the top of the stack (that is, the last element written) while simultaneously removing it from the stack. [8] [24]

pop-up menu: Within a GUI, a menu that appears from no apparent location as a result of some action, often a right-click. [6]

postfix notation: Arithmetical notation in which an operator is placed after the operands, for example, "5 7 +". Also called Reverse Polish Notation. Compare to infix notation and prefix notation. [8]

POSIX: A project, started under the auspices of the IEEE (Institute of Electrical and Electronics Engineers) in the early 1990s, with the goal of standardizing Unix. Pronounced "pause-ix". The specification for the POSIX shell is described by IEEE standard 1003.2. Most modern shells in the Bourne shell family adhere to this standard. This is not the case for shells in the C-Shell family. [11]

POSIX options: Same as UNIX options. [26]

predefined character class: With respect to regular expressions, a name that can be used instead of a set of characters within a character class. For example, the predefined character class [:digit:] can be used instead of 0-9. See also character class. [20]

prefix notation: Arithmetical notation in which an operator is placed before the operands, for example, "+ 5 7". Same as Polish notation. Compare to infix notation and postfix notation. [8]

previous job: With respect to job control, the second most recently suspended job or, if there are no suspended jobs, most recently moved to the background. See also job, job control and current job. [26]

primary group: With respect to a specific userid, the one group that is listed as the userid's group in the system password file. All other groups to which the userid belongs are called supplementary groups. Compare to supplementary group. See also group and file mode. [25]

print: To display information on the terminal. For example, the command to display the name of your working directory is pwd: "print working directory". [7]

printable characters: Within a character encoding system, those characters that can be displayed and printed; not control characters. Within the ASCII code, there are 96 printable characters: letters, numbers, punctuation symbols, the space, and (for practical purposes) the tab. See also ASCII code. [19]

priority: With respect to scheduling the execution of processes, an indication of how much precedence a process should be given over other processes. The priority of a process is inversely proportional to its nice number. See also process and nice number. [26]

proc file: A type of pseudo file used to access information residing within the kernel. In a few specific cases, proc files cam be used to change data within the kernel. Originally, these files were created to furnish information about processes, hence the name "proc". See also pseudo file. [23]

process: A program that is loaded into memory and ready to run, along with the program's data and the information needed to keep track of the program. Processes are controlled by the kernel, unlike jobs, which are controlled by the shell. See also job, process ID and process table. [6] [15] [26]

process ID: A unique number, assigned by the kernel, that identifies a particular process. Often referred to as a PID ("P-I-D"). See also process and process table. Compare to job ID. [26]

process table: A table, maintained by the kernel, used to keep track of all the processes in the system. The process table contains one entry per process, indexed by PID (process ID). Each entry in the table contains the information necessary to describe and manage a particular process. See also process and process ID. Compare to job table. [26]

process tree: A data structure in the form of a tree-structured hierarchy that shows the connections between parent processes and their children. The process tree for the entire system has the init process at the root of the tree. See also process, parent process, child process and init process. [26]

Project Athena: A collaboration between researchers at MIT, IBM, and DEC, started in 1984. The goal was to create the first standardized, networked, hardware-independent, graphical operating environment for use by the students at MIT . Project Athena is noteworthy for having created the first version of X Window. [5]

prompt: A short message, displayed by a program, indicating that the program is ready to accept input from the keyboard. [4]

port: As a verb, to adapt software designed for one computer system to run on another system; "Tammy ported the Foo program from Linux to Windows." As a noun, to refer to such software; "Tammy created the Windows port of the Foo program."

program: A list of instructions that, when carried out by a computer, performs a task. [2]

pseudo file: One of the three types of Unix files. A pseudo file is used to access a service, usually provided by the kernel. Because pseudo files do not store data, they require no disk space. The most important types of pseudo files are special files, named pipes, and proc files. Compare to ordinary file and directory. See also file. [23]

pseudo terminal: A simulated terminal used when you open a terminal window within a GUI or when you connect to a remote Unix computer. Abbreviated as PTY. See also terminal. Compare to virtual console. [23]

pseudo-device: A type of special file that acts as an input source or output target but does not correspond to an actual device, either real or emulated. The two most useful pseudo-devices are the null file and the zero file. See also special file. [23]

PTY: Abbreviation for pseudo terminal. [23]

pull-down menu: Within a GUI, a menu that appears when you click on a word or icon. [6]

punch card: A type of card, invented by U.S. inventor Herman Hollerith (1860-1929), used to store data encoded by punched holes organized into columns. [18]

push: With a stack, to store a data element on the stack. [8] [24]

Q


queue: A data structure in which elements are stored and retrieved one at a time, such that elements are retrieved in the same order they were stored. See also FIFO ("first-in first out") and data structure. [23]

quote: Within the shell, to indicate that certain characters are to be interpreted literally according to certain rules. This is done by placing one or more characters within single quotes (') or double quotes ("), or by placing a backslash (\) before a single character. See also strong quotes and weak quotes. [13]

R


range: With respect to regular expressions, within a character class, a specification for a set of characters that can be ordered. A range consists of the first member of the set, followed by a hyphen, followed by the last member of the set. For example, the range 0-9 specifies the digits 0 through 9. See also character class. [20]

raw mode: A line discipline in which characters typed as input to a program are sent to the program as soon as the user presses a key. Compare to canonical mode and cbreak made. See also line discipline. [21]

read permission: A type of file permission that allows the reading of a file or directory. Compare to write permission and execute permission. See also file permission. [25]

reboot: A process that stops Unix and then restarts the computer, effectively stopping and restarting Unix. [6]

record: Within a file containing machine-readable data, a line of data. See also field and delimiter. [17]

recursive:

  1. Describes an algorithm or program (computer science), or a function (mathematics) that is defined in terms of itself. Informally, describes a name or acronym that can be expanded indefinitely, for example, the recursive acronym GNU stands for "GNU's not Unix". [2]
  2. With respect to Unix file commands, describes options that process an entire sub-tree of directories. Such options are usually named -r or -R. [24]

redirect: To redefine the source for standard input or the target for either standard output or standard error. [15]

regex: Abbreviation for regular expression. [20]

regular expression: A specification, based on specific metacharacters and abbreviations, that provides a compact way of unambiguously describing a pattern of characters. Abbreviated as "regex" or, more simply, "re". [20]

regular file: Same as ordinary file. [23]

relative pathname: A pathname that is interpreted in such a way as starting from the current directory. [24]

removable media: Describes storage devices that can be inserted or removed while the system is running; for example, CDs, DVDs, floppy disks, tapes, flash drives, and memory cards. Compare to fixed media. [23]

repeat count: When using the vi text editor, a number, typed before a command, that causes the command to be repeated automatically the specified number of times. For example, the command dd deletes the current line. The command 10dd deletes 10 lines, starting with the current line. [22]

repetition operator: Within a regular expression, one of several metacharacters (*, +, ?, { }) used to match more than one character at a time. See also bound. [20]

resize: Within a GUI, to change the size of a window. [6]

restart: Same as reboot. [6]

restore: Within a GUI, after a window has been minimized or maximized, to cause the window to regain its original size and position. [6]

return: A character that, when sent to a terminal, causes the cursor to move to the beginning of the line. Within the ASCII code, the newline character is ^M (Ctrl-M), with a value of 13 in decimal or 0D in hexadecimal. See also linefeed and newline. [7]

return value: When a program or function calls another program or function, data sent back to the calling program. The fork system call sends a zero return value to the child process and a non-zero return value (the process ID of the child) to the parent process. [26]

Reverse Polish Notation: Arithmetical notation in which an operator is placed after the operands, for example, "5 7 +". Often abbreviated as RPN. Named in honor of Jan Lukasiewicz (1878-1956), a renowned Polish mathematician, logician and philosopher. Same as postfix notation. [8]

revision control system: A sophisticated system, commonly used by software developers to manage the development of large programs or documents. Same as source control system. Generic term is version control system. [17]

right buttons: On a mouse or other pointing device, the button that, when the mouse is on your right, is the rightmost button. See also left button and middle button. [6]

right-click: When using a mouse or other pointing device, to press the right button. [6]

RPN: Abbreviation for Reverse Polish Notation. [8]

root:

  1. A special userid that affords a user special privileges and great power. To maintain proper security, the root password is kept secret, known only by the system administrator. A user who has logged in as root is called the superuser. [4]
  2. Within the Unix filesystem, the main directory. Same as root directory. The root directory is, directly or indirectly, the parent directory of all the other directories in the filesystem. [23]
  3. Within a tree (data structure), the main node from which the tree arises. See tree. [9]

root directory: The main directory of the Unix filesystem. The root directory is, directly or indirectly, the parent directory of all the other directories. See also root and filesystem. [23]

root filesystem: A filesystem stored on the boot device, containing all the programs and data files necessary to start Unix, as well as the tools a system administrator would need should something go wrong. [23]

router: A special-purpose computer that relays data from one network to another. [3]

RTFM:

  1. Pronounced as four separate letters, "R-T-F-M". Within the Unix culture, RTFM is used as a verb to express the idea that, before asking for help with a problem, one should look for information in the online manual. For example, "Can you help me with the sort command? I have RTFM'd but I still can't figure it out." Originally, RTFM was an acronym for "Read the fuckin' manual." Today, RTFM is a valid word in its own right and is the longest verb without vowels in the English language. [9]
  2. In a more general sense, RTFM is used to express the idea that, before someone asks for assistance, he should try to help himself by reading the appropriate documentation, or by searching for information on the Web and on Usenet. [9]

run: To follow the instructions contained in a program. Same as execute. [2]

runlevel: One of a small number of modes in which Unix can be run, determining which fundamental services are to be provided. More technically, a system software configuration that allows a specified group of processes to exist. See also init process. [6]

runtime level: Same as runlevel. [6]

S


scheduler: A service, provided by the kernel, that keeps track of the processes waiting for processor time, in order to decide which process to execute next. [6] [26]

screen editor: Same as screen-oriented editor. [22]

screen-oriented editor: A text editor that allows you to enter, display and manipulate data anywhere on the screen, without having to use commands that require line numbers. Same as screen editor. Compare to line-oriented editor. [22]

scroll: To move lines on the screen of a terminal, usually up or down, in order to make room for new lines. [7]

search path: Within the shell, the list of directories in which the shell looks when it needs to find a program that must be executed. [13]

secondary prompt: A special shell prompt used to indicate that a command is being continued onto a new line. See also shell prompt. [19]

sentence: When using the vi text editor, a string of characters, ending in a period, comma, question mark or exclamation mark, followed by at least two spaces or a newline character. Various vi commands act upon sentences when moving the cursor or modifying text. See also word and paragraph. [22]

server:

  1. A program that offers a service of some type, usually over a network. The program that requests such services is called a client. [3]
  2. A computer that runs a server program. [3]
  3. A program used by a microkernel to perform specific tasks. [2]

set:

  1. Within the shell, to create a variable and, possibly, give it a value. [12]
  2. Within the Bourne shell family (Bash, Korn shell), to turn on an option. See also unset. [12]

setuid: Often abbreviated as suid (pronounced "S-U-I-D"); stands for "set userid". A special type of file permission used only with files that contain executable programs. When setuid is set, a program executes with the permissions of the owner of the file regardless of which userid runs the program. Setuid is usually used to enable regular userids to run programs owned by root that require superuser privileges. [25]

shadow file: A system file, /etc/shadow, that contains encoded passwords with related data, such as expiration dates. See also password file. [11]

shell: A program that provides one of the primary interfaces to Unix by acting as a command processor and by interpreting scripts of commands. [2] [11]

shell option: Within the Bourne shell family (Bash, Korn shell), a setting that acts as an off/on switch in order to control a particular aspect of the shell's behavior. Within the C-Shell family (C-Shell, Tcsh), shell options are not used. Instead, the behavior of the shell is controlled by setting shell variables. [12]

shell prompt: One or more characters displayed by the shell to indicate that it is ready to accept a new command. See also secondary prompt. [4] [13]

shell script: A list of commands, stored in a file, that can be executed by a shell. Most shells have special programming commands designed specifically for use within shell scripts. [11] [12]

shell variable: Within a shell, a local variable that is not part of the environment and, hence, is not accessible to child processes. See also environment variable, local variable and global variable. [12]

shortcut key: Within a GUI, a key or key combination that allows you to initiate a particular action without having to go to the trouble of pulling down a menu and selecting an item. [6]

shutdown: A process that stops Unix and turns off the computer. [6]

signal: A type of interprocess communication in which a simple message, in the form of a number, is sent to a process to let it know that some type of event has occurred. It is up to the process to recognize the signal and do something. When a process does this, we say that it traps the signal. See also interprocess communication and trap. [26]

single-user mode: Runlevel #1. A runlevel in which only the superuser may log in, usually to perform some type of system maintenance or repair. [6]

Slackware: The first successful Linux distribution, released in July 1993 by Patrick Volkerding. The name "slack" was a whimsical choice, taken from the Church of the SubGenius, a parody religion. Slack refers to the feeling of exhilaration and satisfaction that comes from achieving your personal goals. [2]

soft link: Synonym for symbolic link. Used to distinguish between a regular link (hard link) and a symbolic link (soft link). [25]

software: Computer programs of all types. [2]

source: Synonym for source code. [2]

source control system: A sophisticated system, commonly used by software developers to manage the development of large programs or documents. Same as revision control system. Generic term is version control system. [17]

source code: A program written in a computer language, readable by a knowledgeable person. To convert a source program into an executable program, it must be translated into machine language. Informally, source code is often referred to as "source". [2]

special file: A type of pseudo file that provides an internal representation of a physical device. Also called a device file. See also pseudo file. [23]

squeeze: With respect to programs that modify text (such as tr), while performing a translate operation, to treat multiple adjacent identical characters as a single character. For example, to replace multiple spaces in a row by a single space. See also translate. [19]

stack: A data structure in which elements are stored and retrieved one at a time, such that, at any time, the next data element to be retrieved is the last element that was stored. See also LIFO ("last-in first out") and data structure. [8] [24]

standard error: The default target for error messages written by a program. Abbreviated as stderr. When a user logs in, the shell automatically sets standard error to be the monitor. Thus, by default, most programs write their error messages to the monitor. See also standard input, standard output and standard I/O. [15]

standard I/O: Collectively, refers to standard input, standard output and standard error. Abbreviation for "standard input/output". [15]

standard input: The default input source for a program. Abbreviated as stdin. When a user logs in, the shell automatically sets standard input to the keyboard. Thus, by default, most programs read their input from the keyboard. See also standard output, standard error and standard I/O. [15]

standard options: Same as UNIX options. [26]

standard output: The default target for general output written by a program. Abbreviated as stdout. When a user logs in, the shell automatically sets standard output to be the monitor. Thus, by default, most programs write their output to the monitor. See also standard input, standard error and standard I/O. [15]

state: The current status of a process. At any time, a process is in one of three possible states: running in the foreground; running in the background; or suspended (paused), waiting for a signal to resume execution. See also foreground process, background process and suspend[26]

static data: Within the Unix filesystem, data that does not change without system administrator intervention. Compare to variable data. [23]

stderr: Abbreviation for standard error. [15]

stdin: Abbreviation for standard input. [15]

stdout: Abbreviation for standard output. [15]

stop: To pause a process temporarily, usually by pressing the ^Z key. Once a process is stopped, it waits for a signal to resume execution. Same as suspend. Compare to kill. See also process and job control. [26]

stream: Data that is either read by a program (an input stream) or written by a program (an output stream). [19]

string: A sequence of printable characters. Same as character string. See also printable character. [19]

strong quotes: When using the shell, a synonym for single quotes ('). Within single quotes, no characters have special meanings. Compare to weak quotes. [13]

subdirectory: Also called a child directory. A directory that lies within another directory. All directories, except the root directory, can be considered subdirectories. The directory that contains a subdirectory is called the parent directory. See also directory. [23]

subshell: Any shell that is started from within another shell. [15]

suid: Abbreviation for setuid. Pronounced "S-U-I-D". [25]

superblock: Within a Unix filesystem, a special data area that holds crucial information about the filesystem itself. [24]

superuser: A user, usually the system administrator, who has logged in using the root userid, which affords special privileges. See also root. [4]

supplementary group: With respect to a specific userid, aside from the userid's primary group, any other group to which the userid belongs. Compare to primary group. See also group and file mode. [25]

suspend: To pause a process temporarily, usually by pressing the ^Z key. Once a process is suspended, it waits for a signal to resume execution. Same as stop. Compare to kill. See also process and job control. [26]

swap file: When using the vi text editor, a copy of the editing buffer that is saved automatically in the same directory in which you are editing. Should your work session be aborted expectedly — say by a system crash — the swap file can be used to recover your data. [22]

switch:

  1. When entering a Unix command: another name for an option. [10]
  2. When using the vi text editor, a type of option that is either on or off. Compare to variable. See also option. [22]

symbolic link: Within a filesystem, a type of link that is, literally, the pathname of another file. A symbolic link is sometimes called a soft link to distinguish it from a regular link (hard link). Often referred to as a symlink. Compare to link. [25]

symlink: Abbreviation for symbolic link. [25]

syntax: The formal description of how a command should be entered. [10]

sysadmin: Synonym for system administrator. [4]

system administrator: The person who administers and manages a Unix system. Same as sysadmin. [4]

system call: A facility used by a process to request the kernel to perform a service. [26]

system maintenance mode: Obsolete term for single-user mode. [6]

system manager: Obsolete term for system administrator. [4]

System V: A version of UNIX developed at AT&T, released in 1983. In the 1980s, System V was one of the two main branches of the Unix; the other was BSD. [2]

T


tab stop: On a typewriter, a mechanical marker that sets a position where the carriage will stop when the key is pressed. [18]

task: Within a GUI, a program that is running in a window. [6]

task switching: Within a GUI, to change the focus from one window to another, often by using a key combination to cycle through the list of currently running tasks. With most GUIs, the task switching keys are <Alt-Tab> to move forward through the list, and <Alt-Shift-Tab> to move backward through the list. [6]

taskbar: Within a GUI, a horizontal bar, usually at the bottom of the screen, which contains a representation of each window that is currently active. The representation of a window is usually an icon, possibly with some text. Within Gnome the functionality of the taskbar is provided by the "Window List". [6]

Tcsh: A member of the C-Shell family, originally developed in the late 1970s by Ken Greer of Carnegie-Mellon University as a completely free version of the C-Shell. Pronounced "tee-see-shell". The Tcsh is used widely as a powerful, backwards compatible replacement for the traditional C-Shell. The name of the Tcsh program is either tcsh or csh. See also C-Shell family. [11]

TCO: Abbreviation for total cost of ownership.

Termcap: A database, consisting of one large file, that contains technical descriptions of all the different types of terminals. In modern systems, Termcap has been replaced by Terminfo. [7]

terminal: The hardware used to access a Unix system via a keyboard, a monitor and, possibly, a mouse. A Unix terminal can be a machine designed to be a terminal, or it can be a computer that is running a program to act like (emulate) a terminal. [3]

terminal driver: The program that acts as the driver for a terminal. [21]

terminal room: In the 1970s and 1980s, a room in which there were a number of terminals connected to a host computer. To use a Unix system, you would go to the terminal room, and wait for a free terminal. [3]

terminal server: A special-purpose computer that acts as a switch, connecting terminals to host computers. [3]

terminate: With respect to a process, to stop running. Same as die. [26]

Terminfo: A database, consisting of a collection of files, containing technical descriptions of all the different types of terminals. In modern systems, Terminfo replaces an older database called Termcap. [7]

test: When using the find program, a specification defining the criteria used during the file search. For example, the test -type f tells find to search only for ordinary files. See also action and operator. [25]

Texinfo: The official documentation system for the GNU project. Texinfo provides a sophisticated set of tools that use a single information file to generate output in a variety of formats: Info format, plain text, HTML, DVI, PDF, XML and Docbook. Most commonly pronounced as "Tekinfo". [9]

text: Data that consists of characters: letters, numbers, punctuation, and so on. [3]

text editor: A program used to create and modify text files. Often referred to informally as an editor. [22]

text file: A file that contains only printable characters, with a newline character at the end of each line. Unix filters are designed to work with text files. Sometimes called an ASCII file. Compare to binary file. See also printable character. [19]

text-based terminal: A terminal that displays only characters (text): letters, numbers, punctuation and so on. Same as character terminal. [3]

time-sharing system: The old name for a multiuser system. Describes an operating system that can support more than one user at a time. [3]

time slice: A very short interval during which a particular process is allowed to use the processor. A typical time slice would be 10 milliseconds (10 thousandths of a second). See also CPU time. [6] [26]

title bar: Within a GUI, the horizontal area at the top of a window that has the name of the program running in the window. [6]

top: Within a stack, the location of the data element that was most recently pushed onto (written to) the stack. [8] [24]

Top Node: Within the Info system, the root of a tree. As a general rule, the Top Node contains a summary of the topic under discussion, as well as a menu showing the topics covered in the file. [9]

top-level directory: Any subdirectory of the root directory. The root directory and the top-level directories form the backbone of the Unix filesystem. See also root directory and filesystem. [23]

total cost of ownership: A business term, often abbreviated as TCO. An estimate of the total cost of owning and using a machine or a system over its lifetime. To estimate the TCO for a computer, one must consider the cost of hardware, software, upgrades, maintenance, technical support, and training. As a rule of thumb, the TCO of a business PC is 3 to 4 times its purchase price.

total ordering: When ordering elements of a set, a binary relation that orders all the members of the set with respect to one another. Compare to partial ordering. [19]

translate: With respect to programs that modify text (such as tr), to change every instance of a character to one or more specified characters. See also squeeze. [19]

trap: For a program that is executing, to notice and react to a specific signal, especially signals that might abort or otherwise affect the program. See also signal. [7] [26]

tree: A data structure formed by a set of nodes, leaves, and branches, organized in such a way that there is, at most, one branch between any two nodes. See also data structure, node, leaf, branch, root. [9] [23]

triple-click: When using a mouse or other pointing device, to press a button three times in rapid succession. [6]

U


UI: Abbreviation for Unix International. [5]

Unix:

  1. Any operating system that meets generally accepted "Unix-like" standards with respect to providing user and programming services. [2]
  2. Describes a worldwide culture, based on the Unix operating systems, involving interfaces, shells, programs, languages, conventions and standards. [2]

UNIX: The specific family of operating system products and associated software originally developed by AT&T. Compare to Unix. 2]

Unix International: An organization formed in December 1989 by AT&T, Sun, and several smaller companies, as an alternative to the Open Software Foundation. Abbreviated as UI. [5]

Unix manual: Same as the online manual. [9]

UNIX options: With respect to the ps (process status) command, those options that are derived from the 1980s version of ps that was part of AT&T UNIX. UNIX options start with a single dash. Compare to BSD options. Also called POSIX options and standard options. [26]

unmaximize button: Within a GUI, a small rectangle, usually in the top right-hand corner of the window, that, when clicked, will restore a window that was previously maximized. [6]

unmount: (verb) To disable access to a filesystem residing on a device by disconnecting it from the main Unix filesystem. To unmount a filesystem, you use the umount command. See also mount and filesystem. [23]

unnamed buffer: When using the vi text editor, a storage area containing a copy of your last deletion. See also numbered buffer. [22]

uppercase: Describes the capital letters, "A" to "Z". [4]

unset:

  1. Within the shell, to delete a variable. [12]
  2. Within the Bourne shell family (Bash, Korn shell), to turn off an option. See also set. [12]

Usenet: A worldwide system of discussion groups. [3]

user: A person who uses a Unix system in some way. Unix does not know about users: Unix only knows about userids. [4]

user mask: A three-number octal value that indicates which file permissions should be withheld from newly created files. [25]

user name completion: Same as userid completion. [13]

userid: A name, registered with a Unix system, that identifies a specific account. Pronounced "user-eye-dee". [4]

userid completion: A type of autocompletion that completes a partially typed userid, when a word begins with a ~ (tilde) character. Userid complete is available with Bash, the C-Shell, and the Tcsh. See also autocompletion. [13]

utility: Any of the hundreds of programs distributed with a Unix/Linux operating system. [2]

V


value: Data that is stored in the variable. [12]

variable:

  1. A quantity, known by a name, that represents a value. [12]
  2. When using the vi text editor,or example, an option that contains a value. Compare to switch. See also option. [22]

variable completion: A type of autocompletion that completes a partially typed variable name, when a word begins with a $ (dollar) character. Variable completion is available with Bash and the Tcsh. See also autocompletion. [13]

variable data: Within the Unix filesystem, data that, by its nature, is expected to change over time; for example, a log file. Compare to static data. [23]

version control system: Generic name for a sophisticated system, commonly used by software developers and engineers, to manage the development of large programs, documents, blueprints, and so on. When used by programmers, usually referred to as a source control system or revision control system. [17]

vi: A powerful, screen-oriented text editor, part of every Unix system. The vi editor is the de facto standard Unix text editor. The name vi is pronounced as two separate letters "vee-eye". See also Vim. [22]

vi mode: Within the shell, a mode used with command line editing in which the editing commands are the same ones as are used with the vi text editor. See also command line editing and Emacs mode. [13]

Vim: A very powerful, backward compatible replacement for the vi text editor. On many Unix and Linux systems, Vim, by default, takes the place of vi. See also vi. [22]

virtual console: One of several terminal emulation programs running at the same time, each of which supports an independent work session. Within Linux, the most common default configuration offers the user 7 virtual consoles: #1-6 are full-screen, text-based terminals for using a CLI; #7 is a graphics terminal for running a GUI. In such systems, the desktop environment (such as KDE or Gnome) runs within virtual console #7. See also terminal. Compare to pseudo terminal. [6]

virtual filesystem: An API (application program interface) that provides a uniform way for programs to access data regardless of how that data is stored or generated. The virtual filesystem is what makes it possible to organize separate, heterogeneous device filesystems into one large Unix filesystem. Abbreviated as VFS. [23]

visit: Within the Info system, to look at the contents of a particular node. [9]

VT100: The most popular Unix terminal of all time, introduced in 1978 by the Digital Equipment Corporation. The VT100 was so popular that it set a permanent standard. Even today, most terminal emulation programs use specifications based on the VT100. [3]

W


wait: After a process has forked to create a child process, to pause until the child has finished running. See also fork, exec and exit. [26]

weak quotes: When using the shell, a synonym for double quotes ("). Within double quotes, only the three metacharacters $ (dollar), ` (backquote), and \ (backslash) retain their special meaning. Compare to strong quotes. [13]

Web server: A computer that stores Web pages and makes them available via a network, usually the Internet. [3]

whitespace:

  1. With the shell, one or more consecutive spaces or tabs. [10]
  2. With some programs, one or more consecutive spaces, tabs or newlines. [10]

wildcard: When specifying a filename, typically within a Unix command, a metacharacter used to create a pattern that can match multiple files. See also globbing and pathname expansion. [24]

window: When using a GUI, a bounded region of the screen, usually a rectangle. [5]

window manager: Within a GUI, the program that controls the appearance and characteristics of the graphical elements (windows, buttons, scroll bars, icons, and so on). [5]

window operation menu: Within a GUI, when you are using a window, a pull-down menu containing a list of actions that pertain to the window itself, such as Move, Resize, Minimize, Maximize and Close. To display the Window Operation menu, you click on the tiny icon at the top-left of the window (at the left edge of the title bar). [6]

word:

  1. The fundamental unit into which bits are organized and manipulated by a particular processor. Most modern processors use 32-bit or 64-bit words. [21]
  2. When using a regular expression: a self-contained, contiguous sequence of characters consisting of letters, numbers, or underscore characters. [20]
  3. When using the vi text editor: a string of letters, numbers, or underscore characters. Various vi commands act upon words when moving the cursor or modifying text. See also sentence and paragraph. [22]

working directory: Also called current directory. The default directory, used when entering Unix commands. The working directory is set by the cd (change directory) command; the name is displayed by the pwd (print working directory) command. [24]

workspace: Within the Gnome desktop environment, a desktop. [6]

write permission: A type of file permission. With a file, it allows reading. With a directory, it allows creating, moving, copying or deleting within the directory. Compare to read permission and execute permission. See also file permission. [25]

X


X: Same as X Window. [5]

X terminal: Any graphics terminal designed to be used with the X Window system. Today, the X terminal standard is the basis for graphics terminal emulation, in the same way that the VT100 is the basis of character terminal emulation. [3]

X Window: A widely-used system designed to support graphical user interfaces (GUIs). The correct usage of this term is singular, "X Window", not plural, "X Windows". The X Window system is often referred to simply as "X". [5]

Y


yank: (verb) When using the vi text editor, to copy text to the unnamed buffer without deleting the text. See also unnamed buffer. [22]

Z


zero file: The pseudo-file /dev/zero. When used as an output target, the zero file throws away all input. When used as an input source, it always returns a null character. The zero file is one of the two bit buckets, the other being the null file. See also pseudo-file and null character. [23]

zero or more: Indicates that you can use one or more of something or that you can omit the item entirely. For example, the syntax for a command might allow you to specify zero or more file names. This means that you can specify one or more names, or you can omit the name entirely. Compare to one or more. [10]

zombie: A child process that has died, but has not yet been made to vanish by its parent. If the child is an orphan (without a parent), it will remain a zombie until the system does something to cause the child to vanish. See also die and orphan. [26]

Zsh: A member of the Bourne shell family, a very powerful, complex shell, originally developed in 1990 by Paul Falstad, a student at Princeton University. Zsh is pronounced "zee-shell". The name of the Zsh program is zsh. See also Bourne shell family. [11]

Jump to top of page