194 of 199 people found the following review helpful
Book Review: A Practical Guide to Linux Commands, Editors, and Shell Programming,
This review is from: A Practical Guide to Linux(R) Commands, Editors, and Shell Programming (Paperback)
I recently was fortunate enough to receive a review copy of this book from Prentice Hall publishers, and am happy to submit this review. I found this very large volume (1008 pages!) to be quite interesting and a valuable source of information for both Linux beginners and veterans alike. As the title may suggest, it covers some of the most commonly used Linux commands, the two main editors (Vim and Emacs), and some shell programming techniques with the Bash and tcsh shells. I found it to be quite "distro-neutral", as the material presented should be available on virtually any Linux system, and does not reference distro-specific tools. The book seems very well organized into Parts and Chapters, and there are also some excellent appendices and additional matter at the end of the book, which I'll discuss later in this review.
Part I is entitled "The Linux Operating System", and starts out with some introductory "welcome" and "getting started" material which is good reading for newbies but can easily be skipped by others. The next chapter in this part covers how to use the more commonly used commands such as ls, cp, rm, and tar. This is followed up by a chapter on the Linux filesystem, including the hierarchical layout, directories, pathnames, permissions, and file links. There is a nice section in this chapter which describes what is found in nearly all of the standard directories such as /boot, /etc, /home, /usr, and so on. Also notable here was an excellent description of how to set (and understand!) file and directory permissions. The final chapter in this part provides an introduction to the shell and command line. It covers standard input/output, redirection, pipes, and backgrounding of commands. Most of the information in these first 5 chapters will probably be a review for more experienced Linux users, but they are outstanding reading for newcomers. One thing I did notice as a great feature of the book is that there is a "Chapter Summary" at the end of each chapter which is really excellent, and a list of "Exercises" to help you see and use the information in a more hands-on way.
Part II is called simply "The Editors", and devotes about 60 pages each to Vim and Emacs. A brief history of each is provided, and a pretty good tutorial of basic usage is walked through. Both chapters include a command referance/summary, and some customization tips. Even the well known "debate" about which editor to use is mentioned, although no preference is indicated. For the record, this writer prefers Vim... J There are more in-depth books available to explain each editor in greater detail, but these chapters provide a good introductory lesson.
Part III contains two chapters, one each on the "bash" shell and the "tcsh" shell. Some of the procedures and concepts in this part may well be more information than is desired by many Linux users, but command-line types will want to read all of this material. The differences between these two shells are discussed, and the fact that most users will only need to learn about "bash", as it is normally the default shell on most modern Linux distributions. I found some good information on customizing your shell, and using the "dot files" such as .bash_profile and .bashrc to control things like aliases and your environment variables.
Part IV covers "Programming Tools". The first chapter here discusses programming in C, including the basics of the gcc compiler, using shared libraries, debugging procedures, system calls, and source code management (CVS). It should be noted that this chapter describes the process of writing and compiling programs with C, but is not intended to teach C programming if you don't already understand most of it. The next chapter (11) is a quite extensive (about 100 pages) discussion of programming with the Bash shell. It covers control structures, parameters, variables, loops, arrays, expressions, functions, and builtin commands. Numerous examples are shown to help with understanding the concepts. I would recommend this particular chapter for those wishing to increase their ability to write effective shell scripts for system administration. The final two chapters in Part IV cover the "gawk" and "sed" utilities, which are essential for more advanced text processing and shell scripting. Again, there are numerous excellent examples given which really aid in understanding the material, followed by some suggested excercises for putting your new knowledge to work. This part should be required reading for any system administrator.
Part V is the "Command Reference" section. This is a very complete reference (240 pages) on how to use virtually all Linux utilities and shell builtins, from "at" to "xargs". The layout for each command is presented in the manner of a man page, only much more readable and including excellent notes and examples which are not found in a man page. All options are well explained, and there is extensive use of tables and summaries. This may be the most useful portion of the entire book, and serves both as a great refresher for veterans, and a nice learning process for beginners. The material here is presented in "plain English", which helps a lot.
The remainder of the book is made up of three appendixes, a glossary, and an index. Appendix A is an excellent presentation of "regular expressions", an often little-understood but important skill for system administrators to have. Spend some time reading this one. Appendix B is simply called "Help", and tells you about the wide array of help resources available to a Linux user. Helpful websites are listed, and mailing lists and newsgroups are described. The final Appendix C touches on keeping your system updated, although it is quite limited by only discussing the "yum" and "apt" utilities. This could have been done a little better by including some additional distro tools, and/or more generic ideas for updating. The final two sections of the book are a 50 page Glossary and a 50 page Index, both of which seem quite complete.
Overall I found this book to be quite excellent, and it has earned a spot on the very front of my bookshelf. It covers the real "guts" of Linux - the command line and it's utilities, and does so very well. It's strongest points are the outstanding use of examples, and the Command Reference section. Highly recommended for Linux users of all skill levels. Well done to Mark Sobell and Prentice Hall for this outstanding book!
Sort: Oldest first | Newest first
Showing 1-4 of 4 posts in this discussion
Initial post: May 24, 2007 11:34:48 AM PDT
This is a very comprehensive review, but I was wondering if this book sufficiently adds to, and/or complements his previous book "Practical guide to Linux" and "Unix for mac OS X users". Amazon didn't include a page that allows us to peruse the contents of this book, so going from your (and other reviewers) description, it sounds pretty similar to these other books I mentioned.
Any comments would be appreciated.
In reply to an earlier post on Apr 7, 2010 11:41:31 PM PDT
Alexandros Gezerlis says:
From the author's Preface:
"If you read A Practical Guide to Red Hat ® Linux®: FedoraTM and Red Hat Enterprise Linux, Fourth Edition, or A Practical Guide to Ubuntu Linux®, Second Edition, or a subsequent edition of either book, you will notice some overlap between those books and the one you are reading now. The introduction, the appendix on regular expressions, and the chapters on the utilities (Chapter 3 of this book-not Part V), the filesystem, the Bourne Again Shell (bash), and Perl are very similar in the books. Chapters that appear in this book but not in the other two books include those covering the vim and emacs editors, the TC Shell (tcsh), the AWK and sed languages, the rsync utility, and Part V, which describes 97 of the most useful Linux and Mac OS X utility programs in detail."
Posted on Mar 3, 2011 8:23:09 AM PST
I purchased it after reading the review. It IS good ref book, but I got OpenSUSE 11.3 Linux, 4-disks DVD Installation and Reference Set which comes bundled with bunch of books already. I wish this book be in more "portable" format
Posted on Jun 7, 2011 5:52:12 PM PDT
Clueless Nerd says:
And well done by Dan Clough for an outstanding review. Unlike 9/10 reviews on Amazon that read approximately like "You need this book on your shelf. End of review" you told me exactly what I needed to know. Wish more people around here would put the time and effort into writing a review that you so obviously did....
‹ Previous 1 Next ›