• Table of Contents
  • BackCover
  • How Linux Works - What Every Super-User Should Know
    • Chapter 1: The Basics
      • 1.1 About /bin/sh
      • 1.2 Using the Shell
      • 1.3 Basic Commands
      • 1.4 Using Directory Commands
      • 1.5 Intermediate Commands
      • 1.6 Changing Your Password and Shell
      • 1.7 Dot Files
      • 1.8 Environment and Shell Variables
      • 1.9 The Command Path
      • 1.10 Special Characters
      • 1.11 Command-Line Editing
      • 1.12 Text Editors
      • 1.13 Getting Online Help
      • 1.14 Shell Input and Output
      • 1.15 Understanding Error Messages
      • 1.16 Processes
      • 1.17 File Modes and Permissions
      • 1.18 Archiving and Compressing Files
    • Chapter 2: Devices, Disks, Filesystems, and the Kernel
      • 2.2 The Kernel
      • 2.3 Devices
      • 2.4 Filesystems
      • 2.5 Swap and Virtual Memory
    • Chapter 3: How Linux Boots
      • 3.1 init
      • 3.2 Boot Loaders
      • 3.3 Virtual Consoles
    • Chapter 4: Essential System Files, Servers, and Utilities
      • 4.1 System Logging
      • 4.2 A Glance at /etc
      • 4.3 User Management Files
      • 4.4 getty and Login
      • 4.5 Setting the Time
      • 4.6 Scheduling Recurring Tasks with Cron
      • 4.7 Scheduling One-Time Tasks with At
      • 4.8 Tracking Individual Processes
      • 4.9 Adjusting Process Priorities
      • 4.10 Monitoring System Performance
      • 4.11 Running Commands as the Superuser
    • Chapter 5: Configuring Your Network
      • 5.1 Network Layers
      • 5.2 The Internet Layer
      • 5.3 Basic ICMP Tools
      • 5.4 Configuring Interfaces and the Host-to-Network Layer
      • 5.5 Configuring a Default Gateway
      • 5.6 Resolving Hostnames
      • 5.7 Using DHCP Clients
      • 5.8 PPP Connections
      • 5.9 Broadband Connections
      • 5.10 Ethernet Networks
      • 5.11 Configuring Routes
      • 5.12 The Transport Layer: TCP, UDP, and Services
      • 5.13 Firewalls
      • 5.14 Network Address Translation (IP Masquerading)
      • 5.15 Wireless Ethernet
    • Chapter 6: Network Services
      • 6.1 The Basics of Services
      • 6.2 Stand-Alone Servers
      • 6.3 The inetd Daemon
      • 6.4 Secure Shell (SSH)
      • 6.5 Diagnostic Tools
      • 6.6 Remote Procedure Call (RPC)
      • 6.7 Network Security
    • Chapter 7: Introduction to Shell Scripts
      • 7.1 Shell Script Basics
      • 7.2 Quoting
      • 7.3 Special Variables
      • 7.4 Exit Codes
      • 7.5 Conditionals
      • 7.6 Loops
      • 7.7 Command Substitution
      • 7.8 Temporary File Management
      • 7.9 Here Documents
      • 7.10 Important Shell Script Utilities
      • 7.11 Subshells
      • 7.12 Including Other Files in Scripts
      • 7.13 Reading User Input
      • 7.14 Too Much?
    • Chapter 8: Development Tools
      • 8.2 Debuggers
      • 8.3 Lex and Yacc
      • 8.4 Scripting Languages
      • 8.5 Java
      • 8.6 Assembly Code and How a Compiler Works
    • Chapter 9: Compiling Software From Source Code
      • 9.1 Unpacking Source Packages
      • 9.2 GNU Autoconf
      • 9.3 Other Systems
      • 9.4 Installation Practice
      • 9.5 Applying a Patch
      • 9.6 Troubleshooting Compiles and Installations
    • Chapter 10: Maintaining the Kernel
      • 10.1 Do You Need to Build Your Own Kernel?
      • 10.2 What You Need to Build a Kernel
      • 10.3 Getting the Source Code
      • 10.4 Configuring and Compiling the Kernel
      • 10.5 Installing Your Kernel with a Boot Loader
      • 10.6 Testing the Kernel
      • 10.7 Boot Floppies
      • 10.8 Working with Loadable Kernel Modules
    • Chapter 11: Configuring and Manipulating Peripheral Devices
      • 11.2 CD Writers
      • 11.3 Introduction to USB
      • 11.4 IEEE 1394/FireWire Disks
      • 11.5 Hotplug Support
      • 11.6 PC Cards (PCMCIA)
      • 11.7 Approaching Other Devices
    • Chapter 12: Printing
      • 12.1 PostScript
      • 12.2 Print Servers
      • 12.3 Print Filters
      • 12.4 Print Clients
      • 12.5 CUPS
      • 12.6 Ghostscript
      • 12.7 Further Printing Topics
    • Chapter 13: Backups
      • 13.2 Backup Hardware
      • 13.3 Full and Incremental Backups
      • 13.4 Using tar for Backups and Restores
      • 13.5 Backups to Non-Traditional Media
      • 13.6 Tape Drive Devices
      • 13.7 Other Archivers
      • 13.8 Further Backup Topics
    • Chapter 14: Sharing Files with Samba
      • 14.1 Configuring the Server
      • 14.2 Starting the Server
      • 14.3 Diagnostics and Log Files
      • 14.4 Sharing Files
      • 14.5 Sharing Printers
      • 14.6 Using the Samba Client
    • Chapter 15: Network File Transfer
      • 15.1 rsync Basics
      • 15.2 Checksums and Verbose Transfers
      • 15.3 Compression
      • 15.4 Limiting Bandwidth
      • 15.5 Transferring Files to Your Computer
      • 15.6 Further rsync Topics
    • Chapter 16: User Environments
      • 16.1 Appropriate Startup Files
      • 16.2 Shell Startup File Elements
      • 16.3 Startup File Order and Examples
      • 16.4 Default User Settings
      • 16.5 Startup File Pitfalls
      • 16.6 Further Startup Topics
    • Chapter 17: Buying Hardware for Linux
      • 17.1 Core Components
      • 17.2 Other Hardware Components
      • 17.3 A Word About Hardware Upgrades
      • 17.4 Saving Money
      • 17.5 Notebooks
      • 17.6 Smaller Designs
    • Chapter 18: Further Directions
      • 18.2 Final Thoughts
  • Appendix A: Command Classification
  • Bibliography
  • Index
    • Index_A
    • Index_B
    • Index_C
    • Index_D
    • Index_E
    • Index_F
    • Index_G
    • Index_H
    • Index_I
    • Index_J
    • Index_K
    • Index_L
    • Index_M
    • Index_N
    • Index_O
    • Index_P
    • Index_R
    • Index_S
    • Index_T
    • Index_U
    • Index_V
    • Index_W
    • Index_X
    • Index_Y
    • Index_Z
  • List of Figures
  • List of Tables
  • List of Sidebars