- AIX
A version of UNIX from the IBM Corporation.
- argument
Zero or more characters passed to a program as a single unit.
The shell breaks a command line into arguments by cutting it at
unquoted white space. See also
article
8.5
,
word
.
- array
An ordered collection of data items.
An array has a single overall name; each item in it is called an element
or member
.
For instance, the C shell stores its command search path in an
array (47.5
)
named
path
(6.5
)
.
The first array member is named $path[1]
, the second is
$path[2]
, and so on.
- ASCII file
Formally, a file containing only
ASCII (51.3
)
characters.
More commonly (in the USA, at least) a file containing text that's
printable, viewable, and has no "binary" (non-ASCII) characters.
ASCII characters use only seven of the bits in a (8-bit) byte.
- backquote
The character `
.
Not the same as a single quote ('
).
Does
command substitution (9.16
)
.
- backslash
The character \
.
In UNIX, it changes the interpretation of the next character in some way.
See also
article
8.20
,
slash
.
- batch queue
A mechanism for sequencing large jobs. A batch queue receives job
requests from users. It then executes the jobs one at a time. Batch
queues go back to the earliest days of data processing. They are an
extremely effective, if uncomfortable, way to manage system load.
See also
article
40.6
.
- bin directory
A directory for storing executable programs.
See also
article
4.2
.
- binaries, binary file
A file with non-text characters.
Often, a directly executable file that can be run as a program.
Binary characters use all the bits in a (8-bit) byte.
See also
ASCII file
.
- block size
The largest amount of data that a UNIX filesystem will always
allocate contiguously. For example, if a filesystem's block size is 8
KB, files of size up to 8 KB are always physically contiguous (i.e.,
in one place), rather than spread across the disk. Files that are
larger than the filesystem's block size may be fragmented: 8 KB pieces of
the file are located in different places on the disk. Fragmentation
limits filesystem performance. Note that the filesystem block size is
different from a disk's physical block size, which is almost always 512 bytes.
- brain-damaged
A program with poor design or other errors can be called brain-damaged
.
- BSD UNIX
The versions of UNIX developed at the University of California,
Berkeley. BSD UNIX has been dominant in academia and has
historically had some more advanced features than System V: BSD
introduced virtual memory, networking, and the "fast filesystem" to
the UNIX community. It is also the system on which SunOS was based.
System V Release 4 and some vendors' earlier System V versions
also have Berkeley features.
- buffer
A temporary storage place such as a file or an area of the computer's
memory.
Most text editors store the file you're editing in a buffer; when you're
done editing, the edited buffer is copied over (i.e., replaces) the original file.
- command line
The text you type at a shell prompt.
A UNIX shell reads the command line, parses it to find the command name
(which is the first word on the command line), and executes the command.
A command line may have more than one command joined by operators like
semicolons (;
) (8.5
)
,
pipes (|
) (1.4
)
,
or
double ampersands (&&
) (44.9
)
.
- control character
A character you make by holding down the keyboard
CTRL
(Control) key
while pressing a letter or another character key.
- core file, core dump
When a program terminates abnormally, it may make a file named core
.
The core
file can be used for debugging.
See also
article
24.5
.
- .cshrc file
See
dot (.) files (.cshrc, .login, .profile
.
- CTRL-x
The character called "control x
," where x
is a key on the keyboard.
See also
control character
.
- daemon
A program that is invisible to users but provides important system
services. Daemons manage everything from paging to networking to
notification of incoming mail. BSD UNIX has many different daemons:
without counting, I would guess that there are roughly two dozen.
Daemons normally spend most of their time
"sleeping" or waiting for something to do, so that they don't
account for a lot of CPU load.
See also
article
1.14
.
- data switch
This hardware is something like a telephone switchboard.
A data switch connects many terminals to two or more computers.
The user, on a terminal or through a modem, tells the data switch which
computer she wants a connection to.
Also called a terminal multiplexor
.
Computers without data switches usually have one terminal connected to
each
tty
(3.8
)
port; characteristics like the
terminal type (5.10
)
can be set in system files.
Conversely,
computers with data switches can't know in advance what sort of terminal
is connected to each tty
port.
- default
In a program that gives you more than one choice, the default choice is
the one you get by not choosing.
The default is usually the most common choice.
As an example, the default file for many UNIX programs is the standard
input.
If you don't give a filename on the command line, a program will
read its standard input.
- dot (.) files (.cshrc, .login, .profile
Files that are read when you start a program (including when you log in and
start a shell).
These set up your environment and run any other UNIX commands (for
instance,
tset
).
If your account uses the C shell, it will read .cshrc
and .login
.
Accounts that use the Bourne shell and shells like it read .profile
.
See also
article
2.2
.
- double quote
The "
character. This isn't the same as two single quotes (''
)
together.
The "
is used around a part of a UNIX command line where
the shell should do variable and command substitution (and, on the C
shell, history substitution), but no other interpretation.
See also
articles
8.14
and
8.15
,
single quote
.
- escape
When you escape
a character or a string of characters, you change
the way it is interpreted.
Escaping something can take away its special meaning, as in
shell quoting (8.14
)
-
or can add special meaning, as in
terminal escape sequences (5.8
)
.
- flag
In programming, a flag variable
is set to signal that some
condition has been met or that something should be done.
For example, a flag can be set ("raised") if the user has entered something
wrong; the program can test for this flag and not continue until
the problem has been fixed.
- flame
A heated or irrational statement.
- fragment
In the BSD "fast filesystem," a fragment is a portion of a disk
block - usually one-eighth of a block, but possibly one-quarter or
one-half of a block. If the last portion of a file doesn't occupy a
full disk block, the filesystem will allocate one or more fragments
rather than an entire block. Don't confuse "fragments" with
"fragmentation." Fragments allow the BSD filesystem to use
larger block sizes without becoming inefficient.
- Free Software Foundation, FSF
A group that develops the freely available GNU software.
Their address is: 675 Massachusetts Avenue, Cambridge, MA 02139 USA.
- full-duplex
Communications between a terminal and a computer where data flows in both
directions at the same time.
Half-duplex
communications, where data flows in only one direction
at a time, are unusual these days.
See also
article
41.2
.
- GNU
Gnu's Not Unix, a system of software planned to
eventually be a freely available substitute for UNIX.
See also
Free Software Foundation, FSF
.
- gotcha
A "catch," difficulty, or surprise in the way that a program works.
- hardcoded
In general, a value that can't be changed.
For example, in a shell script with the command grep jane
, the
value jane
is hardcoded; grep
will always search for
jane
.
But in the command grep $USER
, the text that grep
searches for
is not hardcoded; it's a variable value.
- hash table
Hashing
data into the format of a hash table lets
specially designed programs search for data quickly.
A hash table assigns a special search code to each piece of data.
For example, the C shell uses a hash table to locate commands
more quickly; the
rehash
(4.2
)
command rebuilds the hash table after you add a new command.
- I/O
Input/output of text from software or hardware.
- inode
A data structure that describes a file. Within any filesystem, the
number of inodes, and hence the maximum number of files, is set when
the filesystem is created.
See also
article
1.22
.
- i-number
A UNIX file has a name (for people to identify it with) and an i-number
(for UNIX to identify it with).
Each file's i-number is stored in a directory, along with the filename, to
let UNIX find the file that you name.
See also
article
1.22
.
- job
One UNIX command. It is easy to be sloppy and use the terms job,
process, and program interchangeably. I do it and I'm sure you do,
too. Within UNIX documentation, though, the word "job" is usually
used to mean one, and only one, command line. Note that one command
line can be complex. For example:
pic a.ms | tbl | eqn | troff -ms
is one command, and hence one job, that is formed from four processes.
- job number
Shells with job control assign a job number to every command that is stopped or
that is running in the
background (1.26
)
.
You can use job numbers to refer
to your own commands or groups of commands. Job numbers are
generally easier to use than process IDs; they are much smaller
(typically between 1 and 10), and therefore easier to remember.
The C shell jobs
command displays job numbers.
See also
article
12.1
.
- kernel
The part of the UNIX operating system that provides memory
management, I/O services, and all other low-level services. The
kernel is the "core" or "heart" of the operating system.
See also
article
1.14
.
- kludge
A program or a solution to a problem that isn't written carefully, doesn't
work as well as it should, doesn't use good programming style, and so on.
- library function
Packages of system calls (and of other library functions) for programmers
in C and other languages.
In general (though not always), a library function is a "higher-level
operation" than a system call.
See also
system call
.
- load average
A measure of how busy the CPU is. The load average is useful, though
imprecise. It is defined as the average number of jobs in the run
queue plus the average number of jobs that are blocked while waiting for
disk I/O.
The
uptime
(39.7
)
command shows the load average.
- .login file
See
dot (.) files (.cshrc, .login, .profile
.
- mode
In UNIX, an
octal number
that describes what access a file's owner, group,
and others have to the file.
See also
article
1.23
.
- modulo
Think back to your fourth grade arithmetic.
When you divide two
numbers, you have a dividend
(the number on top), a
divisor
(the number on the bottom), a quotient
(the
answer), and a remainder
(what's left over).
In computer science, this kind of division is very important.
However, we're usually more interested in the remainder than in the quotient.
When we're interested in the remainder, we call the operation a
modulus
(or modulo
, or mod
).
For instance, one of the examples on your fourth grade arithmetic text
might have been 13 ÷ 3 = 4
(with a remainder of 1).
As computer users, we're more interested in 13 mod 3 = 1
.
It's really the same operation, though.
Modulo
is also used in expressions like "modulo wildcards,"
which means "everything but wildcards."
- NFS
N
etwork F
ile S
ystem. NFS allows UNIX systems and many non-UNIX
systems to share files via a TCP/IP network. Subject to certain
security restrictions, systems are allowed complete access to another
system's files.
See also
article
1.33
,
TCP/IP
.
- newline
The character that marks the end of a line of text in most UNIX files.
(This is a convention, not a requirement.)
- null
Empty, zero-length, with no characters - for example, a null string
.
This is not
the same as an
ASCII NUL (51.3
)
character.
- octal number
The base 8 numbering system.
Octal numbers are made with the digits 0 through 7.
For example, the decimal (base 10) number 12
is the same as the
octal number 14
.
ASCII character codes (51.3
)
are often shown as octal numbers.
- option switch
Typed on a command line to modify the way that a UNIX command works.
Usually starts with a dash (-
).
The terms option
and switch
are more or less interchangeable.
An option may have several settings, but a switch usually has two
settings:
on or off, enabled or disabled, yes or no, etc.
- panic
UNIX jargon for a "crash." A panic is really a special kind of a
crash. Panics occur when UNIX detects some
irreconcilable inconsistency in one of its internal data structures. The
kernel throws up its hands and shuts the system down before any damage
can be done. As it is going down, it prints a "panic" message on
the console.
- parse
To split into pieces and interpret.
Article
8.5
explains how the shell parses a command line.
- partition
A portion of a disk drive. UNIX disk drives typically have eight
partitions, although not all are in use.
- path, search
See
search path
.
- pipe
A UNIX mechanism for sending the output of one program directly to
the input of another program, without using an intermediate file. All
UNIX systems support pipes.
See also
article
1.4
.
System V and SunOS also provide "named
pipes," which are FIFO (first-in/first-out) buffers that have names
and can be accessed via the filesystem.
- portable
A program that's portable
can be used on more than one version of
UNIX or with more than one version of a command.
- POSIX
An "open" computer operating system that is
similar to UNIX.
- priority
A number that determines how often the kernel will run a process.
A higher-priority process will run more often and, therefore, will
finish faster, than a low-priority process.
- process
A lot of the time, a process is nothing more than
another name for a program that is running on the system. But there
is a more formal definition: a process is a single
execution thread, or a single stream of computer instructions.
One job may be built from many different processes. For example, a
command line with
pipes (1.4
)
starts two or more processes.
See also
article
38.3
.
- process ID (PID)
UNIX assigns every process an ID number (called a PID) when it starts.
See also
article
38.3
.
This number allows you to refer to a process at a later time. If you
need to
kill (38.10
)
a runaway program, you refer to it by its process ID.
The
ps
(38.5
)
command displays process IDs.
- .profile file
See
dot (.) files (.cshrc, .login, .profile
.
- prompt
How a program asks you for information: by printing a short string
like Delete afile?
to the terminal and waiting for a response.
See also
shell prompt
.
- pseudo-code
A way to write out program text, structured like a program, without using
the actual programming language.
Pseudo-code is usually used to explain a program.
- quote
See
backquote
.
- read-only filesystem
Filesystems are usually set up to allow write access to users who have
the proper
permissions (1.23
)
.
The system administrator can mount a filesystem read-only
; then no
user will be able to make changes to files there.
- recursive
A program or routine that re-executes itself or repeats an action over
and over.
For example, the
find
(17.1
)
program moves through a directory tree recursively, doing something in
each directory.
- reverse video
On a video display, reversed foreground and background colors or tones.
Reverse video is used to highlight an area or to identify text to be used or modified.
For instance, if text is usually shown with black letters on a white
background, reverse video would have white letters on a black background.
See also
article
5.8
.
- SCSI
Small Computer Systems Interface, a standard interface for disk and
tape devices now used on many UNIX (and non-UNIX) systems.
- search path
A list of directories that the shell searches to find the program file you
want to execute.
See also
articles
6.4
and
8.7
.
- shell
A program that reads and interprets command lines and also runs those programs.
See also
articles
8.5
and
44.3
.
- shell prompt
A signal from a shell (when it's used interactively) that the shell is
ready to read a command line.
By default, the percent sign (%
) is the C shell prompt and
the dollar sign ($
) is the Bourne shell prompt.
- slash
The character /
.
It separates elements in a pathname.
See also
article
1.21
,
backslash
.
- single quote
The '
character.
This isn't the same as a backquote (`
).
The single quote is used around a part of a UNIX command line where the shell
should do no interpretation (except history substitution in the C shell).
See also
articles
8.14
and
8.15
,
double quote
.
- special file
An entity in the filesystem that accesses I/O devices. There is a
special file for every terminal, every network controller, every
partition of every disk drive, and every possible way of accessing
every tape drive.
See also
article
1.29
.
- string
A sequence of characters.
See also
word
.
- subdirectory
A directory within a directory.
See also
articles
1.21
and
4.7
.
- swapping
A technique that the UNIX kernel uses to clean up physical memory.
The kernel moves entire processes from memory to disk and then
reassigns the memory to some other function. Processes that have been
idle for more than a certain period may be removed from memory to save space.
Swapping is also used to satisfy extreme memory shortages. When the
system is extremely short of memory, active processes may be "swapped out."
- switch
See
option switch
.
- system call
The lowest-level access to the UNIX operating system.
Everything else in UNIX is built on system calls.
See also
library function
.
- System V UNIX
A version of UNIX from AT&T.
The most recent Release of System V is Release 4, known as V.4 or SVR4.
- TCP/IP
A network protocol that is commonly used for communications via an Ethernet.
TCP/IP is also called the "Internet protocol." It is also common to
use TCP/IP over leased lines for long-distance communications.
- termcap
Stands for term
inal cap
abilities, an early (and still common)
way to describe terminals to UNIX.
See also
article
41.11
,
terminfo
.
- terminal emulator
A program that makes a computer display emulate (act like) a terminal.
For example, many terminal emulator programs emulate the Digital
Equipment Corporation VT100 terminal.
- terminfo
A newer way to describe terminal capabilities to UNIX.
See also
article
41.11
,
termcap
.
- the Net
A term for two particular networks:
Usenet and Internet (1.33
)
.
For instance, "I read it on the Net" or "You can get that file on the Net."
- timestamp
The UNIX filesystem stores the times that each file was last
modified, accessed, or had a change to its inode.
These times - especially the modification time - are often called
timestamps
.
See also
article
21.13
.
- truncate
To cut, to shorten - for example, "truncate a file after line 10" means
to remove all lines after line 10.
- uuencode, uudecode
Utilities that encode files with binary (8-bit) characters into an ASCII
(7-bit) format - and decode them back into the original binary format.
This is used for transferring data across communications links that
can't transfer binary (8-bit) data.
See also
article
19.5
.
- VAX/VMS
A popular computer operating system from the Digital Equipment Corporation.
- wedged
A terminal or program is wedged
when it's "frozen" or "stuck."
The normal activity stops and often can't be restarted without
resetting the terminal or killing the program.
- white space
A series of one or more space or TAB characters.
- word
Similar to a word in a spoken language like English, a word is a unit
made up of one or more characters.
But unlike English,
words in UNIX can contain white space; they can also have no
characters (a zero-length
word).
See also
argument
.
- XENIX
One of the first versions of UNIX to run on IBM PCs, and one of the
few that will run on 80286 systems. XENIX descends from Version 7
UNIX, a version developed by AT&T in the late 1970s. It has many
resemblances to BSD UNIX. Over time, XENIX has been rewritten as a
variant of System V.2.
- zombies
Dead processes that have not yet been deleted from the process table.
Zombies normally disappear almost immediately. However, at times it
is impossible to delete a zombie from the process table, so it remains
there (and in your ps
output) until you reboot. Aside from
their slot in the process table, zombies don't require any of the
system's resources.
See also
article
38.16
.