||New Reviews| |Software Methodologies| |Popular Science| |AI/Machine Learning| |Programming| |Java| |Linux/Open Source| |XML| |Software Tools| |Other| |Web| |Tutorials| |All By Date| |All By Title| |Resources| |About||
Keywords: Linux, Unix, system administration
Title: How Linux Works
Author: Brian Ward
Publisher: No Starch Press
Level: Introductory, intermediate
Verdict: A solid introduction and reference for Linux
This is a very different introduction to Linux. It's unflashy, concentrates on the command-line and digs around in the internals rather than on GUI front-ends that take the place of more familiar MS Windows tools. In part this is because the book is aimed at the would-be sys admin or power user rather than those looking for a desktop system as a (better) slot-in replacement for Windows.
Given this target audience the book is heavy on instilling an understanding of how things work rather than just listing sequences of commands with complex and unexplained parameters. The same goes for system configuration - the book concentrates on file settings, (and where the files live), rather than on tools like graphical tools like YaST and so on.
Starting with the basics of using the shell, navigating through the file system and using text editors the book moves on to take more detailed looks at disks and devices, the Linux boot process, essential utilities, network config, shell scripting, development tools, SAMBA and much, much more. The reach of the book really is very broad, especially given the relatively small size of the book (slightly less than 350 pages).
One of the main reasons that the book packs so much useful information in such a small form factor is that the writing is concise and to the point. No, that doesn't mean that it's dry and unreadable -- the book doesn't read like a set of hard copied man pages. Instead the author concentrates on the most important material to hand and works hard to make sure that both the concepts and the practice are clearly explained.
The book is not geared to any particular Linux distribution, and there are frequent references to Unix/BSD, stressing the point that Linux is part of the Unix family.
Another strength of the book is that close attention is paid to the development side of things. Not just in going over things like shell scripting, but also covering development tools (mainly gcc and assorted tools, but also a fly-by of Perl, Python and Java). An entire chapter is devoted to compiling software directly from source, and another chapter covers kernel maintenance.
In all this is a solid piece of work and one that is certain to guide the new user on the sometimes rocky path to expertise.