Preface | p. vi |
List of Tables | p. xxiii |
Getting Started | p. 1 |
The Operating System | p. 2 |
The UNIX Operating System | p. 3 |
Knowing Your Machine | p. 3 |
Knowing Your Keyboard | p. 4 |
The System Administrator | p. 6 |
Logging In and Out | p. 7 |
Trying Out Some Commands | p. 9 |
Two Important Observations | p. 13 |
When Things Go Wrong | p. 14 |
Yet Another Session: Working with Files and Directories | p. 16 |
How It All Clicked | p. 19 |
Linux and GNU | p. 22 |
Inside UNIX | p. 22 |
Summary | p. 26 |
Self-Test | p. 27 |
Exercises | p. 28 |
Key Terms | p. 29 |
Understanding the UNIX Command | p. 31 |
General Features of a Command | p. 31 |
The PATH: Locating Commands | p. 32 |
Internal and External Commands | p. 33 |
Command Structure | p. 34 |
Flexibility of Command Usage | p. 38 |
man: On-Line Help | p. 40 |
The man Documentation | p. 42 |
info: The Texinfo Documentation | p. 46 |
whatis and apropos: Which Command Will Do the Job? | p. 48 |
Summary | p. 50 |
Self-Test | p. 51 |
Exercises | p. 51 |
Key Terms | p. 52 |
General-Purpose Utilities | p. 53 |
passwd: Change Your Password | p. 53 |
who and w: Know the Users | p. 55 |
tty: Know Your Terminal | p. 56 |
lock: Lock Your Terminal | p. 57 |
stty: Set Terminal Characteristics | p. 57 |
script: Record Your Session | p. 59 |
clear and tput: Clear Your Screen | p. 60 |
uname: Know Your Machine's Name | p. 60 |
date: Display the System Date | p. 61 |
cal: The Calendar | p. 61 |
calendar: A Useful Reminder Mechanism | p. 62 |
bc: The Calculator | p. 63 |
Summary | p. 65 |
Self-Test | p. 66 |
Exercises | p. 66 |
Key Terms | p. 66 |
The vi/vim Editor | p. 67 |
vi Preliminaries | p. 68 |
Quitting vi--The Last Line Mode | p. 70 |
Inserting and Replacing Text | p. 72 |
Saving Text (:w) | p. 77 |
Exit to the UNIX Shell | p. 79 |
The Repeat Factor | p. 80 |
The Command Mode | p. 80 |
Navigation | p. 80 |
Operators | p. 84 |
Deleting, Moving and Yanking Text | p. 86 |
Changing Text (c and *) | p. 89 |
The Dot: Repeating the Last Command | p. 91 |
Undoing Last Editing Instructions (u and U) | p. 92 |
String Search | p. 92 |
Searching with Regular Expressions | p. 95 |
Search and Replace (:s) | p. 97 |
Handling Multiple Files | p. 98 |
Marking Text | p. 102 |
Filtering Text--The ! Operator | p. 103 |
Named Buffers: Copying and Moving Multiple Text Sections | p. 104 |
Recovering Multiple Deletions | p. 105 |
Abbreviating Text (:ab) | p. 105 |
Customizing the Keyboard (:map) | p. 106 |
Customizing the Environment (:set) | p. 107 |
Summary | p. 108 |
Going Further | p. 109 |
Self-Test | p. 110 |
Exercises | p. 110 |
Going Further | p. 111 |
Key Terms | p. 111 |
The GNU emacs Editor | p. 113 |
emacs Preliminaries | p. 114 |
Quitting emacs | p. 118 |
Inserting and Replacing Text | p. 118 |
Saving Text | p. 120 |
The Digit Argument | p. 122 |
Navigation | p. 123 |
Working with Regions | p. 127 |
Deleting, Moving and Copying Text | p. 128 |
Changing Case of Text | p. 132 |
Command Completion | p. 133 |
Undoing and Redoing Editing | p. 135 |
String Search | p. 136 |
Searching with Regular Expressions | p. 138 |
Search and Replace | p. 141 |
Using Multiple Files, Windows and Buffers | p. 142 |
Escape to Shell | p. 147 |
Using the Help Facility ([Ctrl-h]) | p. 148 |
Marking Text | p. 150 |
Filtering Text | p. 151 |
Storing Multiple Text Sections | p. 152 |
Recovering Multiple Deletions ([Alt-y]) | p. 152 |
Abbreviating Text (abbrev-mode) | p. 153 |
Customizing the Keyboard | p. 153 |
Using Macros | p. 154 |
Customizing the Editor Environment | p. 155 |
Summary | p. 157 |
Going Further | p. 158 |
Self-Test | p. 159 |
Exercises | p. 159 |
Going Further | p. 160 |
Key Terms | p. 161 |
The File System | p. 163 |
The File | p. 163 |
What's in a (File)name? | p. 165 |
The Parent-Child Relationship | p. 166 |
The UNIX File System | p. 167 |
pwd: Knowing Your Current Directory | p. 168 |
Absolute Pathnames | p. 169 |
cd: Changing Directories | p. 170 |
Relative Pathnames (. and ..) | p. 172 |
mkdir: Making Directories | p. 175 |
rmdir: Removing Directories | p. 176 |
cp: Copying Files | p. 177 |
rm: Deleting Files | p. 179 |
mv: Renaming Files | p. 180 |
cat: Displaying and Creating Files | p. 181 |
file: Know the File Types | p. 182 |
lp and cancel: Printing a File | p. 183 |
df: Finding Out the Free Disk Space | p. 185 |
du: Finding Out Your Own Consumption | p. 186 |
compress, gzip and zip: Compress Your Files | p. 187 |
Conclusion | p. 189 |
Summary | p. 189 |
Self-Test | p. 190 |
Exercises | p. 191 |
Key Terms | p. 192 |
File Attributes | p. 193 |
ls: Listing Files | p. 193 |
ls -l: Listing File Attributes | p. 197 |
Listing Directory Attributes (ls -d) | p. 199 |
File Permissions | p. 199 |
chmod: Changing File Permissions | p. 201 |
Directory Permissions | p. 206 |
umask: Default File Permissions | p. 207 |
File Ownership | p. 208 |
chown and chgrp: Changing File Ownership | p. 210 |
File Modification and Access Times | p. 211 |
touch: Changing the Time Stamps | p. 213 |
File Systems and Inodes | p. 214 |
ln: Links | p. 214 |
Symbolic Links | p. 216 |
find: Locating Files | p. 218 |
Summary | p. 223 |
Self-Test | p. 224 |
Exercises | p. 225 |
Key Terms | p. 226 |
The Shell | p. 227 |
The Shell as Command Processor | p. 228 |
Pattern Matching--The Wild Cards | p. 228 |
Escaping--The Backslash (\) | p. 234 |
Quoting | p. 236 |
Escaping and Quoting in echo | p. 237 |
Redirection | p. 238 |
/dev/null and /dev/tty: Two Special Files | p. 243 |
Pipes | p. 245 |
tee: Splitting a Stream | p. 248 |
Command Substitution | p. 249 |
Shell Variables | p. 250 |
Shell Scripts | p. 252 |
The Shell's Treatment of the Command Line | p. 253 |
The Other Shells | p. 254 |
More Wild Cards in the Korn Shell and bash | p. 254 |
Summary | p. 255 |
Going Further | p. 256 |
Self-Test | p. 256 |
Exercises | p. 257 |
Going Further | p. 258 |
Key Terms | p. 258 |
Simple Filters | p. 259 |
more: Paging Output | p. 260 |
wc: Line, Word and Character Counting | p. 263 |
od: Displaying Data in Octal | p. 264 |
pr: Paginating Files | p. 266 |
cmp: Comparing Two Files | p. 267 |
diff: Converting One File to Another | p. 269 |
comm: What Is Common? | p. 270 |
head: Displaying the Beginning of a File | p. 271 |
tail: Displaying the End of a File | p. 272 |
cut: Slitting a File Vertically | p. 273 |
paste: Pasting Files | p. 274 |
sort: Ordering a File | p. 275 |
tr: Translating Characters | p. 278 |
uniq: Locate Repeated and Nonrepeated Lines | p. 281 |
nl: Line Numbering | p. 283 |
dos2unix and unix2dos: DOS and UNIX Files | p. 283 |
spell: Check Your Spellings | p. 284 |
Applying the Filters | p. 286 |
Summary | p. 289 |
Summing Up Linux | p. 290 |
Self-Test | p. 291 |
Exercises | p. 291 |
Key Terms | p. 292 |
The Process | p. 293 |
Understanding the Process | p. 293 |
How a Process Is Created | p. 295 |
The Login Shell: The First User Process | p. 296 |
The init Process | p. 297 |
Internal and External Commands | p. 297 |
ps: Process Status | p. 298 |
Running Jobs in Background | p. 303 |
nice: Job Execution with Low Priority | p. 305 |
Signals | p. 306 |
kill: Premature Termination of a Process | p. 307 |
Job Control | p. 309 |
at and batch: Execute Later | p. 310 |
cron: Running Jobs Periodically | p. 312 |
time: Timing Processes | p. 314 |
Summary | p. 315 |
Summing Up Linux | p. 316 |
Self-Test | p. 316 |
Exercises | p. 317 |
Key Terms | p. 318 |
TCP/IP Networking Tools | p. 319 |
TCP/IP Basics | p. 319 |
talk: Real-Time Conversation | p. 323 |
mesg: Your Willingness to Talk | p. 324 |
finger: Details of Users | p. 325 |
telnet: Remote Login | p. 326 |
rlogin: Remote Login without Password | p. 329 |
ftp: File Transfer Protocol | p. 329 |
rcp: Remote File Copying | p. 336 |
rsh: Remote Command Execution | p. 336 |
Enforcing Security for the Berkeley r-Utilities | p. 337 |
Prelude to the Internet | p. 338 |
Summary | p. 338 |
Self-Test | p. 339 |
Exercises | p. 340 |
Key Terms | p. 341 |
The X Window System | p. 343 |
Why Use X? | p. 344 |
The Graphical User Interface in X | p. 345 |
Starting and Stopping X | p. 345 |
The X Architecture | p. 346 |
Running X Programs Remotely | p. 346 |
X Techniques and Components | p. 349 |
The Window Manager--A Special Client | p. 351 |
CDE: The Common Desktop Environment | p. 352 |
xterm: The Main Client | p. 353 |
Command Line Options | p. 354 |
Copy and Paste | p. 356 |
Standard X Clients | p. 358 |
.xinitrc: The Startup File | p. 359 |
X Resources | p. 360 |
Summary | p. 361 |
Self-Test | p. 362 |
Exercises | p. 363 |
Key Terms | p. 364 |
Electronic Mail | p. 365 |
Email Basics | p. 365 |
mail: The Good Old Mailer | p. 368 |
elm: A Screen-Oriented Mail Handler | p. 369 |
pine: Yet Another Mail Program | p. 372 |
.signature and .forward: Two Important Files | p. 377 |
How Mail Works | p. 378 |
Netscape Messenger: The Most Powerful Mailer | p. 379 |
vacation: Going on Leave | p. 387 |
MIME: Handling Binary Files | p. 387 |
Summary | p. 390 |
Going Further | p. 390 |
Self-Test | p. 390 |
Exercises | p. 391 |
Going Further | p. 392 |
Key Terms | p. 392 |
The Internet | p. 393 |
The Internet Top-Level Domains | p. 394 |
The Services on the Internet | p. 395 |
Mailing Lists | p. 396 |
Newsgroups | p. 398 |
Using tin to Read Newsgroups | p. 401 |
Using Netscape Messenger for Net News | p. 404 |
irc: Internet Relay Chat | p. 407 |
The World Wide Web | p. 411 |
Using the Web Browser: Netscape Navigator | p. 412 |
Hypertext, HTTP and the URL | p. 416 |
HTML: The Language of the Web | p. 419 |
Saving Web Pages and Graphics | p. 423 |
Enhancing Browser Performance | p. 425 |
The Bubble that Didn't Burst | p. 426 |
MIME Technology on the Web | p. 426 |
Summary | p. 428 |
Going Further | p. 429 |
Self-Test | p. 429 |
Exercises | p. 430 |
Going Further | p. 431 |
Key Terms | p. 431 |
Filters Using Regular Expressions--grep and sed | p. 433 |
The Sample Database | p. 434 |
grep: Searching for a Pattern | p. 434 |
grep Options | p. 436 |
Regular Expressions--Round One | p. 440 |
egrep and fgrep: The Other Members | p. 446 |
Regular Expressions--Round Two | p. 447 |
sed: The Stream Editor | p. 448 |
Line Addressing | p. 450 |
Context Addressing | p. 452 |
Editing Text | p. 453 |
Substitution | p. 455 |
Regular Expressions--Round Three | p. 458 |
Summary | p. 461 |
Self-Test | p. 463 |
Exercises | p. 463 |
Key Terms | p. 465 |
Programming with awk | p. 467 |
awk Preliminaries | p. 468 |
Splitting a Line into Fields | p. 469 |
printf: Formatting Output | p. 470 |
The Comparison Operators | p. 471 |
Number Processing | p. 473 |
Variables | p. 473 |
Reading the Program from a File (-f) | p. 474 |
The BEGIN and END Sections | p. 474 |
Positional Parameters | p. 475 |
getline: Making awk Interactive | p. 476 |
Built-In Variables | p. 476 |
Arrays | p. 478 |
Functions | p. 478 |
Control Flow--The if Statement | p. 480 |
Looping: for and while | p. 482 |
Conclusion | p. 484 |
Summary | p. 484 |
Self-Test | p. 485 |
Exercises | p. 485 |
Key Terms | p. 486 |
Customizing the Environment | p. 487 |
Which Shell? | p. 488 |
Environment Variables | p. 490 |
Significance of the Environment (System) Variables | p. 493 |
Aliases | p. 501 |
Command History | p. 505 |
In-line Command Editing in Korn Shell and bash | p. 514 |
Filename Completion | p. 516 |
Miscellaneous Features | p. 520 |
The Initialization Scripts | p. 522 |
Summary | p. 529 |
Self-Test | p. 531 |
Exercises | p. 532 |
Key Terms | p. 533 |
Shell Programming | p. 535 |
Shell Variables | p. 536 |
Shell Scripts | p. 537 |
read: Making Scripts Interactive | p. 539 |
Positional Parameters | p. 540 |
Exit Status of a Command | p. 542 |
The Logical Operators andand and --Conditional Execution | p. 543 |
exit: Script Termination | p. 544 |
The if Conditional | p. 545 |
test and []: Companions of if | p. 548 |
The case Conditional | p. 555 |
expr: Computation and String Handling | p. 558 |
$0: Calling a Script with Different Names | p. 560 |
sleep and wait | p. 561 |
while and until: Looping | p. 562 |
Two Sample Scripts | p. 566 |
for: Looping with a List | p. 568 |
cpback2.sh: The Final Script | p. 573 |
Summary | p. 574 |
Self-Test | p. 576 |
Exercises | p. 576 |
Key Terms | p. 578 |
Advanced Shell Programming Including Korn and bash | p. 579 |
set: Assigning Values to Positional Parameters | p. 580 |
The Here Document ([[) | p. 584 |
let: Computation--A Second Look (ksh and bash) | p. 585 |
Redirection--A Second Look | p. 586 |
user_details.sh: A Script to List User Details | p. 588 |
Problems with Sub-Shells | p. 590 |
Arrays (ksh and bash) | p. 592 |
String Handling (ksh and bash) | p. 594 |
Conditional Parameter Substitution | p. 596 |
Shell Functions | p. 597 |
Devising Shell Functions | p. 598 |
eval: Evaluating Twice | p. 601 |
createuser.sh: Using eval to Create a User | p. 603 |
The exec Statement | p. 604 |
set -x: Debugging Shell Scripts | p. 607 |
trap: Interrupting a Program | p. 608 |
Summary | p. 609 |
Self-Test | p. 610 |
Exercises | p. 610 |
Key Terms | p. 612 |
Perl--The Master Manipulator | p. 613 |
perl Preliminaries | p. 614 |
chop(): Removing the Last Character | p. 615 |
Variables and Operators | p. 616 |
The String Handling Functions | p. 617 |
Specifying Filenames in Command Line | p. 618 |
$_: The Default Variable | p. 619 |
Current Line Number ($.) and the Range Operator (..) | p. 620 |
Lists and Arrays | p. 620 |
ARGV []: Command Line Arguments | p. 622 |
foreach: Looping Through a List | p. 623 |
split(): Splitting into a List | p. 624 |
join(): Joining a List | p. 625 |
Modifying Array Contents | p. 626 |
Associative Arrays | p. 627 |
Regular Expressions and Substitution | p. 629 |
File Handling | p. 632 |
File Tests | p. 633 |
Subroutines | p. 634 |
Conclusion | p. 636 |
CGI Programming with perl--An Overview | p. 636 |
Handling Form Data | p. 639 |
Summary | p. 643 |
Going Further | p. 644 |
Self-Test | p. 644 |
Exercises | p. 645 |
Going Further | p. 646 |
Key Terms | p. 646 |
System Administration I--The File System Revisited | p. 647 |
The Device | p. 648 |
Significance of Device Names | p. 649 |
The Hard Disk | p. 651 |
Partitions and File Systems | p. 652 |
File System Components | p. 654 |
The Directory | p. 658 |
The Standard File Systems | p. 659 |
File System Types | p. 659 |
Creating Partitions and File Systems | p. 660 |
File System Mounting and Unmounting | p. 663 |
fsck: File System Checking | p. 666 |
Summary | p. 668 |
Self-Test | p. 669 |
Exercises | p. 669 |
Key Terms | p. 670 |
System Administration II--The General Duties | p. 671 |
root: The System Administrator's Login | p. 672 |
The Administrator's Privileges | p. 673 |
Maintaining User Accounts | p. 675 |
Maintaining Security | p. 679 |
Booting | p. 681 |
Shutdown | p. 684 |
Handling Floppy Diskettes | p. 685 |
cpio: Copy Input-Output | p. 688 |
tar: The "Tape" Archive Program | p. 691 |
Managing the Disk Space | p. 697 |
Password Administration with passwd | p. 700 |
The rc Scripts Used by init | p. 700 |
Terminal Management | p. 702 |
Printing Preliminaries | p. 704 |
Administering an SVR4 Printer | p. 705 |
Summary | p. 712 |
Going Further | p. 713 |
Self-Test | p. 714 |
Exercises | p. 714 |
Going Further | p. 715 |
Key Terms | p. 716 |
TCP/IP Network Administration | p. 717 |
TCP/IP and the Addressing System | p. 717 |
Setting Up the Network Interface Card | p. 720 |
ifconfig: Configuring the Network Interface | p. 721 |
ping: Checking the Network | p. 722 |
Routing | p. 723 |
netstat: Displaying the Network Parameters | p. 725 |
inetd: The Internet Daemon | p. 726 |
pppd: The Point-to-Point Protocol (PPP) | p. 727 |
Using PPP to Connect to the Internet | p. 728 |
PAP and CHAP Authentication | p. 733 |
The Network File System | p. 734 |
Summary | p. 736 |
Self-Test | p. 737 |
Exercises | p. 738 |
Key Terms | p. 738 |
Going Further--Building the Internet Server | p. 739 |
The Network at Rational Planets | p. 740 |
The Domain Name Service (DNS) | p. 740 |
Setting Up DNS--Configuring the Master Server | p. 743 |
The Secondary and Caching Servers | p. 748 |
Configuring the Resolver | p. 749 |
ndc and nslookup: Testing the Configuration | p. 750 |
The Mail Service | p. 751 |
sendmail.cf: The Configuration File | p. 754 |
Aliases | p. 756 |
Setting Up the Mail Server for planets.com | p. 757 |
POP and IMAP: The Protocols for Offline Use | p. 759 |
Setting Up the Mail System at Velvet | p. 761 |
The Web Service | p. 763 |
httpd.conf: The Configuration File | p. 764 |
Virtual Hosting | p. 768 |
Directory Access Control | p. 769 |
Summary | p. 770 |
Self-Test | p. 772 |
Exercises | p. 772 |
Key Terms | p. 773 |
The C Shell--Programming Constructs | p. 775 |
vi/vim and emacs Command Reference | p. 781 |
The Regular Expression Superset | p. 791 |
The Shell Reference | p. 795 |
The HOWTO | p. 807 |
The ASCII Character Set | p. 815 |
Glossary | p. 819 |
Solutions to Self-Test Questions | p. 843 |
Bibliography | p. 857 |
vi Index | p. 861 |
emacs Index | p. 865 |
Commands and Key Terms | p. 869 |
C Shell | p. 871 |
Korn Shell | p. 873 |
bash | p. 875 |
Comprehensive Index | p. 877 |
Table of Contents provided by Syndetics. All Rights Reserved. |