Glass, Graham.

UNIX for programmers and users / Graham Glass and King Ables. - 3rd ed. - Upper Saddle River, N.J. : Pearson Education, c2003. - xxxi, 687 p. ill. ; 24 cm.

Includes bibliographical references (p. 673-674) and index.

CHAPTER 1 What is UNIX?
Motivation
Prerequisites
Objectives
Presentation
Computer Systems
The Hardware
Central Processing Unit (CPU)
Random-Access Memory (RAM)
Read-Only Memory (ROM)
Disk
CD-ROM Drive
Monitor
Graphics Card
Keyboard
Mouse
Printer
Tape
Modem
Ethernet Interface
Other Peripherals
Operating Systems
The Software
Sharing Resources
Communication
Utilities
Programmer Support
Standards
List of UNIX Features (A Recap)
UNIX Philosophies
UNIX Yesterday
UNIX Today
UNIX Tomorrow
The Rest of this Book
Chapter Review
Checklist
' Quiz
Exercise
Project
CHAPTER 2 UNIX Utilities for Nonprogrammers
Motivation
Prerequisites
Objectives
Presentation
Utilities
Shell Command
Obtaining an account
Logging In
Shells
Running a Utility
Input, Output, and Error Channels
Obtaining On-Line Help: man
Special Characters
Terminating a Process: Control-C
Pausing Output: Control-SIControl-Q
End of Input: Control-D
Setting Your Password: passwd
Logging Out
Poetry in Motion: Exploring the File System
Printing Your Shell's Current Working Directory: pwd
Absolute and Relative Pathnames
Creating a File
Listing the Contents of a Directory: Is
Listing a File: cat/more/page/head/tail
Renaming a File: mv
Making a Directory: mkdir
Moving to a Directory: cd
Copying a File: cp
Editing a File: vi
Deleting a Directory: rmdir
Deleting a File: rm
Printing a File: Ip/Ipstat/cancel
Printing a File: Ipr/lpq/lprm
Counting the Words in a File: wc
File Attributes
File Storage
Filenames
File Modification Time
File Owner
File Group
File Types
File Permissions
Hard Link Count
Groups
Listing Your Groups: Groups
Changing a File's Group: chgrp
Changing a File's Permissions: chmod
Changing a File's Owner: chown
Changing Groups: newgrp
Poetry in Motion: Epilogue
Determining Your Terminal's Type: tset
C shell
Bourne/Korn/Bash shell
C shell
Bourne/Korn/Bash shell
Changing a Terminal's Characteristics: stty
Editing a File: vi
Starting vi
Text Entry Mode
Command Mode
Memory Buffer and Temporary Files
Common Editing Features
Cursor Movement
Deleting Text
Replacing Text
Pasting Text
Searching
Searching and Replacing
Saving and Loading Files
Miscellaneous
Customizing vi
Keeping Your Customizations
For More Information
Editing a File: emacs
Starting emacs
emacs Commands
Getting Out of Trouble
Getting Help
Leaving emacs
emacs Modes
Entering Text
Common Editing Features
Moving the Cursor
Deleting, Pasting, and Undoing
Searching
Search and Replace
Saving and Loading Files
Miscellaneous
For More Information
Electronic Mail: mail/mailx
Sending Mail
Reading Mail
Contacting the System Administrator
Chapter Review
Checklist
Quiz
Exercises
Project
CHAPTER 3 UNK Utilities for Power Users
Motivation
Prerequisites
Objectives
Presentation
Utilities
Introduction
Filtering Files
Filtering Patterns: egrep/ f grep/grep
Removing Duplicate Lines: uniq
Sorting Files: sort
Comparing Files
Testing for Sameness: cmp
File Differences: dif f
Finding Files: find
Archives
Copying Files: cpio
Tape Archiving: tar
Incremental Backups: dump and restore
Scheduling Commands
Periodic Execution: cron/crontab
One-Time Execution: at
Programmable Text Processing; awk
awk Programs
Accessing Individual Fields
Begin and End
Operators
Variables
Control Structures
Extended Regular Expressions
Condition Ranges
Field Separators
Built-in Functions
Hard and Soft Links: In
Identifying Shells: whoaini
Substituting a User: su
Checking for Mail: biff
Transforming Files
Compressing Files: compress/uncompress and gzip/gunzip
File Encryption: crypt
Stream Editing: sed
Translating Characters: tr
Converting Underline Sequences: ul
Looking at Raw File Contents: od
Mounting File Systems: mount/lunount
Identifying Terminals: tty
Text Formatting: nroff/troff/style/spell
Timing Execution: time
Rolling Your Own Programs: Perl
Getting Perl
Printing Text
Variables, Strings, and Integers
Arrays
Mathematical and Logical Operators
String Operators
Comparison Operators
If, While, For, and Foreach Loop Constructs
File I/O
Functions
Library Functions
Command-Line Arguments
A Real-World Example
Chapter Review
Checklist
Quiz
Exercises
Projects
CHAPTER 4 The UNIX SheUs
Motivation
Prerequisites
Objectives
Presentation
Utilities
Shell Commands
Introduction
Shell Functionality
Selecting a Shell
Shell Operations
Executable Files Versus Built-in Commands
Displaying Information: echo
Changing Directories: cd
Metacharacters
Redirection
Output Redirection
Input Redirection
Filename Substitution (Wildcards)
Pipes
Command Substitution
Sequences
Conditional Sequences
Grouping Commands
Background Processing
Redirecting Background Processes
Redirecting Output
Redirecting Input
Shell Programs: Scripts
Subshells
Variables
Quoting
Here Documents
Job Control
Process Status: ps
Signaling Processes: kill
Waiting for Child Processes: wait
Finding a Command: $path
Overloading Standard Utilities
Termination and Exit Codes
Common Core Built-Ins
eval
exec
shift
umask
Chapter Review
Checklist
Quiz
Exercises
Project
CHAPTER 5 The Bourne Shell
Motivation
Prerequisites
Objectives
Presentation
Utilities
Shell Commands
Introduction
Start-Up
Variables
Creating/Assigning a Variable
Accessing a Variable
Reading a Variable from S^ndard Input
Exporting Variables
Read-Only Variables
Predefined Local Variables
Predefined Environment Variables
Arithmetic
Conditional Expressions
Control Structures
case .. in .. esac
for .. do .. done
if .. then .. fi
trap
until .. do .. done
while .. done
Sample Project: track
Miscellaneous Built-Ins
Read Command:.
null Command
Setting Shell Options: set
Enhancements
Sequenced Commands
Command-Line Options
Chapter Review
Checklist
Quiz
Exercises
Projects
CHAPTER 6 The Kom Shell
Motivation
Prerequisites
Objectives
Presentation
Shell Commands
Introduction
Start-Up
Aliases
Aliasing Built-in Commands
Removing an Alias
Predefined Aliases
Some Useful Aliases
Tracked Aliases
Sharing Aliases
History
Numbered Commands
Storage of Commands
Command Reexecution
Editing Commands
Editing Commands
The Built-in vi Editor
The Built-in emacs/gmacs Editor
Arithmetic
Preventing Metacharacter Interpretation
Return Values
Hide Substitution
Menus: select
Functions
Using Parameters
Returning from a Function
Context
Local Variables
Recursion
Sharing Functions
Enhanced Job Control
Jobs
Specifying a Job
bg
fg
kill
Enhancements
Redirection
Pipes
Command Substitution
Variables
Formatting
Case
Type
Miscellaneous
Built-Ins
Sample Project: Junk
The Restricted Shell
Command-Line Options
Chapter Review
Checklist
Quiz
Exercises
Projects
CHAPTER 7 The C Shell
Motivation
Prerequisites
Objectives
Presentation
Shell Commands
Introduction
Start-Up
Variables
Creating and Assigning Simple Variables
Accessing a Simple Variable
Creating and Assigning List Variables
Accessing a List Variable
Building Lists
Predefined Local Variables
Creating and Assigning Environment Variables
Predefined Environment Variables
Expressions
String Expressions
Arithmetic Expressions
File-Oriented Expressions
Filename Completion
Aliases
Removing an Alias
Useful Aliases
Sharing Aliases
Parameterized Aliases
History
Numbered Commands
Storage of Commands
Reading History
Command Reexecution
Accessing Pieces of History
Accessing Portions of Filenames
History Substitution
Control Structures
foreach .. end
goto
if .. then .. else .. endif
onintr
repeat
switch .. case .• endsw
while .. end
Sample Project: Junk
Enhancements
Command Reexecution: A Shortcut
Metacharacters:
Filename Substitution
Piping
Job Control
Terminating a Login Shell
Built-Ins
chdir
glob
source
The Directory Stack
The Hash Table
Command-Line Options
Chapter Review
Checklist
Quiz
Exercises
Project
CHAPTER 8 The Bourne Again SheU
Motivation
Prerequisites
Objectives
Presentation
Shell Commands
Introduction
Getting Bash
Start-Up
Variables
Creating and Assigning a Simple Variable
Accessing Simple Variables
Creating and Assigning a List Variable
Accessing List Variables
Building Lists
Destroying Lists
Exporting Variables
Predefined Variables
Command Shortcuts
Aliases
Command History
Autocompletion
Arithmetic
Conditional Expressions
Arithmetic Tests
String Comparisons
File-Oriented Expressions
Control Structures
case .. in .. esac
if .. then .. elif .. then .. else .. fi
for .. do .. done
while/until .. do .. done
Directory Stack
Job Control
Functions
Miscellaneous Built-in Commands
Command-Line Options
Chapter Review
Checklist
Quiz
Exercise
Project
CHAPTER 9 Networking
Motivation
Prerequisites
Objectives
Presentation
Commands
Introduction
Building a Network
Ethernets
Bridges
Routers
Gateways
Internetworking
Packet Switching
Internet Addresses
Naming
Routing
Security
Ports and Common Services
Network Programming
Users
Listing Users: users / rusers
More User Listings: who / rwho/w
Your Own Host Name: hostname
Personal Data: finger
Communicating with Users
Shielding Yourself from Communication: mesg
Sending a Line at a Time: write
Interactive Conversations: talk
Messages to Everyone: wall
Distributing Data
Copying Files between Two UNIX Hosts: rep
Copying Files between Non-UNIX Hosts: f tp
Distributing Processing
Remote Logins: rlogin
Executing Remote Commands: rsh
Remote Connections: telnet
Network File System: NFS
For More Information...
Chapter Review
Checklist
Quiz
Exercises
Project
CHAPTER 10 The Internet
Motivation
Prerequisites
Objectives
Presentation
The Evolution of the Internet
In the Beginning: The 1960s
Standardizing the Internet: The 1970s
Rearchitecting and Renaming the Internet: The 1980s
The Web: The 1990s
Using Today's Internet
URLs
Chapter Review
Checklist
Quiz
Exercises
Project
CHAPTER 11 Windowing Systems
Motivation
Prerequisites
Objectives
Presentation
Utilities
Introduction
Graphical User Interfaces
Mit
X Servers
Screen Geometry
Security and Authorization
X Window Managers
Focus
Program Start-Up
Open and Closed Windows
Choices of Window Managers
Widgets
Menus
Push Buttons
Check Boxes and Radio Buttons
Scroll Bars
Motif Window Manager Functions
Bringing Up the Root Menu
Opening a Window
Closing a Window
Moving a Window
Resizing a Window
Raising or Lowering a Window
Bringing Up a Window Menu
Client Applications
xclock
xbif f
xterm
Standard X Client Arguments
Geometry
Foreground and Background
Title
Iconic
Advanced Topics
Copy and Paste
Networking Capabilities
Application Resources
Configuration and Start-Up
A (Limited) Survey of Other X-Compatible Desktops
CDE
Gnome
KDE
OpenWindows
VUE
Chapter Review
Checklist
Quiz
Exercises
Project
CHAPTER 12 CProgramining Tools
Motivation
Prerequisites
Objectives
Presentation
Utilities
The C Language
C Compilers
Single-Module Programs
Compiling a C Program
A Listing of the Corrected Reverse Program
Running a C Program
Overriding the Default Executable Name
Multimodule Programs
Reusable Functions
Preparing a Reusable Function
Compiling and Linking Modules Separately
The Stand-Alone Loader: Id
Reusing the Reverse Function
Maintaining Multimodule Programs
The UNIX File Dependency System; make
Make Files
The Order of Make Rules
Executing a Make
Make Rules
Writing Your Own Rules
Touch
Macros
Other Make Facilities
The UNIX Archive System: ar
Creating an Archive
Adding a File
Appending a File
Obtaining a Table of Contents
Deleting a File
Extracting a File
Maintaining an Archive from the Command Line
Maintaining an Archive by Using Make
Ordering Archives
Creating a Table of Contents: ranlib
Shared Libraries
The UNIX Source Code Control System: SCCS
Creating an SCCS File
Checking Out a File
Monitoring SCCS Activity
Undoing a Checkout and Returning a File
Creating a New Delta
Obtaining a File's History
SCCS Identification Keywords
Creating a New Release
Checking Out Read-Only Copies of Previous Versions
Checking Out Editable Copies of Previous Versions
Editing Multiple Versions
Deleting Versions
Compressing SCCS Files
Restricting Access to SCCS Files
Locking Releases
The UNIX Profiler: prof
Double-Checking Programs: lint
The UNIX Debugger: dbx
Preparing a Program for Debugging
Entering the Debugger
Running a Program
Tracing a Program
Tracing Variables and Function Calls
The Bug
Breakpoints
Single Stepping
Accessing Variables
Listing a Program
Leaving the Debugger
Summary
When You're Done: strip
Chapter Review
Checklist
Quiz
Exercises
Projects
CHAPTER 13 Systems Programming
Motivation
Prerequisites
Objectives
Presentation
System Calls and Library Routines
Introduction
Error Handling: perror
Regular File Management
A File Management Primer
First Example: reverse
How reverse Works
reverse.c: Listing
Opening a File: open
Reading from a File: read {)
Writing to.a File: write
Moving in a File: 1 seek
Closing a File: close
Deleting a File: unl ink
Second Example: monitor
How monitor Works
monitor .c: Listing
Obtaining File Information; St at
Reading Directory Information: getdents {)
Miscellaneous File Management System Calls
Changing a File's Owner or Group: chown and fchown
Changing a File's Permissions: chmod and fchmod
Duplicating a File Descriptor: dup {) and dup2
FileDescriptor Operations: font 1
Controlling Devices: ioctl
Creating Hard Links: link
Creating Special Files: mknod
Flushing the File System Buffers: sync {)
Truncating a File: truncate and f truncate
STREAMS
Process Management
Creating a New Process: fork
Orphan Processes
Terminating a Process: exi t
Zombie Processes
Waiting for a Child: wai t
Differentiating a Process: exec
Changing Directories: chdir
Changing Priorities: nice
Accessing User and Group IDs
Sample Program: Background Processing
Sample Program: Disk Usage
Threads
Redirection
Signals
The Defined Signals
A List of Signals
Terminal Signals
Requesting an Alarm Signal: alarm
Handling Signals: signal 0
Protecting Critical Code and Chaining Interrupt Handlers
Sending Signals: ki 11 0
Death of Children
Suspending and Resuming Processes
Process Groups and Control Terminals
IPC
Pipes
Sockets
Shared Memory
Semaphores
Ibe Internet Shell
Restrictions
Command Syntax
Starting the Internet Shell
Built-in Conunands
Some Regular Examples
Some Internet Examples
How It Works
The Main Command Loop
Parsing
Executing a Conunand Sequence
Executing Pipelines
Executing a Simple Command
Redirection
Extensions
Chapter Review
Checklist
Quiz
Exercises
Projects
CHAPTER 14 UNIX Internals
Motivation
Prerequisites
Objectives
Presentation
Introduction
Kernel Basics
Kernel Subsystems
Processes and Files
Talking to the Kernel
System Calls
User Mode and Kernel Mode
Synchronous versus Asynchronous Processing
Interrupting Interrupts
The Rle System
■ Disk Architecture
Interleaving
Storing a File
Block I/O
Inodes
Inode Contents
The Block Map
File System Layout
The Superblock
Bad Blocks
Directories
li-anslating Pathnames into Inode Numbers
Sample Pathname-to-Inode Translation
Mounting File Systems
File System I/O
Process Management
Executable Files
The First Processes
Kernel Processes and User Processes
The Process Hierarchy
Process States
Process Composition
The User Area
The Process Table
The Scheduler
Scheduling Rules
Memory Management
Memory Pages
Page Tables and Regions
The RAM Table
Loading an Executable File: exec
Address Translation
Illustration of MMU Algorithm
The MMU and the Page Table
The Memory Layout after the First Instruction
The Page Daemon
Swap Space
The Page Daemon Algorithm
The Memory Layout after Some Page Outs
Accessing a Page That's Stored in Swap Space
Duplicating a Process: fork
Processing References to Shared RAM and Swap Pages
Thrashing and Swapping
Terminating a Process: exi t
Signals
Input/Output
I/O Objects
I/O System Calls
I/O Buffering
Regular File I/O
Directory File I/O
Mounting File Systems
Translation of Filenames
Special File I/O
Terminal I/O
Streams
Interprocess Communication
Pipes
Sockets
Chapter Review
Checklist
Quiz
Exercises
Projects
CHAPTER 15 System Administration
Motivation
Prerequisites
Objectives
Presentation
Utilities
Introduction
Becoming a Superuser
Starting UNIX
Stopping the System
Maintaining the File System
File System Integrity
Disk Usage
Assigning Quotas
Creating New File Systems
Backing Up File Systems
Maintaining User Accounts
The Password File
The Group File
Installing Software
Peripheral Devices
Installing a Device
Terminal Files
The Network Interface
Automating Tasks
Accounting
Configuring the Kernel
Security Issues
Chapter ReAuew
Checklist
Quiz
Exercises
Project
CHAPTER l&The Future
Motivation
Prerequisites
Objectives
Presentation
Introduction
Current and Near-Future Influences on UNIX
Object-Oriented Programming
Open Source Software
Parallel, Distributed, and Multiprocessor Systems
TheYear-2000"Bug"
Sixty-Four-Bit Systems
Internet Addressing: IPv6
High-Bandwidth Networks
Fault-Tolerant Systems
Survey of Current Popular Versions of UNIX
AIX
Caldera SCO/Unixware
FreeBSD
HP-UX
IRIX
Linux
NetBSD
OpenBSD
Tru64 UNIX
Solaris
Chapter Review
Checklist
Quiz
Exercise
Project

0130465534 (pbk.)


Operating Systems (Computers)

005.276 / GLA/U