I'm a Unix sysadmin with 15 years' experience. I know very little about NT.
I had hope when, in the Preface, the authors said they were Unix fans. However, the people who wrote this book (and proofread it) are clearly not experienced Unix users.
The Unix section of the book contains errors, omissions, and misunderstandings.
The text doesn't describe Unix pipes at all, yet it's one of the features that makes Unix such a powerful O/S. The use of pipes in the example on p.12 is good; but, the book incorrectly uses ">lp" in place of the final pipe needed, as if the authors thought "lp" were some Unix-equivalent magic DOS printer file handle like PRN.
The problems start in the Preface, on page xxxvi, under the title "Where to get recent Information". The authors provide a web address that points nowhere. Even the online preface at Addison-Wesley also has the same incorrect link to a nonexistent web page.
Things recovered (the o! verviews were good) until I hit the explanation of "vi" as having a "limited capability" for pattern matching (p. 106). I think not. The pattern matching capbilities of "vi" and "sed" are virtually identical. "Sed" has a more powerful *scripting* syntax.
The book incorrectly states that multiple words in a pattern must be enclosed in double quotes. Wrong; this doesn't work at all. Try it in "vi" or "ed". Perhaps the author was thinking of multiple words passed to the *shell* need to be in quotes?
Next it calls "sed" and "awk" part of the "shell command set". Wrong again -- both are stand-alone programs that you can call even if you don't have any shell running at all (e.g. from C programs or Perl scripts). Then the text hammers the final nail home by saying that "e.g. $, /, and so on" are "regular expressions" that must be escaped when starting a s! earch. Wrong. Those are just characters, not "regula! r expressions". The *entire* search string, words and all, is the regular expression, and those characters have special meaning no matter where they occur in the regular expression.
On page 119 they misleadingly state that the Korn shell has the "richest set of built-in facilities", then give incorrect examples of how "case" is missing in the C shell (it's called "switch" in csh), "export" is missing in the C shell (it's called "setenv" in csh), etc.
On page 122 they incorrectly describe stdin, stdout, and stderr.
On page 123 they incorrectly describe the purpose of "export" and incorrectly offer "set" as its CSH equivalent.
On page 126 they incorrectly (three times!) give the wrong syntax for the first line of an executable shell script. They use the incorrect syntax in the diagrams, too. On page 132/133 they alternate between the wrong and right "#!" syntaxes in their examples, in! dicating that their proofreader didn't understand Unix either.
On page 127 they give unnecessary general write permissions to a file. Anyone following this example in the book would create a script that anyone could change, with possibly dangerous results -- this is a security hole.
On page 131 they talk about a file "one or more bits" in size. I don't think even NT can have a one-bit file. Byte, yes. Bit, no.
The p.135 description of awk as "a series of scripting calls that can easily be interspersed with Korn shell scripts" is techno-nonsense.
On p.171 they vaguely state that Unix zombie processes originate through inheritance of "the parent's base characteristics". What does that mean? If the parent processes were alcoholics, the children will be too? :-)
I can see why the authors eventually replaced their Unix desktop with an NT desktop. They didn't really know what made Unix special.