What Is Unix? | p. 1 |
Unix History and Background | p. 2 |
The Rise of the Operating System | p. 3 |
C and Unix | p. 4 |
The Growth of Unix | p. 5 |
Unix Today | p. 6 |
Unix as Cultural Phenomenon | p. 6 |
The Free Software Movement | p. 7 |
Linux and FreeBSD | p. 8 |
The Open Source Movement | p. 10 |
Flavors of Unix | p. 11 |
BSD versus SysV | p. 11 |
The Unix Philosophy | p. 12 |
Basic Unix Concepts | p. 15 |
What Is an Operating System? | p. 16 |
Structure of a Unix Operating System | p. 17 |
The Kernel | p. 17 |
The Shell | p. 18 |
The File System | p. 19 |
Users | p. 20 |
Accounts | p. 21 |
The Superuser | p. 22 |
Logging into Your Account | p. 23 |
Logging out of Your account | p. 25 |
Understanding Unix Commands | p. 29 |
The Shell Prompt | p. 30 |
What the Prompt Tells You | p. 31 |
Anatomy of a Command | p. 31 |
The Command Word | p. 31 |
Arguments and Options | p. 31 |
Input and Output Redirection | p. 32 |
Redirecting Output | p. 33 |
Redirecting Input | p. 34 |
Pipes | p. 35 |
Command Substitution | p. 36 |
The File System | p. 39 |
File System Types | p. 40 |
EXT2 | p. 40 |
UFS | p. 40 |
FAT | p. 41 |
Files and Directories | p. 41 |
What Is a File? | p. 41 |
Types of Files | p. 42 |
Text Files | p. 42 |
Binary Files | p. 42 |
Directories | p. 43 |
Links | p. 43 |
Device Files | p. 43 |
Named Pipes | p. 44 |
Directories | p. 44 |
File Permissions | p. 45 |
The chmod Command | p. 46 |
Finding Yourself on the Machine | p. 49 |
Your Home Directory | p. 49 |
The pwd Command | p. 50 |
Moving Around the File System | p. 50 |
Navigating the File System | p. 50 |
Changing Directories | p. 51 |
Learning the Contents of a Directory | p. 52 |
Creating and Destroying Files and Directories | p. 53 |
Creating a Directory | p. 53 |
Creating a File | p. 54 |
Removing a File | p. 55 |
System Directories | p. 55 |
Making Sense of What You See | p. 55 |
The /bin Directory | p. 56 |
The /dev Directory | p. 56 |
The /etc Directory | p. 56 |
The /home Directory | p. 56 |
The /lib Directory | p. 56 |
The /sbin Directory | p. 57 |
The /tmp Directory | p. 57 |
The /usr Directory | p. 57 |
The /var Directory | p. 57 |
Jobs and Processes | p. 59 |
Keeping Track of Running Processes | p. 60 |
Foreground and Background Processes | p. 61 |
Managing Processes | p. 63 |
Managing Output | p. 65 |
Moving Jobs between Foreground and Background | p. 65 |
nice and renice | p. 66 |
The /proc Directory | p. 67 |
The Screen Program | p. 67 |
The Shell Environment | p. 71 |
Major Unix Shells | p. 72 |
The Bourne (Again) Shell | p. 72 |
The Bourne Shell | p. 72 |
The Korn Shell | p. 73 |
The C Shells | p. 73 |
The Z Shell | p. 74 |
Other Unix Shells | p. 74 |
scsh | p. 75 |
rc and es | p. 75 |
The Perl Shell | p. 75 |
Environment Variables | p. 75 |
Variables | p. 75 |
Common bash Environment Variables | p. 76 |
USR | p. 76 |
MAIL | p. 79 |
PS1 | p. 79 |
HOSTNAME | p. 79 |
PATH | p. 79 |
Changing Environment Variables | p. 80 |
Run Control Files | p. 82 |
System-wide Run Control Files | p. 83 |
Personal Run Control Files | p. 84 |
Run Control Files in Other Shells | p. 86 |
The vi Editor | p. 91 |
What Is Text? | p. 92 |
Text Editors | p. 97 |
Line Editors vs. Visual Editors | p. 98 |
The vi Text Editor | p. 99 |
vi's Modes | p. 100 |
Insert Mode | p. 100 |
Edit Mode | p. 101 |
Using Insert Mode | p. 101 |
Using Edit Mode | p. 101 |
Editing in vi | p. 103 |
Copying and Pasting | p. 103 |
Deleting Text | p. 103 |
Search and Replace | p. 104 |
Abbreviations and Macros | p. 105 |
How to Create an Abbreviation | p. 105 |
How to Create a Macro | p. 106 |
The Set Command | p. 107 |
vi Run Control Files | p. 107 |
Setting Your Preferences in vi | p. 108 |
Saving and Exiting vi | p. 109 |
Other Text Editors | p. 111 |
GNU Emacs | p. 112 |
Starting GNU Emacs | p. 112 |
The GNU Emacs Screen | p. 114 |
Control and Meta Sequences | p. 114 |
Buffers | p. 114 |
Windows | p. 116 |
Saving and Exiting | p. 117 |
Fico | p. 117 |
joe | p. 119 |
NEdit | p. 121 |
Internet Applications | p. 129 |
Electronic Mail | p. 130 |
Electronic Mail Protocols | p. 130 |
fetchmail | p. 130 |
The $MAIL Variable | p. 132 |
Electronic Mail Clients | p. 132 |
mail | p. 133 |
ELM | p. 134 |
Configuring ELM | p. 135 |
PINE | p. 136 |
Configuring PINE | p. 137 |
Graphical Electronic Mail Programs | p. 137 |
The World Wide Web | p. 139 |
Lynx | p. 139 |
Netscape | p. 141 |
Mozilla | p. 141 |
Opera | p. 142 |
USENET News | p. 143 |
trn | p. 145 |
Networking I: Introduction to Unix Networking | p. 149 |
Remote Access and File Transfer | p. 150 |
telnet, rlogin, rcp and rsh: Why Nobody Uses Them Anymore | p. 150 |
telnet and rlogin | p. 152 |
rsh | p. 152 |
rcp | p. 153 |
A Security Note | p. 153 |
Secure Tools | p. 154 |
ssh | p. 154 |
scp | p. 155 |
Basic Networking Concepts | p. 155 |
How Networks Operate | p. 155 |
TCP/IP | p. 156 |
IP Numbers | p. 157 |
Name Resolution | p. 158 |
Networking Hardware and Software | p. 158 |
Modems | p. 159 |
Ethernet | p. 159 |
Hubs | p. 160 |
Routers | p. 160 |
Cable and DSL | p. 160 |
Networking II: Fundamentals of Unix Networking | p. 163 |
LANs, WANs, and Internets | p. 164 |
Local Area Networks | p. 164 |
Wide Area Networks | p. 164 |
Internets | p. 164 |
Network Topology | p. 165 |
The Bus Topology | p. 165 |
The Ring Topology | p. 166 |
The Hub Topology | p. 166 |
Ethernet Networking | p. 168 |
Configuring Ethernet under Unix | p. 169 |
Routers, Gateways, and DNS | p. 171 |
Defining Network Default Routes | p. 172 |
DNS | p. 173 |
Dial-up Networking | p. 174 |
Case Study: Setting Up a Simple Network | p. 176 |
Chapter 12: Shell Programming I: Introduction to Shell Programming | p. 183 |
What Is Shell Programming? | p. 183 |
Automating Repetitive Tasks | p. 184 |
Making the Complex Simple | p. 184 |
Programs and Scripts | p. 185 |
Anatomy of a Shell Program | p. 185 |
Invoking the Shell | p. 185 |
Comments | p. 186 |
Commands | p. 187 |
Data | p. 187 |
Flow Control | p. 188 |
Shell Programming II: Variables and Flow Control | p. 191 |
Shell Program Basics | p. 191 |
What Is a Variable? | p. 192 |
Variable Names | p. 192 |
Variable Types | p. 193 |
Assigning Variables | p. 194 |
The $ Operator | p. 194 |
Variable Interpolation | p. 195 |
Special Variables | p. 196 |
Conditional Flow Control | p. 196 |
The if-then Construct | p. 197 |
The if-then-else Construct | p. 199 |
The if-then-elif-then Construct | p. 201 |
The Case Construct | p. 202 |
Iterative Flow Control | p. 202 |
The while Loop | p. 203 |
The until Loop | p. 204 |
The for Loop | p. 204 |
The select Statement | p. 205 |
Shell Programming III: Regular Expressions | p. 209 |
grep, sed, and awk | p. 210 |
grep | p. 211 |
grep Metacharacters | p. 212 |
grep Meta-"noncharacters" | p. 212 |
"Anti-meta-noncharacters" | p. 213 |
The Pluralizer | p. 214 |
sed | p. 214 |
Line Addresses | p. 216 |
sed Scripts | p. 216 |
sed Commands | p. 216 |
awk | p. 217 |
Changing the Field Separator | p. 221 |
Using Pattern Matching with awk | p. 222 |
awk Scripts | p. 222 |
Shell Programming IV: Signals and Status | p. 225 |
Exit Status | p. 225 |
Creating Exit Status | p. 228 |
Signals | p. 229 |
Unique Identifiers | p. 229 |
Sending Signals | p. 230 |
Signal Traps | p. 231 |
Pulling It All Together | p. 232 |
Selecting Techniques | p. 237 |
Basic System Administration: Part I | p. 241 |
The System Administrator | p. 242 |
Managing Users | p. 243 |
Adding Users | p. 243 |
Deleting Users | p. 244 |
Managing User Groups | p. 245 |
Disk Management | p. 246 |
What Is a Disk? | p. 246 |
Disk Partitions | p. 247 |
The Unix Filesystem | p. 247 |
Mounting Directories and Devices | p. 248 |
Mounting Local Partitions | p. 248 |
Mounting Remote Devices | p. 249 |
Backups | p. 250 |
System Security | p. 251 |
Physical Security | p. 252 |
Internal Security | p. 252 |
External Security | p. 253 |
Password Security | p. 254 |
Basic System Administration: Part II | p. 259 |
Managing Software | p. 260 |
Installing Software from Source Code | p. 260 |
Getting and Unpacking the Package | p. 261 |
Reading the Documentation | p. 263 |
Configuring the Installation | p. 264 |
Compiling the Software | p. 264 |
Package Management Systems | p. 265 |
Case in Point: RPM | p. 266 |
Build | p. 266 |
Architecture | p. 267 |
Printer Administration | p. 268 |
Working with CUPS | p. 268 |
Adding a Printer | p. 268 |
Controlling Printers | p. 270 |
Network Printing | p. 272 |
The X Window System | p. 275 |
What Is the X Window System? | p. 276 |
How X Windows Works | p. 277 |
Features of X Windows | p. 278 |
Window Managers and Desktop Environments | p. 278 |
Installing and Starting X | p. 280 |
X Windows and Networks | p. 281 |
X across the Internet | p. 282 |
Customizing the X Environment | p. 283 |
Fonts | p. 283 |
Font Servers | p. 284 |
Colors | p. 284 |
Hex Values and Color Names | p. 285 |
X Windows and Security | p. 285 |
Remote Access | p. 286 |
Ports and Access | p. 286 |
X Windows and Adaptive User Environments | p. 287 |
Running Servers | p. 291 |
What Is a Service? | p. 292 |
Selecting Services | p. 292 |
World Wide Web Services | p. 293 |
Apache | p. 294 |
Other Web Servers | p. 294 |
boa | p. 295 |
jigsaw | p. 295 |
WN | p. 295 |
Electronic Mail Servers | p. 295 |
Mail Server Options | p. 296 |
sendmail | p. 296 |
Postfix | p. 297 |
qmail | p. 297 |
Exim | p. 297 |
POP and IMAP | p. 297 |
FTP Servers | p. 298 |
News Servers | p. 299 |
INN | p. 300 |
Remote Access Services | p. 301 |
File Transfer Protocol | p. 301 |
Remote Login Access | p. 302 |
Configuring inetd | p. 302 |
Common Unix Commands | p. 307 |
Glossary | p. 335 |
Sample Configuration Scripts | p. 343 |
Internet Resources | p. 383 |
Index | p. 395 |
Table of Contents provided by Ingram. All Rights Reserved. |