|
Part 1 Introduction and background |
|
|
1 | (8) |
|
|
3 | (3) |
|
|
6 | (3) |
|
Part 2 Installing Unix and Perl |
|
|
9 | (8) |
|
2.1 What do I need in order to learn Unix and Perl? |
|
|
11 | (2) |
|
2.2 Installing Linux on a PC |
|
|
13 | (2) |
|
2.3 Installing a code editor |
|
|
15 | (2) |
|
|
17 | (88) |
|
|
19 | (1) |
|
|
20 | (2) |
|
3.3 The Unix command prompt |
|
|
22 | (2) |
|
3.4 Your first Unix command |
|
|
24 | (2) |
|
3.5 The hierarchy of a Unix filesystem |
|
|
26 | (2) |
|
3.6 Finding out where you are in the filesystem |
|
|
28 | (1) |
|
3.7 How to navigate a Unix filesystem |
|
|
29 | (3) |
|
3.8 Absolute and relative paths |
|
|
32 | (2) |
|
3.9 Working with your home directory |
|
|
34 | (2) |
|
|
36 | (2) |
|
3.11 Environment variables |
|
|
38 | (2) |
|
3.12 Introduction to command-line options |
|
|
40 | (4) |
|
|
44 | (3) |
|
3.14 Working with directories |
|
|
47 | (3) |
|
3.15 The importance of saving keystrokes |
|
|
50 | (5) |
|
3.16 Moving and renaming files |
|
|
55 | (4) |
|
3.17 Moving and renaming directories |
|
|
59 | (2) |
|
|
61 | (2) |
|
3.19 How to copy tiles and directories |
|
|
63 | (5) |
|
3.20 Working with text files |
|
|
68 | (3) |
|
3.21 Introduction to aliases |
|
|
71 | (5) |
|
|
76 | (4) |
|
3.23 Automating Unix commands |
|
|
80 | (3) |
|
3.24 How to hide files and find hidden files |
|
|
83 | (3) |
|
3.25 Creating a configuration file |
|
|
86 | (5) |
|
3.26 Programming with Unix |
|
|
91 | (2) |
|
3.27 Unix file permissions |
|
|
93 | (3) |
|
3.28 How to specify which directories contain programs |
|
|
96 | (4) |
|
3.29 Creating useful shell scripts |
|
|
100 | (3) |
|
|
103 | (2) |
|
|
105 | (152) |
|
|
107 | (3) |
|
|
110 | (4) |
|
|
114 | (3) |
|
|
117 | (6) |
|
|
123 | (2) |
|
4.6 Conditional statements |
|
|
125 | (7) |
|
|
132 | (6) |
|
|
138 | (3) |
|
|
141 | (6) |
|
4.10 Dealing with special characters |
|
|
147 | (2) |
|
|
149 | (7) |
|
4.12 The transliteration operator |
|
|
156 | (4) |
|
|
160 | (3) |
|
4.14 Introduction to Arrays |
|
|
163 | (6) |
|
|
169 | (7) |
|
|
176 | (4) |
|
4.17 Defined and undefined variables |
|
|
180 | (3) |
|
|
183 | (4) |
|
4.19 Introduction to loops |
|
|
187 | (5) |
|
|
192 | (5) |
|
|
197 | (5) |
|
4.22 Data input and output |
|
|
202 | (5) |
|
4.23 Reading and writing files |
|
|
207 | (7) |
|
4.24 Introduction to hashes |
|
|
214 | (6) |
|
|
220 | (5) |
|
4.26 Introduction to regular expressions |
|
|
225 | (2) |
|
4.27 Regular expression metacharacters |
|
|
227 | (8) |
|
4.28 Working with regular expressions |
|
|
235 | (6) |
|
4.29 Interacting with other programs |
|
|
241 | (5) |
|
4.30 Using functions and subroutines |
|
|
246 | (5) |
|
4.31 Returning data from a subroutine |
|
|
251 | (4) |
|
|
255 | (2) |
|
|
257 | (36) |
|
5.1 Introduction to advanced Unix |
|
|
259 | (4) |
|
5.2 Introduction to process control |
|
|
263 | (6) |
|
|
269 | (5) |
|
5.4 Viewing and controlling program output |
|
|
274 | (2) |
|
5.5 Redirecting input and output |
|
|
276 | (6) |
|
|
282 | (3) |
|
5.7 Connecting commands with pipelines |
|
|
285 | (4) |
|
5.8 Advanced text manipulation |
|
|
289 | (4) |
|
|
293 | (50) |
|
6.1 Regular expressions revisited |
|
|
295 | (5) |
|
|
300 | (6) |
|
6.3 References and two-dimensional arrays |
|
|
306 | (8) |
|
6.4 Records and other hash references |
|
|
314 | (5) |
|
6.5 Using references with subroutines |
|
|
319 | (2) |
|
6.6 Complex data structures |
|
|
321 | (7) |
|
6.7 Adding command-line options |
|
|
328 | (5) |
|
|
333 | (7) |
|
|
340 | (3) |
|
Part 7 Programming topics |
|
|
343 | (50) |
|
|
345 | (6) |
|
7.2 Common error messages |
|
|
351 | (4) |
|
|
355 | (6) |
|
|
361 | (7) |
|
|
368 | (9) |
|
|
377 | (5) |
|
|
382 | (3) |
|
7.8 Working with other people's data |
|
|
385 | (4) |
|
|
389 | (4) |
Appendix |
|
393 | (17) |
Index |
|
410 | |