22 February 2012
Book Review--The Linux Command Line: A Complete Introduction
William E. Shotts Jr.
No Starch Press
O’Reilly Publishing provided me access to an electronic copy of this book for review purposes.
The command line can be one of the most intimidating aspects of learning Linux, I know it was for me. And while the command line gives you an awesome amount of power with using Linux, it also makes it entirely to easy to destroy and delete entire directories without trying. It’s like what Uncle Ben said in Spider Man “with great power comes great responsibility.” Learning the command line is one of those things that takes a good guide and clear instructions (and warnings on what not to do), and while I had friends who helped me walk through the process, it still seemed intimidating. And after reading this book, I wish I had it when I started out. William makes the command line less intimidating, provides clear instructions, and lets you know the pitfalls to watch out for.
The book is broken down into four major sections:
Learning the shell
Configuration and the environment
Common tasks and essential tools
Writing Shell Scripts
with easy to navigate chapters. Some of the chapters include: file navigation, Vi and Vim, environment configuration, command chaining, pattern matching with regular expressions, and more.
Where this book excels is that it is written with the novice in mind and presents the information clearly, with easy to read instructions, and plenty of examples so that you can see what its supposed to look like. The best part of the examples, William truly presents them as what the reader will see when they first start out vs. using his own personalized environment (which some instructors have a tendency of doing.) This means that the reader will instantly know where they are in the process. Even more importantly he tries to eschew the technical jargon that can overwhelm a novice. While at times he might go overboard with wordage in explaining things, it is still sure to help the novice answer many questions they might have while learning the command line.
While the chapters may not cover a topic in depth, such as the one on Vi and Vim, they provide the reader with enough information to be comfortable with what they’re learning. The section that I found most helpful, was the last section dealing with writing shell scripts. William gives a solid foundation to learning this helpful tool, provides plenty of examples, and makes it seem easy to set up. Even better, he gives a brief lesson on Regular Expressions, which will help with writing the scripts.
Even though this book is written for the novice user, I still found it a good refresher on what commands do what. I would highly recommend this book for users just starting out in Linux and for those that need a refresher on how to navigate the command line. I give the book 5 out of 5 stars.