Cameron Newham's Learning the bash Shell is an introduction to the command-line interface most commonly encountered today in server administration and in the terminal application of personal computers running Linux and Mac OS X. As I write this, the most recent edition is the 3rd, published in 2005, which describes bash 3.0. Newham explains such things as how programs communicate with the shell, keyboard navigation commands and shell customization. While he uses some of the old standard Unix programs (e.g. grep, sort) in examples, this is not a book about how to wield the power of Unix-like systems in general. Also, shell scripting is given only a brief mention, and those wanting to write powerful scripts will have to turn to another book (like O'Reilly's Classic Shell Scripting.
I have been using bash for nearly all file management and system administration tasks since 2002, and I still learned a few things here. However, this book is sorely in need of a new edition. The 3rd edition still assumes that the typical newcomer to bash is on a multi-user UNIX system, has access to a Postscript printer from the command line and a magnetic tape drive, and has probably used another shell like tcsh. Surely, even by the 3rd edition's publication date of 2005, most people interested in bash were people who had installed Linux on their personal computers. Also, bash is now at version 4.0, and readers would benefit from a small presentation of what has changed.