Introduction |
|
xix | |
Assessment Test |
|
xxix | |
Chapter 1 Selecting an Operating System |
|
1 | (26) |
|
|
2 | (2) |
|
|
2 | (1) |
|
What Else Identifies an OS? |
|
|
3 | (1) |
|
Investigating User Interfaces |
|
|
4 | (5) |
|
Using a Text-Mode User Interface |
|
|
5 | (2) |
|
Using a Graphical User Interface |
|
|
7 | (2) |
|
Where Does Linux Fit in the OS World? |
|
|
9 | (5) |
|
|
9 | (2) |
|
|
11 | (1) |
|
Comparing Linux to Windows |
|
|
12 | (2) |
|
|
14 | (4) |
|
Creating a Complete Linux-Based OS |
|
|
14 | (1) |
|
A Summary of Common Linux Distributions |
|
|
15 | (2) |
|
Understanding Release Cycles |
|
|
17 | (1) |
|
|
18 | (1) |
|
|
19 | (4) |
|
|
19 | (2) |
|
What Are the Cloud Services? |
|
|
21 | (2) |
|
|
23 | (1) |
|
|
23 | (2) |
|
|
25 | (2) |
Chapter 2 Understanding Software Licensing |
|
27 | (16) |
|
Investigating Software Licenses |
|
|
28 | (3) |
|
Exploring Copyright Protection and Software |
|
|
28 | (2) |
|
Using Licenses to Modify Copyright Terms |
|
|
30 | (1) |
|
Looking at the Free Software Foundation |
|
|
31 | (2) |
|
Understanding the FSF Philosophy |
|
|
31 | (1) |
|
Examining Free Software and the GPL |
|
|
32 | (1) |
|
Looking at the Open Source Initiative |
|
|
33 | (3) |
|
Understanding the Open Source Philosophy |
|
|
33 | (2) |
|
Defining Open Source Software |
|
|
35 | (1) |
|
Looking at the Creative Commons |
|
|
36 | (1) |
|
Using Open Source Licenses |
|
|
36 | (3) |
|
Understanding Open Source Licenses |
|
|
36 | (2) |
|
Understanding Open Source Business Models |
|
|
38 | (1) |
|
|
39 | (1) |
|
|
40 | (1) |
|
|
41 | (2) |
Chapter 3 Investigating Linux's Principles and Philosophy |
|
43 | (14) |
|
|
44 | (3) |
|
Understanding Linux's Origins |
|
|
44 | (3) |
|
Seeing Today's Linux World |
|
|
47 | (1) |
|
Using Open Source Software |
|
|
47 | (3) |
|
Understanding Basic Open Source Principles |
|
|
47 | (2) |
|
Linux as a Software Integrator |
|
|
49 | (1) |
|
|
50 | (3) |
|
Looking At Embedded Computers |
|
|
50 | (1) |
|
Exploring Desktop and Laptop Computers |
|
|
51 | (1) |
|
Investigating Server Computers |
|
|
52 | (1) |
|
|
53 | (1) |
|
|
53 | (2) |
|
|
55 | (2) |
Chapter 4 Using Common Linux Programs |
|
57 | (30) |
|
Using a Linux Desktop Environment |
|
|
58 | (8) |
|
Choosing a Desktop Environment |
|
|
58 | (3) |
|
|
61 | (2) |
|
|
63 | (3) |
|
Working with Productivity Software |
|
|
66 | (6) |
|
Finding the Right Tool for the Job |
|
|
66 | (1) |
|
|
67 | (1) |
|
|
68 | (1) |
|
|
68 | (1) |
|
Using Multimedia Applications |
|
|
69 | (1) |
|
Using Linux for Cloud Computing |
|
|
70 | (1) |
|
Using Mobile Applications |
|
|
71 | (1) |
|
|
72 | (6) |
|
Identifying Common Server Protocols and Programs |
|
|
72 | (4) |
|
|
76 | (1) |
|
Installing and Launching Servers |
|
|
76 | (1) |
|
|
77 | (1) |
|
Managing Programming Languages |
|
|
78 | (3) |
|
Choosing a Compiled vs. an Interpreted Language |
|
|
78 | (1) |
|
Identifying Common Programming Languages |
|
|
79 | (2) |
|
Handling Software Packages |
|
|
81 | (1) |
|
Understanding Software Packages |
|
|
81 | (1) |
|
Identifying Common Package Tools |
|
|
81 | (1) |
|
|
82 | (1) |
|
|
83 | (1) |
|
|
84 | (3) |
Chapter 5 Getting to Know the Command Line |
|
87 | (32) |
|
|
88 | (4) |
|
|
88 | (3) |
|
Logging into a Text-Mode Console |
|
|
91 | (1) |
|
|
92 | (5) |
|
Understanding Text-Mode Program Syntax |
|
|
93 | (1) |
|
Running Text-Mode Programs |
|
|
94 | (1) |
|
|
95 | (1) |
|
Running Programs in the Background |
|
|
96 | (1) |
|
|
97 | (2) |
|
|
97 | (1) |
|
|
98 | (1) |
|
Getting Help Using Man Pages |
|
|
99 | (7) |
|
Understanding the Purpose of Man Pages |
|
|
100 | (1) |
|
Locating Man Pages by Section Number |
|
|
100 | (2) |
|
|
102 | (1) |
|
|
102 | (2) |
|
|
104 | (2) |
|
Getting Help Using Info Pages |
|
|
106 | (3) |
|
Understanding the Purpose of Info Pages |
|
|
106 | (1) |
|
|
107 | (2) |
|
Finding Additional Documentation |
|
|
109 | (5) |
|
Locating Program Documentation on Your Computer |
|
|
109 | (3) |
|
Locating Program Documentation Online |
|
|
112 | (1) |
|
|
112 | (2) |
|
|
114 | (1) |
|
|
114 | (2) |
|
|
116 | (3) |
Chapter 6 Managing Hardware |
|
119 | (24) |
|
|
120 | (3) |
|
Understanding CPU Families |
|
|
120 | (3) |
|
|
123 | (1) |
|
Identifying Motherboard Capabilities |
|
|
123 | (2) |
|
|
125 | (1) |
|
Understanding Disk Issues |
|
|
125 | (9) |
|
|
126 | (1) |
|
|
127 | (3) |
|
Understanding Filesystem Issues |
|
|
130 | (3) |
|
Using Removable and Optical Disks |
|
|
133 | (1) |
|
|
134 | (3) |
|
Understanding the Role of X |
|
|
134 | (2) |
|
Using Common Display Hardware |
|
|
136 | (1) |
|
|
137 | (1) |
|
|
138 | (2) |
|
Understanding Types of Drivers |
|
|
138 | (1) |
|
Locating and Installing Drivers |
|
|
139 | (1) |
|
|
140 | (1) |
|
|
140 | (1) |
|
|
141 | (2) |
Chapter 7 Managing Files |
|
143 | (24) |
|
Understanding Where Things Go |
|
|
144 | (5) |
|
User Files vs. System Files |
|
|
144 | (2) |
|
The Filesystem Hierarchy Standard |
|
|
146 | (1) |
|
Important Directories and Their Contents |
|
|
147 | (2) |
|
Exploring Files and Directories |
|
|
149 | (5) |
|
|
149 | (2) |
|
|
151 | (1) |
|
Using Absolute and Relative File References |
|
|
152 | (2) |
|
|
154 | (7) |
|
|
154 | (1) |
|
|
155 | (2) |
|
Moving and Renaming Files |
|
|
157 | (1) |
|
|
157 | (2) |
|
|
159 | (1) |
|
|
160 | (1) |
|
Understanding Case Sensitivity |
|
|
160 | (1) |
|
|
161 | (3) |
|
|
161 | (1) |
|
|
162 | (1) |
|
|
163 | (1) |
|
|
164 | (1) |
|
|
164 | (1) |
|
|
165 | (2) |
Chapter 8 Searching, Extracting, and Archiving Data |
|
167 | (28) |
|
Using Regular Expressions |
|
|
168 | (2) |
|
Searching For and Extracting Data |
|
|
170 | (8) |
|
|
170 | (2) |
|
|
172 | (2) |
|
|
174 | (1) |
|
|
175 | (1) |
|
|
176 | (1) |
|
|
177 | (1) |
|
Redirecting Input and Output |
|
|
178 | (5) |
|
Using Basic Redirection Operators |
|
|
178 | (3) |
|
|
181 | (1) |
|
|
182 | (1) |
|
|
183 | (8) |
|
|
183 | (4) |
|
|
187 | (1) |
|
|
188 | (3) |
|
|
191 | (1) |
|
|
191 | (2) |
|
|
193 | (2) |
Chapter 9 Exploring Processes and Process Data |
|
195 | (20) |
|
Understanding Package Management |
|
|
196 | (6) |
|
Linux Package Management Principles |
|
|
196 | (1) |
|
Understanding Package Systems |
|
|
197 | (2) |
|
|
199 | (1) |
|
|
200 | (2) |
|
Understanding the Process Hierarchy |
|
|
202 | (1) |
|
Identifying Running Processes |
|
|
203 | (5) |
|
Using ps to Identify Processes |
|
|
203 | (2) |
|
Using top to Identify Processes |
|
|
205 | (2) |
|
|
207 | (1) |
|
|
208 | (3) |
|
|
209 | (1) |
|
Producing More Verbose Log File Entries |
|
|
210 | (1) |
|
Examining the Kernel Ring Buffer |
|
|
211 | (1) |
|
|
211 | (1) |
|
|
212 | (1) |
|
|
213 | (2) |
Chapter 10 Editing Files |
|
215 | (18) |
|
Understanding the Role of Text Files |
|
|
216 | (2) |
|
|
218 | (1) |
|
|
219 | (5) |
|
Using Text Editor Conventions |
|
|
221 | (1) |
|
Exploring Basic nano Text-Editing Procedures |
|
|
221 | (2) |
|
Saving Your Changes from nano |
|
|
223 | (1) |
|
|
224 | (6) |
|
|
224 | (2) |
|
Exploring Basic vi Text-Editing Procedures |
|
|
226 | (3) |
|
Saving Your Changes from vi |
|
|
229 | (1) |
|
|
230 | (1) |
|
|
230 | (1) |
|
|
231 | (2) |
Chapter 11 Creating Scripts |
|
233 | (18) |
|
|
234 | (1) |
|
|
235 | (2) |
|
|
237 | (1) |
|
|
238 | (3) |
|
Using Conditional Expressions |
|
|
241 | (2) |
|
|
243 | (1) |
|
|
244 | (1) |
|
Setting the Script's Exit Value |
|
|
245 | (1) |
|
|
246 | (1) |
|
|
246 | (2) |
|
|
248 | (3) |
Chapter 12 Understanding Basic Security |
|
251 | (22) |
|
|
252 | (7) |
|
Understanding Account Features |
|
|
253 | (3) |
|
|
256 | (2) |
|
|
258 | (1) |
|
|
259 | (4) |
|
Discovering Your Own Identity |
|
|
260 | (1) |
|
|
261 | (2) |
|
|
263 | (5) |
|
|
263 | (1) |
|
Acquiring root Privileges |
|
|
264 | (2) |
|
Using root Privileges Safely |
|
|
266 | (2) |
|
|
268 | (1) |
|
|
268 | (2) |
|
|
270 | (3) |
Chapter 13 Creating Users and Groups |
|
273 | (26) |
|
|
274 | (9) |
|
Deciding on a Group Strategy |
|
|
274 | (1) |
|
Selecting a Good Password |
|
|
275 | (3) |
|
Creating Accounts Using GUI Tools |
|
|
278 | (2) |
|
Creating Accounts from the Shell |
|
|
280 | (3) |
|
|
283 | (6) |
|
Deciding When to Modify Accounts |
|
|
283 | (1) |
|
Checking for Logged-in Users |
|
|
283 | (1) |
|
Modifying Accounts Using GUI Tools |
|
|
284 | (2) |
|
Modifying Accounts from the Shell |
|
|
286 | (3) |
|
|
289 | (2) |
|
Avoiding Account Deletion Pitfalls |
|
|
289 | (1) |
|
Deleting Accounts Using GUI Tools |
|
|
290 | (1) |
|
Deleting Accounts from the Shell |
|
|
291 | (1) |
|
|
291 | (4) |
|
Managing Groups Using GUI Tools |
|
|
291 | (3) |
|
Managing Groups from the Shell |
|
|
294 | (1) |
|
|
295 | (1) |
|
|
295 | (2) |
|
|
297 | (2) |
Chapter 14 Setting Ownership and Permissions |
|
299 | (20) |
|
|
300 | (4) |
|
|
300 | (1) |
|
Setting Ownership in a File Manager |
|
|
301 | (1) |
|
Setting Ownership in a Shell |
|
|
302 | (2) |
|
|
304 | (6) |
|
Understanding Permissions |
|
|
304 | (4) |
|
Setting Permissions in a File Manager |
|
|
308 | (1) |
|
Setting Permissions in a Shell |
|
|
309 | (1) |
|
|
310 | (1) |
|
Using Special Permission Bits and File Features |
|
|
310 | (5) |
|
|
311 | (2) |
|
Using Special Execute Permissions |
|
|
313 | (1) |
|
|
314 | (1) |
|
|
315 | (1) |
|
|
315 | (1) |
|
|
315 | (2) |
|
|
317 | (2) |
Chapter 15 Managing Network Connections |
|
319 | (22) |
|
Configuring Network Features |
|
|
320 | (9) |
|
|
321 | (2) |
|
|
323 | (6) |
|
Basic Network Troubleshooting |
|
|
329 | (4) |
|
|
330 | (1) |
|
|
331 | (2) |
|
Advanced Network Troubleshooting |
|
|
333 | (4) |
|
|
334 | (3) |
|
|
337 | (1) |
|
|
337 | (1) |
|
|
338 | (1) |
|
|
339 | (2) |
Appendix A Answers to Review Questions |
|
341 | (22) |
|
Chapter 1: Selecting an Operating System |
|
|
342 | (1) |
|
Chapter 2: Understanding Software Licensing |
|
|
343 | (1) |
|
Chapter 3: Investigating Linux's Principles and Philosophy |
|
|
344 | (2) |
|
Chapter 4: Using Common Linux Programs |
|
|
346 | (1) |
|
Chapter 5: Getting to Know the Command Line |
|
|
347 | (1) |
|
Chapter 6: Managing Hardware |
|
|
348 | (1) |
|
Chapter 7: Managing Files |
|
|
349 | (2) |
|
Chapter 8: Searching, Extracting, and Archiving Data |
|
|
351 | (1) |
|
Chapter 9: Exploring Processes and Process Data |
|
|
352 | (1) |
|
Chapter 10: Editing Files |
|
|
353 | (1) |
|
Chapter 11: Creating Scripts |
|
|
354 | (2) |
|
Chapter 12: Understanding Basic Security |
|
|
356 | (1) |
|
Chapter 13: Creating Users and Groups |
|
|
357 | (1) |
|
Chapter 14: Setting Ownership and Permissions |
|
|
358 | (1) |
|
Chapter 15: Managing Network Connections |
|
|
359 | (4) |
Appendix B Setting Up a Linux Environment |
|
363 | (2) |
Index |
|
365 | |