How Linux Works describes the inside of the Linux system for systems administrators, whether they maintain an extensive network in the office or one Linux box at home. Some books try to give you copy-and-paste instructions for how to deal with every single system issue that may arise, but How Linux Works actually shows you how the Linux system functions so that you can come up with your own solutions. After a guided tour of filesystems, the boot sequence, system management basics, and networking, author Brian Ward delves into open-ended topics such as development tools, custom kernels, and buying hardware, all from an administrator's point of view. With a mixture of background theory and real-world examples, this book shows both "how" to administer Linux, and "why" each particular technique works, so that you will know how to make Linux work for you.
Chapter 1 THE BASICS
About /bin/sh
Using the Shell
Basic Commands
Using Directory Commands
Intermediate Commands
Changing Your Password and Shell
Dot Files
Environment and Shell Variables
The Command Path
Special Characters
Command-Line Editing
Text Editors
Getting Online Help
Shell Input and Output
Understanding Error Messages
Processes
File Modes and Permissions
Archiving and Compressing Files
Chapter 2 DEVICES, DISKS, FILESYSTEMS, AND THE KERNEL
Directory Hierarchy
The Kernel
Devices
Filesystems
Swap and Virtual Memory
Chapter 3 HOW LINUX BOOTS
init
Boot Loaders
Virtual Consoles
Chapter 4 ESSENTIAL SYSTEM FILES, SERVERS, AND UTILITIES
System Logging
A Glance at /etc
User Management Files
getty and login
Setting the Time
Scheduling Recurring Tasks with cron
Scheduling One-Time Tasks with at
Tracking Individual Processes
Adjusting Process Priorities
Monitoring System Performance
Running Commands as the Superuser
Chapter 5 CONFIGURING YOUR NETWORK
Network Layers
The Internet Layer
Basic ICMP Tools
Configuring Interfaces and the Host-to-Network Layer
Configuring a Default Gateway
Resolving Hostnames
Using DHCP Clients
PPP Connections
Broadband Connections
Ethernet Networks
Configuring Routes
The Transport Layer: TCP, UDP, and Services
Firewalls
Network Address Translation (IP Masquerading)
Wireless Ethernet
Chapter 6 NETWORK SERVICES
The Basics of Services
Stand-Alone Servers
The inetd Daemon
Secure Shell (SSH)
Diagnostic Tools
Remote Procedure Call (RPC)
Network Security
Chapter 7 INTRODUCTION TO SHELL SCRIPTS
Shell Script Basics
Quoting
Special Variables
Exit Codes
Conditionals
Loops
Command Substitution
Temporary File Management
Here Documents
Important Shell Script Utilities
Subshells
Including Other Files in Scripts
Reading User Input
Too Much?
Chapter 8 DEVELOPMENT TOOLS
The C Compiler
Debuggers
Lex and Yacc
Scripting Languages
Java
Assembly Code and How a Compiler Works
Chapter 9 COMPILING SOFTWARE FROM SOURCE CODE
Unpacking Source Packages
GNU Autoconf
Other Systems
Installation Practice
Applying a Patch
Troubleshooting Compiles and Installations
Chapter 10 MAINTAINING THE KERNEL
Do You Need to Build Your Own Kernel?
What You Need to Build a Kernel
Getting the Source Code
Configuring and Compiling the Kernel
Installing Your Kernel with a Boot Loader
Testing the Kernel
Boot Floppies
Working with Loadable Kernel Modules
Chapter 11 CONFIGURING AND MANIPULATING PERIPHERAL DEVICES
If you are knowledgeable about computers in general, but don't know much about Linux, this is the book to get. It focuses on command line apps that are universal to linux and not distribution specific programs. This eases the reader into the linux environment and the book flows nicely from section to section. After reading this book, the reader will have a very good general idea of the inner workings of linux. With this book as a base, the reader can then diverge to other topics in more depth.
I would definitely recommend this book to those who are interested in linux, but have not had the experience to know the inner workings of the OS.