Brian W. Kernighan是貝爾實驗室計算科學(xué)研究中心高級研究人員,著名的計算機(jī)科學(xué)家。他參加了UNIX系統(tǒng)、C語言、AWK語言和許多其他系統(tǒng)的開發(fā),同時出版了許多在計算機(jī)領(lǐng)域具有影響的著作,包括《TheElements of Programming Style》、《The Practice of Programming》等。 RobPike,目前谷歌公司最著名的軟件工程師之一,曾是貝爾實驗室Unix開發(fā)團(tuán)隊成員,Plan9操作系統(tǒng)開發(fā)的主要領(lǐng)導(dǎo)人,Inferno操作系統(tǒng)開發(fā)的主要領(lǐng)導(dǎo)人。他是締造Go語言和Limbo語言的核心人物。
圖書目錄
CONTENTS1. 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 I/O 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 I/O 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 I/O 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; input/output 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