Acknowledgments |
|
xix | |
Introduction |
|
xxi | |
|
Chapter 1 An Introduction to Linux |
|
|
1 | (28) |
|
The Role of an Operating System |
|
|
2 | (1) |
|
|
3 | (2) |
|
|
5 | (1) |
|
|
6 | (1) |
|
|
6 | (1) |
|
Commonly Used Distributions |
|
|
7 | (1) |
|
The Life Cycle of a Linux Distribution |
|
|
8 | (1) |
|
Choosing an Operating System |
|
|
9 | (1) |
|
Conducting a Needs Assessment |
|
|
9 | (2) |
|
|
11 | (1) |
|
Verifying System Requirements and Hardware Compatibility |
|
|
12 | (4) |
|
Common Linux Implementations |
|
|
16 | (1) |
|
|
16 | (1) |
|
|
17 | (1) |
|
|
18 | (1) |
|
|
18 | (3) |
|
|
21 | (1) |
|
|
22 | (1) |
|
|
23 | (3) |
|
|
26 | (3) |
|
Chapter 2 Getting Around in Linux |
|
|
29 | (30) |
|
Booting the System and Logging In |
|
|
29 | (1) |
|
|
29 | (2) |
|
|
31 | (1) |
|
Keeping Information Secure |
|
|
32 | (1) |
|
|
33 | (1) |
|
Using the Linux Graphical Desktop Environment |
|
|
34 | (1) |
|
The Linux Graphical User Interface |
|
|
35 | (3) |
|
Graphical Desktop Components |
|
|
38 | (2) |
|
Graphical Environment Configuration Settings |
|
|
40 | (4) |
|
Common Linux Graphical Applications |
|
|
44 | (5) |
|
Using the Linux Command Line Environment |
|
|
49 | (1) |
|
|
49 | (2) |
|
|
51 | (3) |
|
|
54 | (2) |
|
|
56 | (3) |
|
|
59 | (50) |
|
|
59 | (1) |
|
|
60 | (1) |
|
|
61 | (2) |
|
|
63 | (4) |
|
|
67 | (2) |
|
|
69 | (9) |
|
|
78 | (9) |
|
|
87 | (1) |
|
Removable Hardware Interfaces |
|
|
87 | (2) |
|
|
89 | (5) |
|
|
94 | (1) |
|
|
95 | (1) |
|
How Drivers Are Implemented Under Linux |
|
|
96 | (1) |
|
|
97 | (2) |
|
|
99 | (3) |
|
|
102 | (4) |
|
|
106 | (3) |
|
Chapter 4 Open Source Software |
|
|
109 | (18) |
|
|
109 | (1) |
|
|
110 | (1) |
|
|
111 | (1) |
|
Open Source Software Development |
|
|
112 | (1) |
|
Software Development Models |
|
|
112 | (1) |
|
Package Management Tools and Repositories |
|
|
113 | (6) |
|
Open Source Business Model |
|
|
119 | (1) |
|
|
119 | (2) |
|
|
121 | (3) |
|
|
124 | (1) |
|
|
125 | (2) |
|
Chapter 5 Command Line Basics |
|
|
127 | (60) |
|
|
127 | (2) |
|
|
129 | (3) |
|
Running Commands from the Shell Prompt |
|
|
132 | (4) |
|
|
136 | (1) |
|
|
137 | (1) |
|
Shell Configuration Files |
|
|
138 | (3) |
|
|
141 | (1) |
|
How Environment Variables Work |
|
|
141 | (1) |
|
Managing Environment Variables |
|
|
142 | (5) |
|
Creating User-Defined Variables |
|
|
147 | (1) |
|
Getting Help with Linux Commands |
|
|
148 | (1) |
|
|
149 | (7) |
|
|
156 | (3) |
|
|
159 | (1) |
|
|
160 | (1) |
|
Using vi to Edit Text Files |
|
|
160 | (9) |
|
Using pico and nano to Edit Text Files |
|
|
169 | (1) |
|
|
169 | (3) |
|
|
172 | (3) |
|
|
175 | (8) |
|
|
183 | (4) |
|
Chapter 6 Working with Files and Directories |
|
|
187 | (32) |
|
Linux File Systems and the Filesystem Hierarchy Standard (FHS) |
|
|
187 | (1) |
|
The Role of the Linux File System |
|
|
188 | (1) |
|
The Hierarchical Structure of the Linux File System |
|
|
188 | (7) |
|
Types of Files Used by Linux |
|
|
195 | (1) |
|
|
195 | (4) |
|
Managing Directories from the Command Line |
|
|
199 | (1) |
|
Navigating the File System |
|
|
199 | (2) |
|
|
201 | (2) |
|
|
203 | (1) |
|
Copying, Moving, and Deleting Directories |
|
|
204 | (1) |
|
Managing Files from the Command Line |
|
|
205 | (1) |
|
|
205 | (1) |
|
|
206 | (1) |
|
|
206 | (1) |
|
Finding Files in the Linux File System |
|
|
207 | (1) |
|
|
207 | (1) |
|
|
208 | (1) |
|
|
209 | (1) |
|
|
209 | (1) |
|
|
209 | (2) |
|
|
211 | (1) |
|
|
212 | (2) |
|
|
214 | (1) |
|
|
215 | (2) |
|
|
217 | (2) |
|
Chapter 7 Extracting Data from Files |
|
|
219 | (26) |
|
|
219 | (3) |
|
Finding Content Within Files |
|
|
222 | (2) |
|
Using Redirection and Piping |
|
|
224 | (1) |
|
Standard bash File Descriptors |
|
|
225 | (1) |
|
Redirecting Output and Input for Shell Commands |
|
|
226 | (3) |
|
|
229 | (1) |
|
Using Command Substitution |
|
|
230 | (1) |
|
|
231 | (1) |
|
|
232 | (1) |
|
|
233 | (1) |
|
|
233 | (1) |
|
|
234 | (1) |
|
|
234 | (1) |
|
|
235 | (1) |
|
|
235 | (1) |
|
|
235 | (1) |
|
|
236 | (1) |
|
|
237 | (1) |
|
|
238 | (1) |
|
|
239 | (1) |
|
|
240 | (3) |
|
|
243 | (2) |
|
Chapter 8 Managing Users and Groups |
|
|
245 | (34) |
|
Managing Linux User Accounts |
|
|
247 | (1) |
|
How Linux User Accounts Work |
|
|
248 | (2) |
|
Where Linux User Accounts Are Stored |
|
|
250 | (5) |
|
Creating and Managing User Accounts from the Command Line |
|
|
255 | (7) |
|
Managing Linux Group Accounts |
|
|
262 | (1) |
|
|
262 | (2) |
|
Managing Groups from-the Command Line |
|
|
264 | (1) |
|
Managing User Account Security |
|
|
265 | (1) |
|
Proper Use of the root User Account |
|
|
265 | (1) |
|
|
266 | (1) |
|
|
266 | (3) |
|
Using Log Files to Detect Intruders |
|
|
269 | (2) |
|
|
271 | (2) |
|
|
273 | (2) |
|
|
275 | (3) |
|
|
278 | (1) |
|
Chapter 9 Managing File Ownership and Permissions |
|
|
279 | (22) |
|
|
279 | (1) |
|
|
279 | (2) |
|
Managing Ownership from the Command Line |
|
|
281 | (2) |
|
Managing File and Directory Permissions |
|
|
283 | (1) |
|
|
283 | (2) |
|
Managing Permissions from the Command Line with chmod |
|
|
285 | (3) |
|
Working with Default Permissions |
|
|
288 | (2) |
|
Working with Special Permissions |
|
|
290 | (3) |
|
|
293 | (1) |
|
|
294 | (1) |
|
|
295 | (3) |
|
|
298 | (3) |
|
Chapter 10 Archiving Files |
|
|
301 | (16) |
|
Selecting a Backup Medium |
|
|
302 | (1) |
|
Selecting a Backup Strategy |
|
|
303 | (1) |
|
|
303 | (1) |
|
Selecting a Backup Schedule |
|
|
304 | (1) |
|
Determining What to Back Up |
|
|
305 | (1) |
|
Using Linux Backup Utilities |
|
|
305 | (1) |
|
|
306 | (2) |
|
|
308 | (2) |
|
Creating an Archive with dd |
|
|
310 | (2) |
|
|
312 | (1) |
|
|
312 | (1) |
|
|
313 | (2) |
|
|
315 | (2) |
|
Chapter 11 Managing Linux Processes and Log Files |
|
|
317 | (40) |
|
Understanding Linux Processes |
|
|
317 | (3) |
|
How Linux Processes Are Loaded |
|
|
320 | (2) |
|
Managing Running Processes |
|
|
322 | (1) |
|
Starting System Processes |
|
|
323 | (1) |
|
Viewing Running Processes |
|
|
324 | (7) |
|
|
331 | (2) |
|
Managing Foreground and Background Processes |
|
|
333 | (3) |
|
|
336 | (3) |
|
|
339 | (1) |
|
|
340 | (4) |
|
Using Log Files to Troubleshoot Problems |
|
|
344 | (2) |
|
|
346 | (3) |
|
|
349 | (2) |
|
|
351 | (3) |
|
|
354 | (3) |
|
Chapter 12 Creating Scripts |
|
|
357 | (26) |
|
Working with Shell Scripts |
|
|
357 | (1) |
|
The Components of a Shell Script |
|
|
357 | (1) |
|
How Shell Scripts Are Executed |
|
|
358 | (2) |
|
|
360 | (1) |
|
Displaying Text on the Screen |
|
|
360 | (1) |
|
Adding Commands to a Script |
|
|
360 | (3) |
|
Reading Input from the User |
|
|
363 | (2) |
|
Using Control Structures in Scripts |
|
|
365 | (1) |
|
|
366 | (3) |
|
|
369 | (1) |
|
|
370 | (2) |
|
|
372 | (1) |
|
|
372 | (1) |
|
|
373 | (1) |
|
|
374 | (1) |
|
|
374 | (3) |
|
|
377 | (2) |
|
|
379 | (3) |
|
|
382 | (1) |
|
Chapter 13 Connecting Linux to a Network |
|
|
383 | (58) |
|
Understanding IP Networks |
|
|
384 | (1) |
|
|
384 | (5) |
|
|
389 | (3) |
|
How the Subnet Mask Works |
|
|
392 | (2) |
|
Specifying the DNS Server and Default Gateway Router Addresses |
|
|
394 | (2) |
|
Configuring Network Addressing Parameters |
|
|
396 | (1) |
|
Installing the Ethernet Board |
|
|
396 | (1) |
|
Configuring IP Parameters |
|
|
397 | (6) |
|
Configuring Routing Parameters |
|
|
403 | (2) |
|
Configuring Name Resolver Settings |
|
|
405 | (3) |
|
Troubleshooting Network Problems |
|
|
408 | (1) |
|
|
408 | (1) |
|
|
409 | (1) |
|
|
410 | (2) |
|
Using Name Resolution Tools |
|
|
412 | (2) |
|
Encrypting Remote Access with OpenSSH |
|
|
414 | (1) |
|
|
414 | (5) |
|
|
419 | (1) |
|
|
420 | (5) |
|
|
425 | (4) |
|
|
429 | (4) |
|
|
433 | (4) |
|
|
437 | (2) |
|
Appendix About the CD-ROM |
|
|
439 | (1) |
|
|
439 | (1) |
|
Installing and Running MasterExam |
|
|
439 | (1) |
|
|
439 | (1) |
|
|
439 | (1) |
|
|
440 | (1) |
|
|
440 | (1) |
|
|
440 | (1) |
|
LearnKey Technical Support |
|
|
440 | (1) |
|
McGraw-Hill Technical Support and Customer Service |
|
|
440 | (1) |
Glossary |
|
441 | (18) |
Index |
|
459 | |