A Practical Guide to Red Hat Linux 8
Contents
Preface xxxiii
PART I: GNU/Linux Basics 1
1. GNU/Linux: A Product of the Internet 3
The GNU/Linux Connection 4
The Code Is Free 6
Have Fun! 7
The Heritage of GNU/Linux: UNIX 7
What Is So Good about GNU/Linux? 8
Why GNU/Linux Is Popular with Hardware Companies and Developers 9
GNU/Linux Is Portable 10
Standards 10
The C Programming Language 11
Overview of GNU/Linux 12
Linux Has a Kernel Programming Interface 12
GNU/Linux Can Support Many Users 13
GNU/Linux Can Run Many Tasks 13
GNU/Linux Provides a Secure Hierarchical Filesystem 13
The Shell: Command Interpreter and Programming Language 14
A Large Collection of Useful Utilities 16
Interprocess Communication 16
System Administration 16
Additional Features of GNU/Linux 17
GUI: Graphical User Interfaces 17
(Inter)networking Utilities 18
Software Development 19
Text-Based Editors 19
GUI Editors 20
Electronic Mail 20
Chapter Summary 20
Exercises 21
2. Getting Started 23
Before You Start 24
Conventions 24
Graphical versus Character-Based Interface 28
Red Hat Linux 28
Logging In 29
Incorrect Login 34
The Shell 35
Terminal Emulation and telnet 35
Logging Out 36
Superuser 36
Virtual Console 36
Correcting a Mistake 37
Repeating/Editing Command Lines 39
passwd: Changes Your Password 40
Documentation 42
man and xman: Display the System Manual 42
info: Displays Information 45
HOWTOs 47
Other Sources of Help 47
Tutorial: Using pico to Create/Edit a File 49
Starting pico 50
Entering Text 51
Getting Help 52
Correcting Text 52
Ending the Session 52
Basic Utilities 53
ls: Lists the Names of Files 53
cat: Displays a Text File 54
less Is more: Displaying a Text File One Screen at a Time 54
rm: Deletes a File 54
hostname: Displays Your Machine Name 55
Special Characters 55
Chapter Summary 56
Exercises 58
Advanced Exercises 59
3. Introduction to the GNU/Linux Utilities 61
Working with Files 61
cp: Copies a File 61
mv: Changes the Name of a File 63
lpr: Prints a File 63
grep: Finds a String 64
head: Displays the Beginning of a File 65
tail: Displays the End of a File 66
sort: Displays a File in Order 66
uniq: Removes Duplicate Lines from a File 66
diff: Compares Two Files 67
file: Tests the Contents of a File 68
| (Pipe): Communicates between Processes 69
Four More Utilities 69
echo: Displays Text 70
date: Displays the Time and Date 70
script: Records a GNU/Linux Session 70
mcopy: Converts GNU/Linux Files to MS Windows Format 72
Compressing and Archiving a File 72
gzip: Compresses a File 73
gunzip and zcat: Decompress a File 74
bzip2: Compresses/Decompresses a File 74
tar: Packs and Unpacks Files 75
Locating Commands 77
which, whereis: Locate a Utility 78
apropos: Searches for a Keyword 79
Obtaining User and System Information 80
who: Lists Users on the System 80
finger: Lists Users on the System 81
w: Lists Users on the System 83
Communicating with Other Users 84
write: Sends a Message 84
talk: Communicates with Another User 85
mesg: Denies or Accepts Messages 87
E-Mail 87
Tutorial: Using pine to Send and Receive E-Mail 88
Chapter Summary 95
Exercises 98
Advanced Exercises 99
4. The GNU/Linux Filesystem 101
The Hierarchical Filesystem 101
Directory and Ordinary Files 103
Filenames 103
mkdir: Creates a Directory 106
The Working Directory 107
Home Directory 108
Absolute Pathnames 110
Relative Pathnames 110
Important Standard Directories and Files 112
Working with Directories 115
rmdir: Deletes a Directory 115
Pathnames 116
mv, cp: Moves or Copies a File 117
mv: Moves a Directory 118
Access Permissions 118
ls –l: Displays Permissions 118
chmod: Changes Access Permissions 119
Setuid and Setgid Permissions 121
Directory Access Permissions 121
Links 123
Hard Links 124
Symbolic Links 126
rm: Removes a Link 130
Chapter Summary 130
Exercises 132
Advanced Exercises 134
5. The Shell I 137
The Command Line 137
Syntax 138
Processing the Command Line 140
Executing the Command Line 142
Standard Input and Standard Output 142
The Screen as a File 143
The Screen/Keyboard as Standard Input and Standard Output 144
Redirection 145
Redirecting Standard Output 145
Redirecting Standard Input 147
Appending Standard Output to a File 149
/dev/null: Data Sink 150
Pipes 151
Filters 153
tee: Sends Output in Two Directions 154
Running a Program in the Background 154
Filename Generation/Pathname Expansion 157
The ? Special Character 157
The * Special Character 158
The [ ] Special Characters 159
Builtins 161
Chapter Summary 162
Exercises 163
Advanced Exercises 165
PART II: Intermediate/Advanced GNU/Linux 167
6. X Window System and Graphical User Interface 169
X and GUI: Desktop, Window, and Mouse 170
X Window System 170
Changing to a Different Desktop Manager 173
Desktop 174
Terminal Emulator/Shell 177
File Manager 178
Panel 178
Windows 179
Shading a Window 185
Session Manager 185
X Window System 185
Customizing X Applications from the Command Line 186
Setting X Resources 188
Remote Computing and Local Displays 193
Stopping the X Server 195
Remapping Mouse Buttons 196
X Applications 197
Chapter Summary 199
Exercises 200
Advanced Exercises 201
7. GNOME Desktop Manager 203
Choosing Your Window Manager 203
Getting Started 204
Help 204
Windows and Mouse Clicks 207
GNOME Menu 208
Main Panel 210
Desktop 212
Menus 214
Nautilus: File Manager 214
Display 217
Control Bars 219
Properties 226
GNOME Utilities 227
Search Tool 227
Font Preferences 230
Pick a Font Window 230
Pick a Color Window 230
Run Program Window 231
File Types and Programs (MIME Types) 232
GNOME Terminal Emulator/Shell 233
Customizing GNOME 236
Start Here: Preferences/Control Center 237
Nautilus Menubar: EditaPreferences 243
Panels 246
Menus 253
The Sawfish Window Manager 254
Bringing Up Sawfish 254
Working with Sawfish 256
Customizing Sawfish: The Sawfish Configurator 258
Chapter Summary 263
Exercises 264
Advanced Exercises 265
8. KDE Desktop Environment 267
Getting Started 268
Help 268
Windows and Mouse Clicks 271
K Menu (Application Starter) 274
Other Menus 276
kicker: Main Panel 276
KDE Utilities 278
konsole: Terminal Emulator 278
kcolorchooser: Selects a Color 281
Run Command 282
Cut and Paste 283
Konqueror Browser/File Manager 286
Getting Started 287
File Manager 288
Web Browser 290
Bookmarks 291
Kparts 292
Toolbars 293
kfind: Finds Files 298
Views II 300
Shortcuts 302
Tutorial: Active, Linked, and Locked Views 303
Navigation Panel 306
Menus 308
Desktop Menus 308
Taskbar 311
Toolbar Menu 311
Window List Menu 312
(Window) Operations Menu 312
Customizing KDE 313
Control Center 314
Panels 338
Toolbars 340
Miscellaneous 344
Chapter Summary 347
Exercises 348
Advanced Exercises 349
9. Networking and the Internet 351
Types of Networks and How They Work 353
Broadcast 354
Point-to-Point 354
Switched 355
LAN: Local Area Network 355
WAN: Wide Area Network 357
Internetworking through Gateways and Routers 357
Network Protocols 360
Host Address 362
CIDR: Classless Inter-Domain Routing 367
Hostnames 368
Communicate over a Network 370
finger: Displays Information about Remote Users 370
Sending Mail to a Remote User 372
Mailing List Servers 372
Network Utilities 373
Trusted Hosts 373
ssh: Logs in or Runs a Command on a Remote Computer 374
scp: Copies a file from/to a Remote Computer 376
telnet: Logs in on a Remote Computer 376
ftp: Transfers Files over a Network 378
ping: Tests a Network Connection 380
traceroute: Traces a Route over the Internet 381
host and dig: Queries Internet Name Servers 382
whois: Looks Up Information about an Internet Site 384
Distributed Computing 387
The Client/Server Model 387
DNS: Domain Name Service 388
NIS: Network Information Service 390
NFS: Network Filesystem 391
automount: Mounts Filesystems Automatically 393
Internet Services 394
Proxy Server 397
RPC Network Services 398
Usenet 399
Tutorial: Using pine as a Newsreader 401
Subscribing to Newsgroups 403
Reading News 403
Posting News 404
Unsubscribing from a Newsgroup 405
Netnews with Mozilla 405
WWW: World Wide Web 406
URL: Uniform Resource Locator 407
Browsers 408
Search Engine 408
Downloading a File 408
Chapter Summary 409
Exercises 410
Advanced Exercises 411
10. The vim Editor 413
History 413
Tutorial: Creating and Editing a File with vim 414
Specifying a Terminal 415
Starting vim 415
Command and Input Modes 416
Entering Text 417
Getting Help 419
Ending the Editing Session 421
Introduction to vim Features 421
Online Help 422
Modes of Operation 422
The Display 423
Correcting Text as You Insert It 424
Work Buffer 424
Line Length and File Size 425
Windows 425
File Locks 425
Abnormal Termination of an Editing Session 426
Recovering Text after a Crash 427
Command Mode: Moving the Cursor 427
Moving the Cursor by Characters 428
Moving the Cursor to a Specific Character 429
Moving the Cursor by Words 429
Moving the Cursor by Lines 429
Moving the Cursor by Sentences and Paragraphs 430
Moving the Cursor within the Screen 431
Viewing Different Parts of the Work Buffer 431
Input Mode 431
Inserting Text 431
Appending Text 432
Opening a Line for Text 432
Replacing Text 432
Quoting Special Characters 433
Command Mode: Deleting and Changing Text 433
Undoing Changes 433
Deleting Characters 433
Deleting Text 434
Changing Text 436
Replacing Text 437
Changing Case 437
Searching and Substituting 438
Searching for a Character 438
Searching for a String 438
Substituting One String for Another 440
Miscellaneous Commands 445
Yank, Put, and Delete Commands 446
The General-Purpose Buffer 446
Named Buffers 448
Numbered Buffers 448
Reading and Writing Files 449
Reading Files 449
Writing Files 449
Identifying the Current File 450
Setting Parameters 451
Setting Parameters from within vim 451
Setting Parameters in a Startup File 451
The .vimrc Startup File 452
Parameters 452
Advanced Editing Techniques 455
Using Markers 456
Editing Other Files 456
Macros and Shortcuts 457
Executing Shell Commands from within vim 458
Units of Measure 460
Character 460
Word 460
Blank-Delimited Word 461
Line 461
Sentence 461
Paragraph 462
Screen 463
Repeat Factor 463
Chapter Summary 463
Exercises 469
Advanced Exercises 470
11. The emacs Editor 473
History 473
Evolution 474
emacs versus vi 474
Tutorial: Getting Started with emacs 475
Starting emacs 476
Stopping emacs 477
Inserting Text 477
Deleting Characters 477
Moving the Cursor 478
Editing at the Cursor Position 480
Saving and Retrieving the Buffer 481
Basic Editing Commands 481
Keys: Notation and Use 482
Key Sequences and Commands 483
META-x: Running a Command without a Key Binding 483
Numeric Arguments 484
Point and the Cursor 484
Scrolling through a Buffer 485
Erasing Text 485
Searching 485
Online Help 488
Advanced Editing Topics 490
Undoing Changes 490
Mark and Region 492
Cut and Paste: Yanking Killed Text 494
Inserting Special Characters 495
Global Buffer Commands 496
Files 498
Buffers 500
Windows 501
Foreground Shell Commands 503
Background Shell Commands 504
Language-Sensitive Editing 505
Selecting a Major Mode 505
Human-Language Modes 506
C Mode 509
Customizing Indention 512
Comments 513
Special-Purpose Modes 513
Customizing emacs 515
The .emacs Startup File 516
Remapping Keys 517
A Sample .emacs File 519
emacs and the X Window System 520
Mouse Commands for Cut and Paste 521
Mouse-2 Selections 523
Scrollbars 524
Manipulating Windows with the Mouse 524
Frame Management 525
Menubars 526
Resources for emacs 527
The emacs Web Ring 527
Usenet emacs FAQ (Frequently Asked Questions) 527
Access to emacs 527
Chapter Summary 528
Exercises 536
Advanced Exercises 538
12. The Shell II: The Bourne Again Shell 541
Background 542
Shell Basics 543
Assignment Statements 543
Writing a Simple Shell Script 544
Separating and Grouping Commands 547
; and NEWLINE Separate Commands 547
\ Continues a Command 547
| and & Separate Commands and Do Something Else 547
Multitasking Demonstration 549
( ) Groups Commands 550
Redirecting Standard Error 552
noclobber: Avoids Overwriting Files 554
Job Control 554
jobs: Lists Jobs 555
fg: Brings a Job to the Foreground 555
bg: Sends a Job to the Background 556
Manipulating the Directory Stack 557
dirs: Displays the Stack 557
pushd: Pushes a Directory on the Stack 558
popd: Pops a Directory off the Stack 559
Processes 560
Process Structure 560
Process Identification 561
Executing a Command 562
Running a Shell Script 563
Parameters and Variables 566
User-Created Variables 568
Keyword Variables 576
Positional Parameters 581
Special Parameters 586
History 588
Editing the Command Line 591
fc: Displays, Edits, and Reexecutes Commands 591
Reexecuting an Event with the C Shell History Mechanism 594
The Readline Library 598
Alias 602
Quotation Marks: Single versus Double 603
Examples 603
Command Line Expansion 606
Order of Expansion 606
{ } Brace Expansion 607
~ Tilde Expansion 609
$n Parameter Expansion 609
$VARIABLE Variable Expansion 610
$(...) Command Substitution 611
Arithmetic Expansion 611
Word Splitting 612
Pathname Expansion 614
Chapter Summary 616
Exercises 620
Advanced Exercises 622
13. Programming the Bourne Again Shell 625
Control Structures 626
if...then 626
if...then...else 630
if...then...elif 632
for...in 640
for 641
while 643
until 647
break and continue 650
case 650
select 658
Here Document 659
Expanding Null or Unset Variables 661
: – Uses a Default Value 662
:= Assigns a Default Value 662
:? Displays an Error Message 663
String Pattern Matching 664
Filename Generation 664
Builtins 665
exec: Executes a Command 665
trap: Catches a Signal 667
A Partial List of Builtins 670
Functions 672
Chapter Summary 674
Exercises 676
Advanced Exercises 678
14. The TC Shell 681
Shell Scripts 682
Entering and Leaving the TC Shell 683
Startup Files 684
Features Common to the Bourne Again and TC Shells 685
History 686
Alias 689
Job Control 690
Filename Substitution 691
Manipulating the Directory Stack 691
Command Substitution 691
Redirecting Standard Error 691
Command Line Expansion 693
Word Completion 693
Editing the Command Line 696
Correcting Spelling 696
Before You Press RETURN 696
After You Press RETURN 697
Variables 698
Variable Substitution 699
String Variables 699
Arrays of String Variables 700
Numeric Variables 701
Braces 705
Special Variable Forms 706
Shell Variables 706
Control Structures 714
if 714
goto 717
Interrupt Handling 718
if...then...else 718
foreach 720
while 722
break and continue 722
switch 722
Builtins 724
Chapter Summary 730
Exercises 731
Advanced Exercises 732
15. The Z Shell and Advanced Shell Programming 735
The Z Shell, Korn Shell, and Pd-ksh 736
Z Shell Basics 736
Running Scripts 737
Startup Files 737
Commands That Are Symbols 739
Variables 741
Variable Attributes 741
Locality of Variables 743
Keyword Variables 745
Controlling the Prompt 749
Expanding Shell Variables 751
Filename Generation 754
Array Variables 758
Arithmetic 761
Builtins 767
Control Structures 768
Option Processing 771
Input and Output 775
File Descriptors 781
Functions 784
Builtin Commands 787
Command Line Editing 791
The vi Command Line Editor 791
The emacs Command Line Editor 794
History 795
Processing a Command 797
History Expansion 799
Alias Substitution 801
Parsing the Command Line 801
Filename Expansion 805
Filename Generation (Globbing) 805
I/O Redirection 806
The Coprocess 806
Spelling Correction 807
Shell Programs 808
Program Structures 809
A Programming Problem: makercs 812
Another Programming Problem: quiz 816
Z Shell Options 824
Chapter Summary 828
Exercises 833
Advanced Exercises 835
16. Programming Tools 837
Programming in C 837
Checking Your Compiler 838
A C Programming Example 839
Compiling and Linking a C Program 843
Using Shared Libraries 846
Fixing Broken Binaries 848
Creating Shared Libraries 849
make: Keeps a Set of Programs Current 849
Implied Dependencies 852
Macros 854
Debugging C Programs 857
gcc: Compiler Warning Options Find Errors in Programs 859
Symbolic Debugger 862
Threads 867
System Calls 868
strace: Traces System Calls 868
Controlling Processes 868
Accessing the Filesystem 869
Source Code Management 870
RCS: Revision Control System 871
CVS: Concurrent Versions System 879
Chapter Summary 890
Exercises 891
Advanced Exercises 892
17. Red Hat Linux System Administration 895
System Administrator and Superuser 896
System Administration Tools 899
Avoiding a Trojan Horse 903
Installing Red Hat Linux (Overview) 905
Finding the Installation Manual 905
Downloading, Burning, and Installing a CD-ROM Set 906
Types of Installations 908
Hardware 908
Classes of Installations 909
Kickstart Configurator 910
Preparing for Installation 911
Partitioning a Disk 912
mkbootdisk: Creates a Rescue/Emergency/Boot Floppy Disk 920
Beginning Installation 921
redhat-config-xfree86: Sets Up X 922
Initializing Databases 923
Setting Up the Default Desktop Manager 923
redhat-config-securitylevel: Sets up a Firewall 924
Installing and Removing Software 926
redhat-config-packages: Adds and Removes Software Packages 926
rpm: Red Hat Package Manager 928
Installing Non-rpm Software 931
GNU Configure and Build System 931
Keeping Software Up-to-Date 933
Bugs 933
Errata: Security Alerts, Bugfixes, and Enhancements 934
Red Hat Network 936
System Operation 942
Booting the System 943
rc Scripts: Start and Stop System Services 944
Emergency Mode 948
Single-User Mode 949
Going Multiuser 950
Multiuser Mode 950
Logging In 951
Running a Program and Logging Out 952
Bringing the System Down 952
Crash 955
File, Directory, and Filesystem 956
Important Files and Directories 956
File Types 968
Filesystems 972
GUI System Administration Tools 985
GNOME System Settings Window/Menu 985
KDE Control Center: System Module 988
KDE Control Center: Network Module 992
Configuring User and Group Accounts 992
redhat-config-users: Manages User Accounts 993
kuser: Manages User Accounts under KDE 995
useradd: Adds a User Account 996
userdel: Removes a User Account 996
groupadd: Adds a Group 997
Backing Up Files 997
Choosing a Backup Medium 998
Backup Utilities 999
Performing a Simple Backup 1001
dump, restore: Back Up and Restore Filesystems 1002
Printing 1005
printconf-gui: Configures and Manages LPRng Printers 1006
CUPS 1010
Manually Adding a Local Printer 1011
/etc/printcap: Describes Printers 1012
KDEPrint: Manages Printers 1014
Configuring Network Services 1015
sys-unconfig: Reconfigures Network Services 1016
Proxies 1016
hosts: Stores a List of Machines 1017
NFS: Network Filesystem 1018
NIS: Network Information Service 1021
DNS: Domain Name Service 1021
Internet Configuration Wizard 1023
Samba/swat 1025
DHCP Client 1028
OpenSSH: Provides Secure Network Tools 1029
GnuPG: GNU Privacy Guard 1030
Rebuilding the Linux Kernel 1031
Preparing Source Code 1032
Read the Documentation 1033
Configuring and Compiling the Linux Kernel and Modules 1034
Compiling the Linux Kernel 1037
Using Loadable Kernel Modules 1038
Installing the Kernel and Associated Files 1039
Changing lilo.conf 1039
Rebooting 1039
Boot Loader 1039
PAM 1043
Configuration File, Module Type, and Control Flag 1045
Example 1047
Modifying the PAM Configuration 1048
Administration Utilities 1049
kudzu: Adds or Removes a Device 1050
sendmail: Sends and Receives Mail 1050
Other Utilities 1055
Administration Tasks 1055
Log Files and Mail for root 1058
Scheduling Tasks 1059
System Reports 1060
Informing Users 1063
Creating Problems 1064
Solving Problems 1065
Getting Help 1075
Chapter Summary 1076
Exercises 1077
Advanced Exercises 1078
PART III: The GNU/Linux Utility Programs 1081
sample
Very brief description of what the utility does 1087
aspell
Checks a file for spelling errors 1089
at
Executes a shell script at a time you specify 1093
cal
Displays a calendar 1096
cat
Joins or displays files 1098
cd
Changes to another working directory 1100
chgrp
Changes the group associated with a file 1102
chmod
Changes the access mode of a file 1103
chown
Changes the owner of a file 1108
ci
Creates or records changes in an RCS file 1110
cmp
Checks whether two files differ 1113
co
Retrieves an unencoded revision of an RCS file 1115
comm
Compares sorted files 1118
configure
Configures source code automatically 1120
cp
Copies one or more files 1122
cpio
Creates an archive or restores files from an archive 1124
crontab
Maintains crontab files 1129
cut
Selects characters or fields from input lines 1132
cvs
Manages concurrent access to files in a hierarchy 1134
date
Displays or sets the time and date 1141
dd
Converts and copies a file 1144
df
Displays disk space usage 1147
diff
Displays the differences between two files 1149
du
Displays information on disk usage 1155
echo
Displays a message 1157
expr
Evaluates an expression 1159
file
Displays the classification of a file 1163
find
Uses criteria to find files 1165
finger
Displays information about users 1171
fmt
Formats text very simply 1174
fsck
Checks and repairs a filesystem 1176
ftp
Transfers files over a network 1180
gawk
Searches for and processes patterns in a file 1185
gcc
Compiles C and C++ programs 1210
grep
Searches for a pattern in files 1215
gzip
Compresses or decompresses files 1219
head
Displays the beginning of a file 1222
kill
Terminates a process 1224
less
Displays text files, one screen at a time 1226
ln
Makes a link to a file 1230
lpr
Prints files 1232
ls
Displays information about one or more files 1235
mail
Sends and receives electronic mail 1241
make
Keeps a set of programs current 1247
man
Displays documentation for commands 1252
mkdir
Makes a directory 1255
Mtools
Uses DOS-style commands on files and directories 1256
mv
Moves (renames) a file 1260
nice
Changes the priority of a command 1263
nohup
Runs a command that keeps running after you log out 1264
od
Dumps the contents of a file 1265
paste
Joins corresponding lines from files 1270
patch
Updates source code 1272
pine
Sends and receives electronic mail and news 1278
pr
Paginates files for printing 1286
ps
Displays process status 1288
rcp
Copies one or more files to or from a remote computer 1293
rcs
Creates or changes the attributes of an RCS file 1295
rlog
Prints a summary of the history of an RCS file 1298
rlogin
Logs in on a remote computer 1301
rm
Removes a file (deletes a link) 1303
rmdir
Removes a directory 1305
rsh
Executes commands on a remote computer 1306
scp
Securely copies one or more files to or from a remote computer 1308
sed
Edits a file (not interactively) 1310
ssh
Securely executes commands on a remote computer 1321
sleep
Creates a process that sleeps for a specified interval 1324
sort
Sorts and/or merges files 1326
stty
Displays or sets terminal parameters 1335
tail
Displays the last part (tail) of a file 1340
tar
Stores or retrieves files to/from an archive file 1343
tee
Copies standard input to standard output and one or more files 1348
telnet
Connects to a remote computer over a network 1349
test
Evaluates an expression 1352
top
Dynamically displays process status 1356
touch
Updates a file’s modification time 1359
tr
Replaces specified characters 1362
tty
Displays the terminal pathname 1365
umask
Establishes the file-creation permissions mask 1366
uniq
Displays lines of a file that are unique 1368
w
Displays information on system users 1370
wc
Displays the number of lines, words, and bytes in a file 1372
which
Shows where in your path a command is located 1373
who
Displays names of users 1375
xargs
Converts standard output of one command into arguments for another 1377
PART IV: Appendixes 1381
<
A. Regular Expressions 1383
Characters 1383
Delimiters 1384
Simple Strings 1384
Special Characters 1384
Period 1384
Brackets 1385
Asterisk 1386
Caret and Dollar Sign 1387
Quoting Special Characters 1387
Rules 1387
Longest Match Possible 1387
Empty Regular Expressions 1388
Bracketing Expressions 1388
The Replacement String 1389
Ampersand 1389
Quoted Digit 1389
Extended Regular Expressions 1390
Appendix Summary 1392
B. Help 1395
Solving a Problem 1395
Finding GNU/Linux-Related Information 1396
Documentation 1397
Useful GNU/Linux Sites 1398
GNU/Linux Newsgroups 1399
Mailing Lists 1399
Words 1400
Programs 1400
Office Suites and Word Processors 1401
Specifying Your Terminal 1402
C. Security 1405
Encryption 1406
Public Key Encryption 1407
Symmetric Key Encryption 1409
Encryption Implementation 1410
GnuPG/PGP 1410
File Security 1411
E-mail Security 1412
MTAs (Mail Transfer Agents) 1412
MUAs (Mail User Agents) 1412
Network Security 1412
Network Security Solutions 1413
Network Security Guidelines 1414
Host Security 1416
Login Security 1417
Remote Access Security 1418
Viruses and Worms 1419
Physical Security 1419
Security Resources 1421
Appendix Summary 1425
D. The POSIX Standards 1427
Background 1428
POSIX.1 1428
POSIX.2 1430
Localization 1430
The POSIX Shell 1432
Utilities for Portable Shell Applications 1434
The User Portability Utilities Option (UPE) 1440
Software Development Utilities 1441
POSIX.3 1442
POSIX.4 1442
POSIX.5 1443
Security 1444
Networks 1445
Profiles and POSIX Standards 1446
Appendix Summary 1446
E. The Free Software Definition 1449
Glossary 1453
Index 1505