The UNIX System

Stephen R. Bourne

Publisher: Addison-Wesley, 1983, 351 pages

ISBN: 0-201-13791-7

Keywords: Operating Systems

Last modified: May 13, 2021, 12:43 a.m.

The UNIX System provides a comprehensive practical introduction for users of the highly acclaimed UNIX operating system developed at Bell Telephone Laboratories Inc., Murray Hill, N.J. All users from novices to experts will find it valuable and readers are assumed to have some familiarity with modern computing systems.

The UNIX System owes it popularity to its simple and elegant design and to the flexibility this provides the programmer. A wide range of well designed tools is available that substantially reduces the time taken to develop working systems. The generality of the approach finds application in environmental ranging from research and education to government and commercial organization.

Steve Bourne of Bell Laboratories, a member of the group responsible for the 7th edition UNIX System, introduces the key components including the file system, text editor and the shell. The C language and document processing tools are also described. Many examples are used throughout the text to illustrate techniques that make the system attractive to use. A comprehensive set of appendices provides a valuable and complete reference.

  1. Introduction
    1. History
    2. The Programming environment
    3. UNIX system concepts
      1. The file system
      2. Processes
      3. The Shell
  2. Getting Started
    1. Logging in
    2. Commands
    3. Terminal characteristics
    4. Documentation
    5. The file system
      1. Simple file manipulation
      2. Manipulating directories
    6. The shell
      1. Pipes and filters
      2. Quoting
      3. Prompts
      4. The shell and login
      5. Review
    7. Useful commands
      1. Communication
      2. System inquiries
      3. Process management
      4. Other commands
      5. Review
  3. Editing Files
    1. The editor ed
      1. Creating files
      2. Line editing
      3. Context searching
      4. Context editing
      5. Pattern matching
      6. Global editing
      7. Miscellaneous
    2. The editor vi
      1. Window control
      2. Cursor control
      3. Additions and deletions
      4. Line editing
      5. Moving material
      6. Review
      7. More advanced features
  4. The Shell
    1. Shell procedures
      1. Control flow — for
      2. Control flow — case
      3. Here documents
      4. Shell variables
      5. Control flow — while and until
      6. Control flow — if
      7. Command grouping
      8. Debugging shell procedures
      9. The man command
    2. Advanced use
      1. Parameter transmission
      2. Parameter substitution
      3. Command substitution
      4. Evaluating and quoting
      5. Error handling
      6. Fault handling
      7. Command execution
      8. Input-output redirection
      9. Invoking the shell
    3. Built-in commands
  5. The C Programming Language
    1. Sample C Programs
      1. A simple program
      2. An octal dump
      3. Average distances
    2. The Language
      1. Lexical considerations
      2. Expressions and operators
      3. Control flow
      4. Functions
      5. Arrays and pointers
      6. Structures and unions
      7. The C preprocessor
      8. The standard C library
      9. Postscript
    3. Program organization and management
      1. Compiling programs
      2. The make command
      3. The lint command
      4. Program libraries
      5. Performance measurement
      6. Miscellaneous tools
    4. Debugging a C program
      1. Debugging a core image
      2. adb requests
      3. adb formats
      4. Setting breakpoints in adb
      5. Address mapping
  6. UNIX System Programming
    1. Argument Conventions
    2. Basic input-output
      1. The open system call
      2. Reading and writing files
    3. The file system revisited
      1. File permissions
      2. Changing file modes
      3. Directory access
      4. Groups
    4. Advance input-output
      1. Creating and removing files
      2. Random access input-output
      3. Status of files
      4. Terminal input-output
      5. Pipes
    5. Processes
      1. Process execution
      2. The fork system call
      3. The wait system call
      4. The exec system call
      5. The exit system call
      6. The environment of a process
    6. Signals and interrupts
      1. Signals
      2. Sending signals
      3. Catching signals
      4. Background processes
  7. Document preparation
    1. nroff and troff
      1. Guidelines for preparing documents
      2. Simple requests
      3. Advanced requests
      4. A macro library
    2. Production tools
    3. Document processing tools
      1. The col command
      2. The diction command
      3. The eqn command
      4. ptx — permuted index generation
      5. The refer command
      6. The spell command
      7. The style command
      8. The tbl command
  8. Data Manipulation Tools
    1. Brief description of tools
      1. awk — report generator
      2. cmp — compare two files
      3. comm — select common lines
      4. diff — file differences
      5. grep — pattern selection
      6. join — combine files
      7. sed — stream editor
      8. sort — sort or merge files
      9. tail — last lines of a file
      10. tr — translate characters
      11. uniq — remove duplicate lines
      12. field — select columns
      13. lex and yacc
    2. Simple examples
      1. maintaining a simple data base
    3. A tennis ladder system
    4. Implementing the field command
  • Appendix 1: Commands
  • Appendix 2: System Calls
  • Appendix 3: C Subroutines
  • Appendix 4: adb Requests
  • Appendix 5: ed Requests
  • Appendix 6: sh Requests
  • Appendix 7: troff Requests
  • Appendix 8: vi Requests
  • Appendix 9: A Macro Library
  • Appendix 10: The ms Macro Library
  • Appendix 11: The ASCII Character Set

Reviews

The UNIX System

Reviewed by Roland Buresund

Very Good ******** (8 out of 10)

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

A classical book. It's short, concise, to the point and bloody brilliant. Of course, you want to program in UNIX, or you wont think so.

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required

captcha

required