CSE 303: Concepts and Tools for Software Development, Spring 2005
Course Dictionary
Foreword: Especially with the furious pace of new
tools and environments in CSE303, it is easy to get lost in unfamiliar
terms. Here we provide useful working definitions for the
purpose of this class. They may not be complete or even
one-hundred percent accurate throughout the universe, but they should
help us keep concepts straight. This list is to help you; it is not
necessary to study the definitions.
This dictionary will grow and change as the course proceeds.
Feedback on entries and/or the general usefulness of the dictionary is
welcome.
- alias
- In the shell, an alias is a "user-defined builtin",
i.e., a way to extend the shell with a new command.
- attu
- The name of the department's instructional Linux server. It is
just the name of a computer on our network. That computer runs Linux
and accepts remote connections so that you can do your work there.
- bash
- A particular shell, different from csh which we are using in
CSE303. In general, many people find bash better for shell scripting
but a bit less convenient for manual command-line interaction.
- builtin
- In the shell, any "first word" for the command-line that
has special meaning, so the shell does not look for a proram of the
same name.
- .cshrc
- A file in the user's home directory that is implicitly
"sourced" when the user launches a C-shell.
- csh
- The C-Shell, a Linux program that interprets command lines and
launches other programs. By default, the shell that starts when a
user logs into attu is the C-shell. On most Linux machines, csh is
actually tcsh, an improved variant.
- command-line
- The command-line is the place in the shell where you type
commands. It is "after" the prompt. A command-line
interface is a mode of interaction with the computer via typing
command-lines, as opposed to a GUI.
- directory
- Sometimes called a folder on other operating systems, a directory
is part of the file system that holds files and other directories. If
a directory A is in a directory B, then we call B
the parent directory of A.
- emacs
- emacs is a powerful, extensible general-purpose text editor with
support for many programming languages
- exit status
- When a process completes execution, it
returns an integer which is its exit status, sometimes called
an exit code or return code. By convention, 0 indicates
successful completion and other numbers indicate an error.
- file system
- The file system is the tree of directories and files holding the
persistent data, i.e., the data that exists even after programs stop
and even the computer is turned off.
- GUI
- A graphical user-interface, typically using concepts including
WIMP: Windows, Icons, Mice, and Pointers.
- history variables
- In the shell, history variables (e.g., !37) expand to previously
executed commands. They are convenience for command-line users.
- Linux
- A free widely-available operating system that is by design very
similar in use and functionality to the various UNIX operating
systems.
- operating system
- An operating system is the program that starts running when you
boot a computer. The job of the operating system is to manage other
programs, manage the file system, manage users and permissions, and
manage resources (such as the screen and the disk) that different
programs need.
- permissions
- Different users have different permissions,
i.e. priveleges. In UNIX, permissions correspond to files and whether
a user can read and/or write and/or execute them.
- pipe
- A pipe is the connection of the output stream of one process to
the input stream of another process.
- process
- A running program is a process. You may have multiple processes
running the same program (e.g., emacs).
- prompt
- The prompt is the text in the shell to the left of where you type
a command.
- quoting
- Also known as escaping, quoting refers to the way
you make a program (such as the shell) interpret special characters
(such as *) literally (such as actually the asterisk character).
- Reflection-X
- Reflection-X is a piece of software
for Windows that lets you make ssh connections to other machines (such
as attu) and have windows for programs running on the remote machine
actually display on your machine.
- root
- The root directory is the top-level directory (/ in UNIX).
The root user is also knows as the superuser, the
special user who always has full access to everything. The two uses
of root have essentially nothing to do with each other.
- script
- A script is a small program. A shell script is a small program
written as a collection of shell commands. To confuse you,
"script" also is the name of a program that logs all your
shell interaction in a file; this program is badly named.
- shell
- A shell is a command-line interpreter for running other programs.
- ssh
- "Secure shell" A way to log-in to a Linux machine (such
as attu) via the Internet rather than being physically at the
keyboard. It is secure in the sense that all communication with the
remote computer is encrypted (unintelligible to eavesdroppers).
- tcsh
- An improved variant of csh.
- UNIX
- Informally, UNIX is an operating system, or actually a general
description for a related family of operating systems. For technical
and legal reasons, Linux is not a UNIX operating system, but...
- user
- An operating-system concept describing an "account",
which has a password, a home directory, and particular permissions.
- vi
- vi is a programmable text editor that is much less "bulky"
than emacs.