Jump to ratings and reviews
Rate this book

How Linux Works: What Every Superuser Should Know

Rate this book
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.

368 pages, Paperback

First published May 1, 2004

884 people are currently reading
2899 people want to read

About the author

Brian Ward

7 books10 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
478 (39%)
4 stars
504 (41%)
3 stars
184 (15%)
2 stars
30 (2%)
1 star
9 (<1%)
Displaying 1 - 30 of 118 reviews
Profile Image for Christopher.
50 reviews16 followers
April 8, 2010
For making a book about Linux only ~340 pages long, it's hard to find one this complete and educational. Out of the dozens of books I've bought on Linux, this is the one I keep turning to over and over again.

True, with the more recent live-cd's and other gadgets made for the general public, you may not use some of the things written in this book (old utilities, &c) but it really has everything you should know to maintain and develop on these systems.

Especially if you're going to install Linux on some old'n'busted machines or some low-powered embedded systems that can't handle all the bloat of the name-brand SUSE/RedHat/Ubuntu shizzle, you'll find this book invaluable.

The author did a GREAT job on this. I couldn't come 1/10th as close as he did to perfection, and this is coming from a guy that keeps reading his book.
Profile Image for Anton Petkov.
6 reviews12 followers
May 12, 2018
I can say with confidence that this is one of the most useful books I have ever read as a beginner. I like the fact that the book covers so many topics and it gives you a very good jump start as a Linux user. I would recommend this book to everyone who wants an introduction to Linux at a beginner or intermediate level.

I bought the paperback copy of the second edition of How Linux Works and read it with pleasure while commuting. I read the book while attending the Operating Systems and Computer Networks courses in the university where I studied and practiced almost everything covered in the book.

Wish I had read this book earlier.

EDIT: I finished the Operating Systems course with the 2nd highest score from more than 100 people after finishing the book. And the next year I became a teaching assistant for this course and I started teaching GNU/Linux. I am doing it 2nd year in a row now. Of course, I read other sources too, but this book gave me the jump start. Thank you!

How far can this book take YOU?
Profile Image for Tyler.
210 reviews4 followers
January 31, 2015
I've been reading quite a few books on Linux recently, and this one has been the most comprehensive and technical. It was actually a bit of a challenge for me to get through, and I took a lot of notes.

The author does not always articulate himself as clearly as I would like, but it covered a lot of concepts relevant to the LPIC-1 exam (including the boot process, bash scripting, libraries, managing files, etc.) plus more, and did so in far greater depth than a lot of the other material I've been using.

I would recommend this book, but only to someone who is already somewhat familiar with Linux, programming, and computers.
Profile Image for Jascha.
151 reviews
March 28, 2015
Another great title published by No Starch Press. If you are a Linux power user, Brian definitely knows how to properly feed your desire to know more about what’s happening under the hood, without getting into the details of titles such as The Linux Programming Interface or Advanced Programming in the UNIX Environment. Easy to read and follow, it’s a long long talk about many of the topics that make Linux what it is today.

I don’t remember a single tech book published by No Starch Press that did not deliver. How Linux Works certainly does. It gives the reader a good understanding of many hot topics of the Linux internals without getting too technical. It’s like a long long talk with one of those friendly geek guys that has been tinkering the kernel forever.

Brian covers many different subject. Among them, I have absolutely enjoyed the chapter dedicated to the booting process. Here the author gives you both an overall and a specific vision of the whole process, from boot loaders to the different major init implementation (systemd, Upstart, and System V).

Another juicy chapter is that dedicated to networking and firewalls. Lots and lots of concepts to learn and notes to take.

The book ends with several chapters dedicated to developers. These cover some basic shell scripting and developing. Not my favorite part of the book. Mainly, there are other titles that cover those subject in depth (see above).

Overall, a very nice title for anyone interested in knowing how Linux works, without getting too technical.

Suggested readings:
Linux Shell Scripting Cookbook: a very similar title, but focused towards scripting and thus, a little more oriented to System Administrators, rather than Power Users.

As usual, you can find more reviews on my personal blog: http://books.lostinmalloc.com Feel free to pass by and share your thoughts!
44 reviews29 followers
December 25, 2019
This is overall an excellent book. I've been working with computers for 25 years and learned a fair bit from this book. It is in fact a great introduction to operating systems and computers in general, not just Linux. I think if someone ever asked me "how do computers work?" I would not hesitate to point them to this book to build a holistic picture.

However, despite how condensed the material is, the sheer breadth of content found in this book got a little out of hand in my opinion. It covers literally everything you could possibly think of and then some, from SCSCI and spinning drive internals over boot manager configuration, networking protocols, the X window system to at least honorable mentions of some popular programming languages and databases. Considering that all of this had to fit onto ~400 pages, it's an incredible feat, but due to the lack of depth in some of these sections, I wonder what the intended audience was for those, as for both layman and expert alike some sections were too shallow to be useful.

But for any section that lacked depth, there were 5 others that did not, so there is still a wealth of information here that is useful to pretty much anyone with an interest in computers and operating systems.

Recommended!
Profile Image for Tuấn Anh Nguyễn.
13 reviews6 followers
March 15, 2018
Even as a rather experienced user, I find this book very useful. Beginners would get a lot out of it.
Profile Image for Michael Koltsov.
110 reviews69 followers
February 6, 2017
This book doesn't claim to cover all Linux features, but definitely it covers some of the most important ones.

It's easy to read, though it encompasses lots of useful information. I wish my first Linux book was like that.

The only complaint I had with it was that though its second edition has been recently issued and it wasn't strictly specified on which Linux distribution should I run some of the commands from the book I wasn't able to try some of them due to that there were no such packages in the APT repository for reference Ubuntu Docker image I've been using.

This is definitely not a book I would recommend to a SysOps, unless he needs to quickly brush-up his skills. But if you're a "superuser", that's the book you should definitely read to know what's "inode" any why top&vmstat&iotop might be much more powerful than you've thought.

My score 4/5
Profile Image for Diego Garcia.
21 reviews1 follower
January 12, 2018
Excelente overview sobre o linux passando desde o kernel (incluindo boot load) ate chegar no Desktop X
Profile Image for briz.
Author 6 books75 followers
did-not-finish
April 14, 2021
More of a reference book than a "I'll just sit down and read it cover to cover". But I need this info. GIVE ME THIS INFO. Happy with it.
Profile Image for Ray.
267 reviews
September 6, 2021
Just so happened that my local library had this book so I picked it up.

It was pretty dang good. My only complaint really is that sometimes it felt like a topic was mentioned without really explaining it enough (like how a connection stays open) but at the same time I recognize the limits of the book not being able to go into every detail.

Overall, for someone who has used linux for years I still learned a lot and quite enjoyed reading it. It is a good mix of how to and history of why things got to be how they are.

I wasn't taking extensive notes since much of it was review but I did jot down a few things from each chapter.


Ch1
Most processes run in user mode
Ones that don't are in kernel mode and have unrestricted access to the hardware
Even root user is not operating in kernel mode

Ch2
Shell variables are not passed to programs you call. Only env variables are.
Use export for env variables
Use this=that for shell variables

In the PS command time is how much time actually using CPU happened. Different from wall-clock time of his long since a process started

You can use kill -STOP pid to basically pause a process for resuming later

Ch 3
Device files are one way of interacting with devices on Linux. There are 4 different types: block, character, pipe, socket
VM disks may have a different ptevis like /dev/xvd
SCSI is a lot to understand
Writing to an optical drive is not part of the kernel because it's not critical to any system


Ch 4
Btrfs is positioned to replace ext4
LVM logical volume manager makes it much easier to work with storage

Ch 5
Linux kernel booting and EFI and MBR and all that fun stuff

Ch 6
Learned much about systemd and how user space starts

Ch 7
Learned about the at command for scheduling things in the future
Learned a bit about Pam the plugable authentication module

Ch 8
lsof let's you see which files a process has opened
strace and ltrace are powerful debugging tools I should learn
Threads are similar to processes but multiple threads in a process can share the same resources.
You can change the nice value of a process to deprioritize it so it doesn't bog down other processes. The higher the nice value the nicer the process is being to other processes and therefore the less priority it gets


Ch 9
Wow there's a lot that goes into networking. Now I know a little bit more about TCP, UDP, NAT, ARP, and more

Ch 10
Nice explanation of more user level networking

Ch 11
Mktmp is an awesome command for making temp files

Ch 12
File sharing has so many options still and no clear winner

Ch 13
To change what you see when you open the terminal change the prompt
Aliases are not great because of the confusion from them and it's not easy to see where they are configured

Ch 14
Transition from xorg to Wayland
Dbus is desktop bus to let programs talk to each other or learn about events such as USB stick being added
Printing is kinda complicated


Ch 15
Reaffirmed I don't want to work with C.
Compilers are complicated

Ch 16
Wow compiling big software projects seems like a serious amount of work

Ch 17
There are two types of hypervisors: one where there is a host and a guest and one where the host is the hypervisor itself
Containers aren't as complicated as I thought
Profile Image for Dainius Prakapavičius.
22 reviews2 followers
December 20, 2022
Lots of information in this well-condensed book. The author does good job to explain basics of various complex topics without delving into infinity of details, and by providing valuable references instead.
Profile Image for Miguel.
106 reviews6 followers
July 25, 2017
Absolutely the best Linux book I've read.

A good mix of practical and theoretical content really lives up to the title "What every superuser should know". I've been using Linux for quite some time but there are a few things I never quite understood but the book really helped me learn it and manipulate it like an expert.

I will say I recommend, anyone reading have at least an intermediate level understanding of Linux. If you're a beginner I would say try another book and come back to this once you've cut your teeth on a few compiler problems.

Highly recommended!
46 reviews2 followers
March 18, 2016
Good book, but not as good or complete as the blurb suggests. It does cover a lot of ground, but most of the time it is superficial. A few times it looked like it drifted away from the subject when it was getting really interesting. The "real-world examples" are few and not very helpful.
Profile Image for Majakub.
3 reviews2 followers
October 22, 2019
Good overview of linux world with not too deep insights into os details.
Profile Image for Enzo Altamiranda.
25 reviews
April 19, 2020
Excellent book to understand the fundamentals of linux and operative systems. Full of examples and interesting facts that could help even a seasoned user to brush up on some fundamental concepts.
Profile Image for Dale.
540 reviews68 followers
May 23, 2018
After a brief chapter on the most basic of GNU/Linux command-line tools, Ward dives right into Linux internals, starting with a lengthy walk-through of the boot process. followed by in-depth coverage of devices, file systems, and networking.

The final third of the book covers applications, the desktop, and development tools.

I can see this being useful as a thorough introduction to Linux for someone who plans to spend a lot of time doing Linux-y things; and also as a refresher/tutorial/quasi-reference if you want to do something like setup a samba server or figure out how to get a printer connected.

Overall good clear linear exposition.
Profile Image for Vỹ Hồng.
88 reviews36 followers
December 1, 2024
I have been using Linux for years, in my university days and my day-to-day work. This book is very educational and quite comprehensive for its length. It helps bridged many gaps in my knowledge on topics such as device management, boot-loading process, network configurations, and resource management. The author has a knack for explaining complex concepts in simple words. Though, I also find the contrary in certain cases. But, since I have the liberty to skip over those, I did.

I'd recommend this book if your work involves managing Linux servers, or that you are curious to learn more about the operating system.
Profile Image for Farsan Rashid.
36 reviews17 followers
October 1, 2018
I have not read the book from cover to cover but the most significant chapters(IMO). Definately recommend to anyone looking for their first Unix book as it is short (350 pages), to the point and easy to read.
Profile Image for Prabhu Pant.
32 reviews14 followers
August 28, 2018
Quite decent and informative! This is a kind of a book that should be pursued with ease.
Profile Image for Hildey.
38 reviews
May 8, 2020
Good, but strays too far from Linux itself at some points.
Profile Image for William Schram.
2,340 reviews96 followers
September 18, 2020
"How Linux Works" does what it describes. Brian Ward takes us on a whirlwind tour of the Linux Operating System. There are numerous flavors of Linux available, so Ward tells you which one he is talking about in the text. Ward would prefer that you had a copy of Linux available to work on while you read this book, but I did not have that privilege. I do most of my reading at work and do not have access to a computer there.

The book does not go into the history of Linux. Ward makes some recommendations if you are interested in that aspect of the Linux OS.

Modern Operating Systems are complicated. Multiple pieces are working in sync. Thankfully, Ward doesn't go into too much detail. I didn't want to read a brick anyway.
Profile Image for Anton Antonov.
350 reviews48 followers
November 25, 2015
Whether you're a enthusiast, student, employed software developer or sys admin - this book will do you good. As a software developer, I loved the shell scripting and networking chapters. I learnt a lot in a well organized way and know what else to read, since through the chapters, you'll find a lot of paragraphs where the author recommends books that will help you learn more about the topic(s).

Full review: http://blog.syndbg.com/review-how-lin...
Profile Image for Patrick Coakley.
48 reviews10 followers
September 7, 2017
I think this is a decent book for getting to know a lot about Linux in a short amount of time, but I felt it was very much "a mile wide and an inch deep" approach. Much of the content is skippable for experienced users, but it's an easy read and think it's worth a recommendation for newer Linux users out there who want to know a bit more without getting mired in the details. Based on the description I expected more, but I enjoyed it well enough.
Profile Image for Eugene Popovych.
13 reviews1 follower
December 1, 2015
More a bunch of manuals and howtos than a detailed book about Linux internals. Could be interesting as a reference or investigation guide for different Linux components for somebody. Not for me though.
Profile Image for Farid Samadov.
19 reviews1 follower
January 26, 2016
Book could look boring for advanced users, but nevertheless, there's always something new.
Profile Image for Gerd.
19 reviews
September 22, 2018
Standard Linux introduction books concentrate on the shell functions and describe how to become productively in the file system and in the shell. However, if you are interested in a more detailed approach to the Linux operating system and how its components interplay, you are faced with heavy tomes whose page numbers easily exceed 1000. Notable mentions include Unix Power Tools by Jerry Peek et al., Unix in a Nutshell by Arnold Robbins et al. and the UNIX and Linux System Administration Handbook by Nemeth et al. In order to be comprehensive, these books cover both Unix and Linux, and therefore contain in parts less relevant Input, depending to which of the two camps you belong.

Less is more and 'How Linux Works' limits its scope only to Linux-based operating systems with an easily digestible level of detail where one is not in danger of losing orientation. The strength of the book are in the description of the Kernel boot process, the structure and mounting of the file system. For instance, the communication with the file system devices is explained. Furthermore, the initialization of the User space is described, including run levels and the common implementations of the Init process (systemd and Upstart). The next part deals with networking: internet layer, private networks, routing, Firewall, file transfer tools and the most important commands for adminstration. The last part covers in detail the C++ Compiler as well as the building of libraries and packages from source with Make.

Conclusion: This book is a sprint though the Linux ecosystem and avoids unnecessary in depth coverage. There are many clues throughout the book at points where too specialized topics are being discussed, which might be skipped. The text is easily readable and commands/instructions are reproducable at the own work station. I suspect that the author uses Fedora, since not all tools are available in Ubuntu. However, the content is up to date. In case a more detailed references is needed, one of the aforementioned standard books should be chosesn. For beginners, however, this book is the recommended starting point.
Profile Image for Todd N.
357 reviews254 followers
March 12, 2018
Got the 2nd edition.

My son and I built a Linux computer last year, so I was looking for a book that would serve as a good reference for him as well as a good way for me to brush up.

I’ve used Linux or some flavor of Unix or BSD for most of my career, though I’ve focused on different areas at different times. Even though I knew at least half of it, some of my knowledge was out of date — they are rewriting init??? — and it’s always good to read through a topic systematically rather than picking it up on the streets like I did. For example, I’ve dinked around with BIOS and Grub and init separately but never really stopped to think about how they might be interconnected.

Towards the end the book gets a little scattershot with topics on shell scripting and file copying, but I consider this bonus material after all the good coverage of internals. And there are lots of pointers to further reading.

In the end I think this book is too advanced for my son, but it helped my understanding to the point where I can explain things more clearly to him.
Profile Image for Uğur Erdem Seyfi.
30 reviews9 followers
February 16, 2024
Finally finished it!

Reading this book has helped deepen my understanding of various components in my operating system at a non-kernel level. While I may not remember every detail in the future, I believe that the key concepts will stick with me. I now have a clearer idea of where to locate solutions for any potential issues.

Despite its brief length of 350 pages, this book is thorough and insightful. However, I'd suggest not just reading it passively. I strongly encourage you to try reading it while you are using Linux, preferably a minimal distro. This will allow you to test and witness firsthand the topics discussed in the book.

Before I started reading this book, I was already using Arch. This helped because most of what the book talked about was related to components I frequently interact with. Thanks to this, I experienced a lot of "Aha" moments. I doubt I'd have had the same enriching experience had I not been using Linux prior to reading the book.

Anyways, this is a great book if you want to improve your understanding of the Linux user space.
Displaying 1 - 30 of 118 reviews

Can't find what you're looking for?

Get help and learn more about the design.