Kuro5hin.org: The Essential Linux Bookshelf, Part I: The Unix Programming Environment

“…welcome to the first installment of “The Essential Linux
, a fortnightly review of those books every Linux
user should own. Each review will follow the same structure. After
an introduction, explaining why I chose the book, comes an outline
of the book itself, followed by an attempt to summarise what makes
this book important. In this first installment, we look at
Kernighan and Pike’s “The Unix Programming Environment”.”

“We begin, logically enough, with the chapter “Unix for
Beginners”. This packs a good amount of introductory knowledge into
one longish chapter, and will repay several readings for the
neophyte. Chapter 2 introduces the Unix file system: its basic
structure, underlying concepts, and the commands that manipulate
it. Though outdated in parts, it remains a good general

“Particularly useful are the shell chapters, 3-5. Here is the
core of the Unix Philosophy, clearly and convincingly expressed.
… These three chapters provide a first-rate tutorial on
effectively using and programming the shell. They need
supplementing only by a good man page, and a bit of practice. The
fourth chapter, on “Filters”, is particularly impressive.”

“Two solid chapters on C programming, covering respectively
using the Standard C library and Unix System calls, lead up to an
excellent example of Unix C programming in practice. A complete
system is developed, the hoc mathematical programming language,
that also allows the authors to illustrate the usage of lex, yacc
and make, all very useful Unix tools for programming

Complete Story