Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Further Reading

A curated collection of books, websites, courses, tutorials, and other resources for learning Linux in depth. Resources are organized by topic and difficulty level.


Books

Essential Books — Start Here

Linux Kernel Development (3rd Edition) — Robert Love

The best introduction to Linux kernel internals. Covers process management, scheduling, system calls, memory management, the VFS, and more. Written in an accessible style with real kernel source examples.

  • Author: Robert Love
  • Publisher: Addison-Wesley, 2010
  • ISBN: 978-0672329463
  • Level: Intermediate
  • Topics: Kernel architecture, process management, scheduling, system calls, interrupt handling, kernel synchronization, memory management, VFS, page cache, block I/O, module programming
  • Best for: Developers who want to understand how the kernel works
  • Companion: lwn.net for ongoing kernel development news

Understanding the Linux Kernel (3rd Edition) — Daniel P. Bovet, Marco Cesati

The definitive deep dive into Linux kernel internals. More detailed and academic than Love’s book. Covers data structures, memory addressing, processes, interrupts, timing, synchronization, memory management, process scheduling, I/O, and filesystems in extraordinary detail.

  • Authors: Daniel P. Bovet, Marco Cesati
  • Publisher: O’Reilly Media, 2005
  • ISBN: 978-0596005658
  • Level: Advanced
  • Topics: Kernel data structures, memory addressing, processes, interrupts, timing, synchronization, memory management, scheduling, I/O architecture, block device drivers, VFS, ext2/ext3
  • Best for: Those who want a complete understanding of kernel internals
  • Note: Based on 2.6 kernel, but concepts remain relevant

The Linux Programming Interface — Michael Kerrisk

The definitive reference for Linux and UNIX system programming. Written by the maintainer of the Linux man-pages project. Covers system calls, library functions, and programming techniques with exceptional clarity.

  • Author: Michael Kerrisk
  • Publisher: No Starch Press, 2010
  • ISBN: 978-1593272203
  • Level: Intermediate to Advanced
  • Topics: System calls, file I/O, processes, signals, threads, IPC (pipes, message queues, shared memory, semaphores), sockets, timers, daemons, capabilities, namespaces, seccomp
  • Best for: Linux/UNIX system programmers
  • Website: man7.org/tlpi/

Advanced and Specialized Books

Linux Device Drivers (3rd Edition) — Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman

The classic guide to writing Linux device drivers. Covers char, block, and network drivers, hardware management, interrupts, DMA, and the driver model.

  • Authors: Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman
  • Publisher: O’Reilly Media, 2005
  • ISBN: 978-0596005900
  • Level: Advanced
  • Topics: Kernel modules, char/block/net drivers, interrupts, DMA, PCI, USB, network drivers, TTY subsystem
  • Free online: lwn.net/LDP/LDD3/
  • Note: Based on 2.6 kernel; check kernel source for API changes

Linux Kernel in a Nutshell — Greg Kroah-Hartman

A concise guide to building, installing, and configuring the Linux kernel.

  • Author: Greg Kroah-Hartman
  • Publisher: O’Reilly Media, 2006
  • ISBN: 978-0596100797
  • Level: Intermediate
  • Topics: Kernel source, configuration, building, installation, kernel modules, debugging
  • Free online: kernel.org/pub/linux/kernel/people/gregkh/lkn/

Professional Linux Kernel Architecture — Wolfgang Mauerer

An in-depth analysis of kernel architecture with extensive source code analysis.

  • Author: Wolfgang Mauerer
  • Publisher: Wrox, 2008
  • ISBN: 978-0470343432
  • Level: Advanced

Linux System Programming (2nd Edition) — Robert Love

Direct system call and I/O programming. Covers file I/O, process management, memory management, signals, timers, threading, and debugging.

  • Author: Robert Love
  • Publisher: O’Reilly Media, 2013
  • ISBN: 978-1449339531
  • Level: Intermediate

UNIX and Linux System Administration Handbook (5th Edition) — Evi Nemeth et al.

The “bible” of Linux/UNIX system administration. Comprehensive coverage of networking, storage, security, monitoring, and troubleshooting.

  • Authors: Evi Nemeth, Garth Snyder, Trent R. Hein, Ben Whaley, Dan Mackin
  • Publisher: Addison-Wesley, 2017
  • ISBN: 978-0134277554
  • Level: Intermediate to Advanced
  • Best for: System administrators

How Linux Works (3rd Edition) — Brian Ward

A practical guide to the Linux system. Explains how the boot process, kernel, networking, and system administration work from the ground up.

  • Author: Brian Ward
  • Publisher: No Starch Press, 2021
  • ISBN: 978-1718500402
  • Level: Beginner to Intermediate

Networking Books

TCP/IP Illustrated, Volume 1 (2nd Edition) — W. Richard Stevens, Kevin R. Fall

The definitive reference on TCP/IP protocols. Essential for understanding Linux networking.

  • Authors: W. Richard Stevens, Kevin R. Fall
  • Publisher: Addison-Wesley, 2011
  • ISBN: 978-0321336316
  • Level: Advanced

Linux Networking Cookbook — Carla Schroder

Practical recipes for Linux networking. Covers routing, firewalls, VPNs, wireless, and more.

  • Author: Carla Schroder
  • Publisher: O’Reilly Media, 2007
  • ISBN: 978-0596102487
  • Level: Intermediate

Security Books

Linux Security Cookbook — Daniel J. Barrett, Richard Silverman, Robert G. Byrnes

Practical security recipes for Linux systems.

SELinux System Administration (2nd Edition) — Sven Vermeulen

Comprehensive guide to SELinux configuration and administration.

Container and Cloud Books

Docker Deep Dive — Nigel Poulton

A comprehensive guide to Docker and container technology.

Kubernetes in Action (2nd Edition) — Marko Lukša

Deep dive into Kubernetes container orchestration.


Websites and Online Resources

Essential Websites

LWN.net

The premier source for Linux kernel development news. Weekly kernel development summaries, in-depth articles on new features, and detailed coverage of the Linux development community.

  • Content: Kernel development, free software news, conference coverage
  • Key feature: Kernel index — comprehensive kernel topic index
  • Subscription: Some content requires subscription after 2 weeks

kernel.org

The official Linux kernel source repository. Download kernel source, view changelogs, and track release candidates.

The Linux Documentation Project (TLDP)

A comprehensive collection of Linux guides, HOWTOs, and FAQs.

Linux Man Pages Online

The authoritative online source for Linux man pages. Maintained by Michael Kerrisk.

  • Content: All section 1-8 man pages, HTML formatted
  • Key feature: Full-text search

Kernel Development

Kernel Newbies

Resources for Linux kernel beginners. Includes an FAQ, tutorials, and a helpful community.

Linux Kernel Labs

Hands-on labs for learning Linux kernel development. Used in university courses.

  • Content: Labs on kernel modules, character drivers, kernel debugging, scheduling, memory management
  • Format: Step-by-step exercises with QEMU

The Linux Kernel Module Programming Guide

A guide to writing Linux kernel modules.

kernel.org Documentation

The kernel’s own documentation in Sphinx format. Covers admin guides, driver APIs, filesystem documentation, and security.

Community and Q&A

Ask Ubuntu

Q&A site for Ubuntu users. Great for distribution-specific questions.

Unix & Linux Stack Exchange

Q&A for Linux, BSD, and other UNIX-like systems. High-quality answers.

Server Fault

Q&A for system administrators and network professionals.

Reddit — r/linux

General Linux discussion. Also:

Distribution Documentation

Arch Wiki

The gold standard of Linux distribution documentation. Even non-Arch users find it invaluable.

Ubuntu Documentation

Official Ubuntu documentation. Community-maintained and comprehensive.

Fedora Documentation

Official Fedora project documentation.

Gentoo Wiki

Excellent technical documentation, especially for kernel configuration and optimization.


Online Courses

Free Courses

Linux Foundation — Free Training Courses

The Linux Foundation offers several free introductory courses:

  • LFS101x — Introduction to Linux (edX)
  • LFS101 — Introduction to Linux
  • LFS201 — Essentials of Linux System Administration

Linux From Scratch

A step-by-step guide to building your own Linux system from source code.

OverTheWire — Bandit

Learn Linux command line basics through a security wargame.

  • Difficulty: Beginner
  • Format: SSH into a server and solve challenges

The Missing Semester of Your CS Education (MIT)

Covers shell, scripting, version control, and other practical computing skills.

  • Content: Shell, scripting, editors, version control, debugging, security
  • Format: Video lectures + exercises

Linux Foundation Training

Official Linux Foundation courses and certifications.

  • LFCS — Linux Foundation Certified System Administrator
  • LFCE — Linux Foundation Certified Engineer
  • CKA — Certified Kubernetes Administrator
  • CKAD — Certified Kubernetes Application Developer

Red Hat Training

Official Red Hat training and certifications.

  • RHCSA — Red Hat Certified System Administrator
  • RHCE — Red Hat Certified Engineer

Pluralsight / A Cloud Guru / Udemy

Various Linux courses from beginner to advanced. Look for highly-rated instructors.


Tutorials and Guides

Bash and Shell Scripting

Bash Guide (Greg Wooledge)

A comprehensive and accurate guide to Bash scripting.

ShellCheck

A static analysis tool for shell scripts. Catches common errors and bad practices.

Explain Shell

Paste a shell command and get an explanation of each part.

Networking

Computer Networking: A Top-Down Approach — Wireshark Labs

Hands-on networking labs using Wireshark.

Practical Networking

Clear explanations of networking concepts with practical examples.

Containers

Docker Documentation

Official Docker documentation with tutorials and references.

Kubernetes Documentation

Official Kubernetes documentation. Includes tutorials and concepts.

Security

Linux Security for Beginners

Security resources and tutorials.

CIS Benchmarks

Security hardening benchmarks for Linux distributions.


Video Resources

YouTube Channels

LiveOverflow

Security and hacking content. Excellent for understanding Linux security internals.

DistroTube

Linux distribution reviews, tutorials, and open-source software.

LearnLinuxTV

Linux tutorials and system administration guides.

The Linux Experiment

Linux news, reviews, and tutorials.

Conference Talks

Linux Plumbers Conference

The premier conference for Linux developers. Talks cover kernel, networking, security, and more.

Kernel Recipes

European conference focused on Linux kernel development.

All Systems Go!

Conference on systemd, low-level user space, and containers.


Podcasts

Linux Unplugged

Weekly Linux discussion podcast.

LINUX Unplugged

Linux and open-source news and discussion.

Kernel Report

Periodic updates on Linux kernel development.


Reference Tools

Explainshell

Break down shell commands into their component parts.

tldr pages

Simplified and community-driven man pages. Install the client:

npm install -g tldr
tldr tar

commandlinefu.com

Community-driven repository of command-line tricks and tips.

cheat.sh

Unified command-line cheat sheet service:

curl cheat.sh/tar
curl cheat.sh/find
curl cheat.sh/python/lambda

tldr.inbrowser.app

Web-based tldr pages viewer.


Kernel Source References

Linux Kernel Source (GitHub Mirror)

GitHub mirror of the official kernel repository. Easier to browse than kernel.org.

elixir.bootlin.com

Linux kernel source cross-reference. Search for symbols, types, and functions across all kernel versions.

kernel.org Git

Official git repositories for the Linux kernel and related projects.

LKML (Linux Kernel Mailing List)

The Linux Kernel Mailing List. Where kernel development is discussed.

lore.kernel.org

Archived kernel mailing lists. Searchable. Better than LKML for finding specific patches.


Modern Kernel Development

Rust in the Linux Kernel

Linux 6.1 (2022) added initial Rust support. By 2025, Rust is increasingly used for new kernel modules:

eBPF

eBPF (extended Berkeley Packet Filter) has become a major kernel programmability mechanism:

io_uring

io_uring is Linux’s modern async I/O interface (kernel 5.1+):


Performance and Observability

Books

Tools and References


Security Resources

Books

References


Distribution-Specific Resources

Arch Linux

Ubuntu

RHEL / Fedora

Gentoo

Debian

openSUSE


Podcasts and Newsletters

Podcasts

Newsletters


Community and Q&A

Ask Ubuntu

Q&A site for Ubuntu users. Great for distribution-specific questions.

Unix & Linux Stack Exchange

Q&A for Linux, BSD, and other UNIX-like systems. High-quality answers.

Server Fault

Q&A for system administrators and network professionals.

Reddit

Kernel Newbies

Resources for Linux kernel beginners. Includes an FAQ, tutorials, and a helpful community.


Reference Tools

Explainshell

Break down shell commands into their component parts.

tldr pages

Simplified and community-driven man pages. Install the client:

npm install -g tldr
tldr tar

commandlinefu.com

Community-driven repository of command-line tricks and tips.

cheat.sh

Unified command-line cheat sheet service:

curl cheat.sh/tar
curl cheat.sh/find
curl cheat.sh/python/lambda

tldr.inbrowser.app

Web-based tldr pages viewer.

DevDocs

API documentation browser. Includes Linux man pages.

cpuid

Detailed CPU feature information from the command line.