[comp.unix.admin] Seeking recommendation for UNIX textbook

barrett@jhunix.HCF.JHU.EDU (Dan Barrett) (11/13/90)

	I am seeking a UNIX textbook for an introductory course in C
programming.  (I already have a C book.)  Does there exist a book that
meets my requirements (below)?  I'd like to hear from expert users
and sysadmins especially.

	I want a book that gets the reader into the UNIX "philosophy" -- an
environment for speedy program development, with dozens of tools (programs)
that can be combined (via pipes and shell scripts) to create new tools.

	In short:  I want a book that an expert UNIX user would read and
say, "I wish this had been my first UNIX book!!"

The book should have the following features:

o	Friendly for beginning computer science students.  These students
	already know how to program in a high-level language.

o	Covers Berkeley UNIX as well as (or instead of) System V.  (We are
	using a Berkeley system for the course.)

o	Written recently, so ancient practices are kept to a minimum.  (For
	example, it should NOT teach a line editor like "ed" as the first
	editor.)

	[Yes, I realize that regular expressions are vitally important for
	UNIX use.  But I'd rather cover them later, and not force students
	to learn a line editor in this day and age.]

o	Covers the Korn shell and the C shell, as well as Bourne.  Covers
	shell-scripting in all these languages (or at least csh and sh).

o	Clearly specifies the differences between the shell and the OS.

	For example:

	-	It CLEARLY explains that wildcards and other metacharacters
		are part of the shell, and therefore no parsing needs to be
		built into individual programs.

	-	It FORMALLY explains the order in which a command line is
		parsed by the shell.

	-	It discusses what happens (fork/exec, with child retaining
		the environment of the parent) when a command is executed
		from the shell... but a FRIENDLY discussion.

		Here, it might explain why "cd" is built into the shell.

	-	It explains why quoting is necessary, together with a
		discussion of single, double, and back quotes, and the
		backslash.

o	Talks a lot about stream editing (use of pipes).  Lots of practical
	examples.

o	Has a reference guide for the more common UNIX commands.

o	Emacs coverage would be nice.  (Am I dreaming?)

o	An explanation of the C compiler system (cpp, cc, as, ld) would
	be nice, but not necessary.

Does this book exist?  The closest I've found is Sobell's "A Practical Guide
to the UNIX System", second edition (Benjamin-Cummings, 1989).

	Thank you for your help!!  Please:  E-MAIL REPLIES ONLY, since I
do not regularly read these groups.

                                                        Dan

 //////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
| Dan Barrett     -      Systems Administrator, Computer Science Department |
| The Johns Hopkins University, 34th and Charles Sts., Baltimore, MD  21218 |
| INTERNET:   barrett@cs.jhu.edu           |                                |
| COMPUSERVE: >internet:barrett@cs.jhu.edu | UUCP:   barrett@jhunix.UUCP    |
 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/////////////////////////////////////