Brian W. Kernighan
是贝尔实验室计算科学研究中心高级研究人员,著名的计算机科学家。他参加了UNIX系统、C语言、AWK语言和许多其他系统的开发,同时出版了许多在计算机领域具有影响的著作,包括《The
Elements of Programming Style》、《The Practice of Programming》等。 Rob
Pike,目前谷歌公司最著名的软件工程师之一,曾是贝尔实验室Unix开发团队成员,Plan9操作系统开发的主要领导人,Inferno操作系统开发的主要领导人。他是缔造Go语言和Limbo语言的核心人物。
目錄:
CONTENTS
1. UNIX for Beginners
1.1 Getting started
1.2 Day-to-day use: files and common commands
1.3 More about files: directories
1.4 The shell
1.5 The rest of the UNIX system
2. The File System
2.1 The basics of files
2.2 What''s in a file?
2.3 Directories and filenames
2.4 Permissions
2.5 Inodes
2.6 The directory hierarchy
2.7 Devices
3. Using the Shell
3.1 Command line structure
3.2 Metacharacters
3.3 Creating new commands
3.4 Command arguments and parameters
3.5 Program output as arguments
3.6 Shell variables
3.7 More on IO redirection
3.8 Looping in shell programs
3.9 bundle: putting it all together
3.10 Why a programmable shell?
4. Filters
4.1 The grep family
4.2 Other filters
4.3 The stream editor sed
4.4 The awk pattern scanning and processing language
4.5 Good files and good filters
5. Shell Programming
5.1 Customizing the cal command
5.2 Which command is which?
5.3 while and until loops: watching for things
5.4 Traps: catching interrupts
5.5 Replacing a file: overwrite
5.6 zap: killing processes by name
5.7 The pick command: blanks vs. arguments
5.8 The news command: community service messages
5.9 get and put: tracking file changes
5.10 A look back
6. Programming with Standard IO
6.1 Standard input and output: vis
6.2 Program arguments: vis version 2
6.3 File access: vis version 3
6.4 A screen-at-a-time printer: p
6.5 An example: pick
6.6 On bugs and debugging
6.7 An example: zap
6.8 An interactive file comparison program: idiff
6.9 Accessing the environment
7. UNIX System Calls
7.1 Low-level IO
7.2 File system: directories
7.3 File system: inodes
7.4 Processes
7.5 Signals and interrupts
8. Program Development
8.1 Stage 1: A four-function calculator
8.2 Stage 2: Variables and error recovery
8.3 Stage 3: Arbitrary variable names; built-in functions
8.4 Stage 4: Compilation into a machine
8.5 Stage 5: Control flow and relational operators
8.6 Stage 6: Functions and procedures; inputoutput
8.7 Performance evaluation
8.8 A look back
9. Document Preparation
9.1 The ms macro package
9.2 The troff level
9.3 The tbl and eqn preprocessors
9.4 The manual page
9.5 Other document preparation tools
10. Epilog
Appendix 1: Editor Summary
Appendix 2: hoc Manual
Appendix 3: hoc Listing
Index