UNIX Power Tools, 2nd Edition by Jerry Peek, Tim O'Reilly, and Mike Loukides Following are the changes made in the 6/00 printing: Here's the 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 (83) The text used to read: "stty eraseZ" It now reads: "stty erase Z" (243) The text used to read: "csh and bash have pushd and popd commands make this a lot easier." It now reads: "csh and bash have pushd and popd commands to make this a lot easier." [269] The part of the code that used to read: "$@" Now reads: ${1+"$@"} <270> The following text was added to the top of the page: "The ${1+"$@"} passes in quoted filenames from the command line without breaking them into pieces at the spaces. This is a workaround for differences in the way some old Bourne shells handle an empty "$@" parameter. {297} The following line of code was changed from roman to bold: % rm /tmp/file[12] <341> The text used to read: "To copy an archive to another directory, use the -o option, followed by the name of the destination directory. (This is one of the nicer features of cpio.)" It now reads: "To copy an archive to another directory, use the -p option, followed by the name of the destination directory. (On some versions of cpio, this top-level destination directory must already exist.) <388> The text used to read: "Group membership is an important part of UNIX security. All users are members of one or more groups, as determined by your entry in /etc/passwd..." It now reads: "Group membership is important for UNIX security. All users are members of one or more groups, as specified in the /etc/passwd..." (388) The text used to read: "Or use ypcat group | grep 100..." It now reads: "[Or use ypcat group | grep 100..." {388} The text used to read: "[Or ypcat group | grep mike1..." It now reads: "[Or ypcat group | grep mikel..." <388> The text used to read: "...use the newgrp command." It now reads: "...use the newgrp command to change your primary group." <388> The following text replaced the paragraph starting with "(System V even lets you change...": "newgrp starts a subshell (38.04). Type exit to leave the subshell. newgroup can be important for another reason: your primary group may own any new files you create (If you can't use newgrp, the chgrp (1.23) command will change a file's group owner.) (You may be able to change to groups that you don't belong to by giving a group password. These are rarely used--usually the password field has a *, which means there are no valid passwords for the group.)" <424> The text used to read: "...use the command df -t 4.2." It now reads: "use df -t 4.2." <425> The text used to read: "...produces a significantly nicer report..." It now reads: "...produces a report..." <425> The paragraph beginning with "This command shows..." was replaced by the following text: "df shows that the current directory and all its subdirectories occupy about 2.5 MB (2634 KB). The biggest directories in this group are stuff and howard, which have a total of 888 KB and 868 KB, respectively. The total for each directory includes the totals for any subdirectories, as well as files in the directory itself. For instance, the two subdirectories private and work contribute 65 KB to howard itself. (So, to get the grand total of 2634, du adds 107, 888, 868, and 769, plus files in the top-level directory.) du does not show individual files as separate items unless you use its -a option. Note that system V reports disk usage in 512-byte blocks, not KB." <843> The following paragraph was added before the paragraph beginning with "The advantages of getopt...": "Some old Bourne shells have problems with an empty "$@" parameter (46.07). If the opttest script doesn't work with an empty command line, as in the first example above, you can change the "$@" in the script to ${1+"$@"}." (901) The following sidenote was added above "2>&1 45.21": "$@" 44.15 (1034) The index entry under $ (dollar sign) used to read: $@, 838, 842, 884, 899, 926 It now reads: "$@", 838, 842, 884, 899, 926 <1075> The paragraph beginning with "Whenever possible, our books..." was removed from the colophon.