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