The UNIX Programming Environment

Brian W. Kernighan, Rob Pike

Publisher: Prentice Hall, 1984, 357 pages

ISBN: 0-13-937681-X

Keywords: Programming

Last modified: June 9, 2021, 6:02 p.m.

Designed for first-time and experienced users, this book describes the UNIX® programming environment and philosophy in detail. Readers will gain an understanding not only of how to use the system, its components, and the programs, but also how these fit into the total environment.

  1. UNIX for Beginners
    1. Getting started
    2. Day-to-day use: files and common commands
    3. More about files: directories
    4. The shell
    5. The rest of the UNIX system
  2. The File System
    1. The basics of files
    2. What's in a file?
    3. Directories and filenames
    4. Permissions
    5. Inodes
    6. The directory hierarchy
    7. Devices
  3. Using the Shell
    1. Command line structure
    2. Metacharacters
    3. Creating new commands
    4. Command arguments and parameters
    5. Program output as arguments
    6. Shell variables
    7. More on I/O redirection
    8. Looping in shell programs
    9. bundle: putting it all together
    10. Why a programmable shell
  4. Filters
    1. The grep family
    2. Other filters
    3. The stream editor sed
    4. The awk pattern scanning and processing language
    5. Good files and good filters
  5. Shell Programming
    1. Customizing the cal command
    2. Which command is which?
    3. While and until loops: watching for things
    4. Traps: catching interrupts
    5. Replacing a file: overwrite
    6. zap: killing processes by name
    7. The pick command: blank vs. arguments
    8. The news command: community service messages
    9. get and put: tracking file changes
    10. A look back
  6. Programming with Standard I/O
    1. Standard input and output: vis
    2. Program arguments: vis version 2
    3. File access: vis version 3
    4. A screen-at-a-time printer: p
    5. An example: pick
    6. On bugs and debugging
    7. An example: zap
    8. An interactive file comparison program: idiff
    9. Accessing the environment
  7. UNIX System Calls
    1. Low-level I/O
    2. File system: directories
    3. File system: inodes
    4. Processes
    5. Signals and interrupts
  8. Program Development
    1. Stage 1: A four-function calculator
    2. Stage 2: Variables and error recovery
    3. Stage 3: Arbitrary variable names; built-in functions
    4. Stage 4: Compilation into a machine
    5. Stage 5: Control flow and relational operators
    6. Stage 6: Functions and procedures; input/output
    7. Performance evaluation
    8. A look back
  9. Document Preparation
    1. The ms macro package
    2. The troff level
    3. The tbl and eqn preprocessors
    4. The manual page
    5. Other document preparation tools
  10. Epilog
  • Appendix 1: Editor Summary
  • Appendix 2: hoc Manual
  • Appendix 3: hoc Listing


The UNIX Programming Environment

Reviewed by Roland Buresund

Outstanding ********* (9 out of 10)

Last modified: May 21, 2007, 2:47 a.m.

When you're finished with K&R, you need to know something about UNIX… This is the book about C in UNIX. A classical text.


There are currently no comments

New Comment


required (not published)