Linux Box Admin
Trusted Remote Administration
logo

Tilde
What's new
Articles
Micro HowTos
About
Contact



Fresh Micros




(0 votes)
Monday, 22 May 2006
  The first three books every Linux user should read
exclusive content published on May 22, 2006

Anyone proficient with Linux had to climb the steep learning curve. Part of getting over the top for me was reading a hundred different Linux and Unix related books. From that list, three books stand out as the most useful and influential. I can't promise easy sledding; it will take some work, but mastering this material will demystify Linux and make you appreciate it more.

Non Disclaimer

I have no financial or other relationship to any of the publishers or authors of these books. These recommendations are merely the books that dragged me a little further down the road toward Linux enlightenment than others. They have stood the test of time and still hold prominent places in my library.

Linux: Rute User's Tutorial and Exposition
by Paul Sheer
Publisher: Prentice Hall
ISBN: 0130333514
672 pages

Despite the somewhat contrived recursive title, this book covers Linux from the basics of computing to the architecture of the entire system and everything along the way. It starts with the definition of a bit, covers common hardware, authentication, permissions, links, partitions, packages, regular expressions, and scripts. There is excellent coverage of the GNU utilities, a guide to TCP/IP and networking, Apache, DNS, NFS, email, databases and more. The one glaring omission is the Common Unix Printing System (CUPS), but lpd was still the standard print daemon when it was published. The X Window section is also showing some age, but is still valuable.

Though there are no illustrations, plenty of lucid examples are given. The book is based on the Debian distribution, but 95% of the material is applicable to any flavor of Linux. The chapters are short enough to be manageable and cut right to the practical applications. The author writes clearly and wastes no time making his point. Since it covers so much ground, it doesn't delve too deeply into any one topic. After you have worked through it, you will have a solid foundation for using Linux confidently and know what areas interest you for further study.

It's a great first reference when tackling something new or something you haven't done in a long time. This guide has been used as a textbook for Linux training courses. It includes a CD-ROM with the entire book in HTML format.

update May 24, 2006: I have been informed by Paul Dorman that Debian has a package, rutebook, that contains HTML and PDF versions of the book. It is also available online.

Learning the BASH Shell
by Cameron Newham
Publisher: O'Reilly Media, Inc.
ISBN: 0596009658
352 pages

I must admit the shell is my favorite interface to the system. Don't get me wrong, GUIs are wonderful...for running multiple shells. As the default shell in Linux (and OS X), BASH is something you will bump into frequently.

The Linux system start up scripts are shell programs, the maintenance scripts in cron are shell programs, and you will find shell scripts in many other nooks of the system. You need to understand shell scripting to understand the system.

The authors cover interactive use and shell programming. You will learn the power of pipes and redirection, process management, and signals. Learning BASH will make you more productive and at ease managing a system 1000 kilometers away through a secure shell connection. The BASH programming language is presented in depth, with concise explanations of all its features. Like any scripting language, it doesn't perform as well as a compiled program, but it is highly portable. You may be surprised at the powerful applications that can be assembled quickly from just shell scripts and GNU utilities.

While some may find a book on BASH dry, the writing style and examples given make it a fun read. My copy is beaten up from over use and several sections are bookmarked with coffee stains. Those are hallmarks of a good reference book.

Linux and the Unix Philosophy
by Mike Gancarz
Publisher: Digital Press
ISBN: 1555582737
256 pages

My third choice may seem dubious because it doesn't contain algorithms or sample code. Nothing on Ajax, Ruby on Rails, or social networking. What it does offer is perspective on the design choices and reasoning behind the way Unix and Linux work. If you were not lucky enough to work with Ken Thompson, and didn't cut your teeth on Unix, the system may seem chaotic. The system directory names look cryptic at first glance and everything seems opaque. This is partly due to expectations and assumptions based on the way other operating systems work.

This work is an updated version of the author's classic, The Unix Philosophy, also one of my favorites, that takes into account the rise of free software and distributed development. A sharp contrast is drawn among the different approaches to computing taken by different systems. The oft-mentioned Unix philosophies of "make each program do one thing well" and "choose portability over efficiency" are explained in great detail. Many other major and minor tenets are explored. While there is some discussion of software development, the theory is valuable to anyone using a computer. Once you begin to understand why some things are the way they are, it clicks. This book changed the way I looked at Linux and gave me a higher level perspective on how to approach it. The book is short, easy to read, and useful for both newcomers and grizzled veterans.

Walking the path

When I first started using Linux, I struggled to get my head around everything, only learning a few things each week. Then, one day, the epiphany hit and it all made sense. Now, I understand what is going on in a Linux system at a much deeper level than I will ever understand what is going on in other operating systems. Not just because the source is open, but because it has a clean design. I can quickly see what is running, how it was started, and why. The system is so modular that I can kill nearly every process in the system and still get work done. I can fix a problem and it stays fixed. I know what the system is doing, I control it, and I trust it. Anyone can learn Linux, but you can only get there by walking the path.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 2.5 License.
 

Copyright © 2006,2007 Linux Box Admin.

 
My NHL fan blog