Am höchsten bewertete kritische Rezension
2 Personen fanden diese Informationen hilfreich
A very poor book
am 14. Mai 2000
Don't buy this book. Not only that; if you receive it as a gift, don't bother reading it.
I made the mistake of judging (and ordering) it by its "Contents". I have ordered a fair number of programming books from Amazon, but this is the first one bad enough to compel me to write a review.
The author is painfully unable to express himself with the clarity required by this kind of book. This leads to confusion and, sometimes, to errors. To compound this, the book seems to have received no proofreading whatsoever.
A few samples, from Chapter 2, "Using find and xargs":
"-print When find finds the files, this prints them to standard output"
"-newer file1 file2 Find files that are newer than file1 but older than file2"
"-size c n Find files by block 'n' size or by character length 'c', which is taken as bytes."
"-mount Use find to find files only on mounted filesystems"
"Find files by modification times
[...] Use the '-' to specify files that have not been accessed in x number of days. Use '+' for files that have been accessed in the last x number of days. To find all files that have been modified in the last five days: $ find / -mtime -5 -print "
pg. 30 -- a masterpiece
"When using the -exec option in find to process files, find passes all the located files to exec to be worked on in one go. Unfortunately on some systems there is only a limited command line length that can be passed to exec before it bombs out after running for a few minutes with an error message. The error message usually says 'Too long on Args list' or 'Args list exceeded'. This is where xargs comes in, especially when using find. Find passes on the located files to xargs and xargs grabs the files in portions and not all in one go, unlike using exec. Thus it can process the first portion of files, do its stuff, then request the next batch of the files and so on."
Well, and so on it goes. I resisted as far as Chapter 5, "Shell input and output". (So, yes, I didn't read the whole book. There is a chance it miraculously becomes excellent after chapter 5 :-)). One more pearl of wisdom (pg. 57):
"Standard error is file descriptor '2'. [...] You may be wondering why there is a special file for errors; well, some people like to keep their errors in a separate file, especially when processing large data files, where a lot of errors might be raised."
I would have laughed, if I hadn't paid for the book. Perhaps I should have read the "Acknowledgements" section before ordering. There, the author says:
"When it comes to writing a book in the end, it's just the author and the keyboard tapping away a merry tune into the early hours of the morning."
Well, that might explain some things. And further:
"I would also like to thank my children Louise and Matthew for their help. Louise for informing me of grammatical errors as I was typing away: thanks Louise!"
Well, it's a pity Matthew apparently doesn't know anything about the shell.
So, learn from my mistake and stay away from this book.