Unix Power Tools, 3rd Edition by Shelley Powers, Jerry Peek, Tim O'Reilly, Mike Loukides, et. al. The unconfirmed error reports are from readers. They have not yet been approved or disproved by the author or editor and represent solely the opinion of the reader. Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem ?page-number?: reader question or request for clarification This page was updated April 10, 2008. UNCONFIRMED errors and comments from readers: (7) second bullet; In this sentence: A interactive command, running 'inside' a tty ,... I suggest that there be an xref link for the word 'tty'. It has not been defined yet, I think, and it's an important concept. (11) next-to-last paragraph; In this sentence: "But there's a catch: the Mac uses a carriage return ASCII character 015 to mark the end of each line,while Unix uses a linefeed (ASCII 012)." The phrase "ASCII 015" should be in parentheses. (12 (and others?)) command-line examples; The Preface shows that this book uses both constant-width Italic and boldfaced constant-width Italic in examples. If I understand the convention, then the user input in the examples on this page (the filenames file.mac, file.unix, file1, file2, file3) should be boldfaced. There may be other cases of the same problem in articles taken directly from the second edition. I don't think we used boldfaced constant-width italic in UPT2. So I won't report every occurrence of this problem... but you might want to search for it. {16} 1.11 Filenames; The text says Unix filenames are *always* case sensitive but this is not the case with Mac OS X using the HFS+ filesystem which is case preserving but not case sensitive. (18) in text just below Table 1-1, in 'file, but are not actually...' delete 'are' i.e., so it reads 'file, but not actually' [19] next-to-last paragraph; In the second sentence below: "There is one exception to these wildcarding rules. Wildcards never match /, which is both the name of the filesystem root (1.14 and the character used to separate directory names in a path (1.16). The only way to match on this character is to escape it using the backslash character (\)." the backslash business seems like it may be wrong. I don't have a Unix system handy (I am using Windows right now), but I would suggest that the author check simple shells like ash to be sure that backslashes work absolutely everywhere. (21) 1st paragraph; "Most" is spelled "mfost" in "...because it starts with the mfost specific part.." (24) 1st paragraph; It should be "/usr/mike" instead of "/u/mike" in "It typically has a name like /u/mike or /home/mike." (28) First line; In the sentence "These three scripting languages seem so prevelant within the Unix world that I think of them as the Unix Scripting language triumvirate." either the word "Scripting" should start with a lowercase letter, or the phrase "Unix Scripting language triumvirate" should have all words initial-capped. are to an article that explains more about the concept or problem printed in gray." The text is gray. But the article number reference, like (1.23), isn't there. I thought this might be a problem in the PDF file, but the ch01.pdf file shows a link properly. Since the sentence above is an introductory sentence meant to show an in- sentence link, I've marked this as a (possible) serious problem. (31) 2nd paragraph; In this sentence: "Unix boxes are, by default, characters-based systems." I think that "characters-based" should be "character-based". At least, I've always seen it written that way. (31) Third paragraph; The paragraph starts: "Though Darwin doesn't come with X Windows, ..." The rules may have changed. But, when the X Window System came out (and since then, in the ORA X books too?), it was written clearly somewhere (in the X documentation, I think) that the system is *not* to be called "X Windows". It's to be called "X" or "the X Window System". You might want to check this yourself and, if it's true, check the rest of the book. (One place to start your check might be http://www.x.org/X11.htm. Also try typing "man x" or "man X" on Unix systems.) I won't report this again (if I remember not to, at least :). (32) "The Authors" section, first paragraph; In this fragment of text: "came from three authors: Jerry Peek, Tim O'Reilly, and Mike Loukides. They're work is still present" change "They're" to "Their". (32) "Typefaces and Other Conventions" section; In the following section, if the ampersand (&) appears in the printed book, it probably shouldn't: "&... Stands for text (usually computer output) that's been omitted for clarity or to save space." {34} top of page, 1st line of example: % whereis more should be: % whereis cat <38> The last line of article 2.8 mentions "the CD-ROM". The third edition has no CD-ROM! A quick search through the book's files showed this same problem in other articles. Maybe this needs to be replaced with a globe icon or a mention of the source code on the Internet. (38) 1st paragraph; I'm not sure if this is an error, but it might be. In the list of author acknowledgements, the last name is "Jay Ts". I wonder if that should be something else, like "Jay Tso"? You might want to check. (38-40) In article 2.9, some occurrences of the commands "info" and "man" should be in Italics {38} In article 2.9, the phrase "some form of paging system such as cat" should read either "some form of paging system such as less" or "some form of paging system such as more" -- and "less" or "more" should be in Italics. (50) article 3.6, last line says "What I mean is:"... but the article has *two* authors. Maybe this needs to be changed to "What we mean is:". If you agree, then other articles (many others in chapter 3, for instance) may also need that change. But each change needs to be considered on its own: for instance, "my .cshrc file" may not make sense written as "our .cshrc file". (80) last paragraph: I am not sure what "special-backslashed special-prompt characters" are? Maybe "backslashed prompt characters" or "backslashed sequences" would be better. The shell's manual pages probably have a term for these. (Sorry, I don't have access to any manpages right now.) (84) The title of article 4.14 is broken onto two lines, but (in my Acrobat Reader, at least) it doesn't seem to need two lines. Also, should "Than" be capitalized? (My grammer aint great... :) dirs in Your Prompt: Better Than $cwd <88> Last sentence on the page: The angle-brackets around the quotes should be removed. If a naive reader types this command, it could destroy files: echo <">$explan<"> I think those brackets are from the old days of writing the book source in troff. (It meant: "use straight quotes, not curly quotes, for this doublequote character.") You might want to search all of the book files for that sequence; it is probably wrong anywhere it's used. (89) last bullet item: the "command-k" is in a boldfaced variable-width typeface. I am not sure this fits the font conventions listed in the Preface; should it look like other key combinations (CTRL-d, etc.)? Also, the sentence starting with "It also helps to stop 'burn-in' damage" is not clear. "It" should be replaced with "The clear command" or simply "clear" (in Italics). This will make it obvious that "It" doesn't refer to the Mac's command-k command. (108) The columns of the second example aren't aligned (in my Acrobat Reader, at least). They will work as shown, but the two "true" values should probably be aligned. (113) article 5.16, last line: I think you should change "interpolation" to "interpretation". (116) The third paragraph says that "Unreadable" does have a practical use, but doesn't say what it is! (If I remember right, it is a good way to tell that "there is activity in this terminal" -- while you're monitoring a build in progress, for instance -- without using a normal-sized xterm window that clutters the display.) <121> I believe that this page is missing a globe icon for the dedent script (which doesn't seem to be shown on this page, either; that may be another error). (128) article 6.2, last paragraph, refers to ORA's X Volume 3. I believe that book is out of print? Maybe this should refer to Volume 3M. (131) The "*" footnote refers to ORA's X Volume 4. It's out of print, too, I think. Maybe this information is still included in Volume 4M? I don't know. (141) Last paragraph reads: "If you have ssh (1.21), its X forwarding..." Maybe I just missed it in my quick scan through the book... but it seems like there must be a better cross-reference for ssh than article 1.21. Chapter 51 doesn't seem to introduce ssh and its features (like X forwarding); if there isn't an overview of ssh somewhere else, there should be. <141> Footnote with "*", reads: "Most of the recent distributions of Unix default to the use of ssh as a secure replacement for the various r* command, (rsh, rcp, rlogin, et al.), so you may want to skip ahead to Chapter 5." That footnote has two typos. First, change "various r* command," to "various r* commands" (plural, and without the comma). Second, "skip ahead to Chapter 5" should probably be changed to "skip ahead to Chapter 51"... or maybe "skip back to Chapter 5"? Also, the footnote doesn't make complete sense. Just because Unix implementations replace r* commands with ssh, why should readers skip to another chapter? Giving the chapter title, or a brief description of the chapter, could help them understand. (154) article 9.1, last sentence ends: "take a peek at chapter Chapter 9." 'nuff said. ;-) (159) First paragraph ends: "If you don't see the escape sequences at all,take a look at Chapter 8 for another way to configure color ls." This page is part of Chapter 8! How about a more specific cross-reference? {164} Next to last paragraph says "[If you use tcsh, it has a built-in ls called ls F..." The space in "ls -F" is probably incorrect; I think it should be "ls-F". (197) The first example in article 9.23 is: %ls -li /usr/bin/at 8041 -r-sr-xr-x 4 root wheel 19540 Apr 21 2001 /usr/bin/at* The "*" at the end of the second line seems to show that this output is from "ls -liF" instead of "ls -li". The star (*) should probably be deleted because it doesn't add any useful information: the mode bits near the start of the line are more useful. <214> The reference to Figure 10-1 is wrong. The actual Figure 10-1 seems to be missing! The book's first two editions had *two* related figures: the first for "cp -r" and the second for "tar". In the third edition, the "cp -r" article (10.12) seems to be referring to the "tar" figure, which is several pages later in article (10.13). This is a major error that will confuse readers; the "cp -r" figure is different than the "tar" figure, and the contrast between the two figures is important. <226> The next-to-last paragraph and the last example in article 11.6 mention the "!" (exclamation point) script but imply that it's a standard part of Unix, like process substitution. It's a script that comes with this book, and the reader has to install the script before it will work. So I think it should have a cross-reference here. (237) The last line of article 12.3 is a bit misleading because it seems to say that "less" escapes nonprinting characters in the same way that cat -v and od -c do (in article 12.4). It uses a different method: highlighting and showing the octal or hex value (I forget which) in angle-brackets, like <234>. I think this xref might be changed to read something like: "...because it escapes nonprinting characters with a method somewhat like cat -v and od -c (12.4)." The words "cat -v and od -c" would be greyed in that xref. Another possible fix would be to make article 12.4 explain how "less" escapes nonprinting characters. (250) The first example in article 13.4 has a blank line in the egrep output. It shouldn't. <261> In the first example the highlighting in the hgrep output doesn't appear. There are probably a few other places in the book that use the same highlighting technique: one of the "diff" family (maybe sdiff?), the "less" command, and something else. This might be worth checking the whole book for. (275) in the third complete paragraph is: "But stil,automated deletion commands make me really nervous,..." Change "stil" to "still". (283) The globe icon lists a program named "bzip", but the text doesn't describe it. ("gzip" has an icon on the previous page. Maybe that's what was meant to be here?) I'm guessing that "bzip" should be deleted. (296) The last sentence of article 16.1 has a hardcoded URL for the GNU "spell" utility. Shouldn't this use a globe icon instead, and have the URL coded into the book's web pages -- so it can be updated when/if the location changes? (298) The last example on the page has empty lines before the CTRL-d characters. I don't think it should?? (304) In the second line: "differences in word count between two files..." change "differences" to "difference". (There's only one difference between the two files.) [310] Just got the book (3rd edition). You've probably already heard it from somewhere, but I find that the ":wn" vi command (p. 310, 17.3) does not work on my system (Solaris 8 I believe). <389> end of third paragraph mentions "the disc". This is referring to the CD-ROM, which the third edition doesn't have. I'd suggest a global search for "disc" (we spelled it with a "c" on the end, to distinguish it from a hard disk, which had a "k" on the end, I think). Replace these references with words about the book's web pages or etc. (393) In the first line on page, change "lets" to "let". and 2nd line of paragraph that begins with 'Another solution ....' change "heurestics" to "heuristics" (435) First paragraph, last sentence: change "prevasive" to "pervasive". (437) 6th line of 1st paragraph in Article 23.2: the word is metaphors not metaphores (438) 4th line of 1st paragraph in Article 23.3: change "derviates" to "derivatives" (461) 2nd line of 1st paragraph in BSD: remove one of the 'the' between concatenating and results (467) 2nd line of paragraph starting 'The other three ...' change configuring to configure (476) last paragraph; With -i, cruncher lists ... should read With -i, killall lists ... (477) In the sentence beginning at the end of the 6th line: "The inner **set** of nested.........in zap pass ..." change pass to passes (set is a singular noun) (563) next to last line of section 28.15; remove the word, doesn't {664} vgrep script of section 33.7, "Getting a List of Nonmatching Files"; One could make 2) superfluous by writing: grep -c -e "$pat" "$@" /dev/null | sed -n "s|:0\$||p" | grep -v "/dev/null" in the *) branch. Now, as sole reason for the case statement remains the help message for too few parameters. I tested this on my Linux box (Kubuntu Edgy Eft) only. So there's pretty sure some drawback for this solution. {677} first sed code; On the 4th line of the sed script, you have to add a slash(/) to terminate the "s" command. i.e. a slash is missing at the end of the 4th line of the sed script. (right after the

) [713] below source code; +case "$TERM" in vt100 echo ..... => case "$TERM" in vt100) echo..... ")" missed.. (^________^) (755) first paragraph; ... can handle arbitrary numbers of file descriptiors should be ... can handle arbitrary numbers of file descriptors [764] example below first paragraph; expr "$x" : '\(.....\)' "$x" will produce a syntax error. Should be: expr "$x" : '\(.....\)' \| "$x" (773) 2nd example; The example script is referred to as 'edmaster' until the middle of this page, when it is suddenly referred to as 'edconfig' (824) Section 40.3, 2nd paragraph, lasat sentence; "This happens but not some of the older, more system-specific makes." A phrase seems to be missing between 'happens' and 'but', or between 'not' and 'some'. I can't deduce what was meant. (835) Table 40-2, entry starting with "-O": In the second column, "Forces all documents into specified" seems to be an incom- plete phrase (into specified *what*?). [892] in the script for checking the lock; In chapter 45.36 on page 892, the script creates a lock by writing the process-id to a lockfile. Any other process should fail to continue while this lockfile exists. But if this other process is startet by root, then the lock fails because root has the right to even write to a read-only file. So the lock doesn't work for scripts started by root. {1008} The example in the middle of article 50.12 is missing (at least) its last line.