Show HN: I wrote a modern Command Line Handbook
82 comments
·May 29, 2025mtlynch
Cool book!
Humble suggestion: Give more specific examples of what the reader will learn on the landing page. From the landing page, I don't know if this is for total command line beginners or has helpful tips for people familiar with bash already. I had to hunt around to find sample pages, and they provided much better sense of what's in the book.
Also, spotted some small issues in the copy:
"Fresh out of press" - The more common expression is "hot off the press." "Out of press" sounds similar to "out of print" (i.e., no longer sold)
"Grok the Linux command line on only 120 pages" - should be "in only 120 pages"
petr25102018
True, the landing page could be more detailed. I didn't want to repeat much the info on Gumroad page, but maybe I should rethink it.
And thanks for the copy suggestions. I am not a native speaker :)
rubit_xxx17
I’m excited about this book and appreciate your work!
One thing that was distracting was the large title font when I tried to view this site in portrait mode on mobile, as some of the letters are cut off. If that could be fixed, it would help ensure people stay engaged and read it.
You could also potentially use an LLM or something like Grammarly to help proofread it (not edit it).
This is very cool!
petr25102018
Thank you!
Yes, as other people pointed out too, the landing page could do with some mobile and copy improvements.
frosting1337
I definitely think you should add more info to the landing page - I had no idea there was further information on the Gumroad page.
asicsp
I wrote interactive TUI apps with exercises for Linux CLI tools, coreutils, grep, sed and awk: https://github.com/learnbyexample/TUI-apps
charlie-83
Cool, couple of comments. The website it a bit broken on mobile (at least for me) since text goes off the screen. Second, it would be good to have some sample pages or at least a page of contents so people can see the level of detail the book is aimed at. I know I could just get the book for free and then pay later but that kind of a faff and I feel bad choosing $0 for these kinds of things.
petr25102018
Thanks for the feedback. I was trying to make it work on mobile but maybe I didn't test it well in the end.
As for a sample, I will go and try to make something now. Thanks.
Edit: Example pages here: https://drive.google.com/file/d/1PkUcLv83Ib6nKYF88n3OBqeeVff...
PeterWhittaker
One nit: ^D only exits if the cursor is at the beginning of a line. Enter <space>^D and the session remains.
Otherwise, looks good! Use of "env" and proper quoting are strong signals!
petr25102018
Thanks for the clarification. I will see if I can sneak in a note about this in the next update :)
pipes
I agree with all this. I'm on Firefox android, pixel, lose part of the screen too.
I'd love to read a table of contents. I don't want to rip you off with zero dollars!
Anyway, sounds like a great book. Congratulations on completing and "shipping"!
petr25102018
> I agree with all this. I'm on Firefox android, pixel, lose part of the screen too.
Ah okay, I really wasn't aware. Thanks for reporting.
jaredhallen
I am also seeing text off the screen using Brave on Android.
petr25102018
You are right. It is wrong, will need to look into this.
curtgrimes
These two tweaks should improve it (by preventing the largest text and book graphic from overflowing the viewport horizontally on some smaller screen sizes):
diff --git a/index.html b/index.html
index a0f978c..040e50e 100644
--- a/1.html
+++ b/1.html
@@ -21,3 +21,3 @@
h1 {
- font-size: 3.8em;
+ font-size: clamp(2.2em, 7vw, 3.8em);
margin-bottom: 0;
@@ -60,2 +60,3 @@
.hero-img {
+ max-width: 100%;
transform: rotate(2deg);
Also, I really like what I see in your book so far and I am already learning things on the first few pages. Thanks!jdshaffer
Looks nice! Purchased a copy. :-)
petr25102018
Example pages here: https://drive.google.com/file/d/1PkUcLv83Ib6nKYF88n3OBqeeVff...
justusthane
I consider myself reasonably proficient in the shell, but I learned something just from your sample pages (process substitution). Purchased!
petr25102018
Thanks!
teddyh
If you have not skimmed through the manual of bash¹ enough to learn about process substitutions, what makes you think you would read a book?
justusthane
Because generally a manual is “here is every single detail of this thing”, while a book like this is “here’s an overview of the particularly useful stuff.”
I’ll go to the manual if I’m trying to understand how a particular thing works, or how to do a particular thing, but it’s not as useful to me for feature discovery.
mtlynch
Different people prefer different formats for information. Some people prefer to read the manual from start to finish while others learn better seeing the same concepts in a hands-on tutorial.
From reading the sample of OP's book, it seems far more practical and accessible than the bash manual, so I'm not surprised that a lot of people would read OP's book that have no interest in reading the bash manual cover to cover.
cortesoft
Maybe because they didn't think to?
jcynix
Hmm, the example page doesn't convince me, for example
> The diff utility can compare files and print their differences. If we pass it the result of ls commands, we can compare the contents of directories.
No, if you pass the output of ls commands, you might get an error because you'll pass a bunch of files to diff.
And last but not least there's
diff -r directory-a directory-b
to compare two directories file by file.sureglymop
I think it was about demonstrating process substitution. You don't pass a bunch of files to diff, you pass the output of ls, as a file, to diff.
I actually thought it was awesome to see that. I use this a lot to diff the output of commands and many people don't know about it.
petr25102018
I wanted to demonstrate the use of the substitution, not the best way to diff directories. Often I tried to create examples that demonstrate multiple concepts or tools at once to save space. But I see your point.
sagarpatil
Just bought it. Any advice on how to use the book to master the terminal? One page a day or try to finish everything in a week or two?
petr25102018
I definitely recommend to try things as you go along, copy paste things and run them yourself. As for the timeline, everyone is different. My own take is that learning always takes time and repetition, so I would not rush it and focus on practice.
0x62
The content seems really great, however the typesetting makes it quite hard to read:
* Code blocks on a subsequent page to the explanation, especially when there is enough space to show it (p18/19)
* Call-outs as above (p26/27)
* Single words broken by a page (p51/52)
* Footers spanning multiple pages (p61/62)
It sounds quite nitpickey but I find it really breaks the flow when I’m reading, and trying to comprehend a section requires scrolling back and forth between two pages.
petr25102018
Thanks for the feedback.
I agree and I try to keep it as nice as I can, but it can be hard to do when the book is being updated and the content changes.
Nevertheless I will be mindful of it for the next update.
briandoll
Folks interested in this will also appreciate The Shell Haters Handbook: https://shellhaters.org/deck/
MaggieL
Also don't miss https://wizardzines.com/
dkarl
Is your focus on older tools that tend to be on most machines and used in older shell scripts (e.g., find and grep), or on newer and upgraded tools (fd, fzf, rg) that developers install on their own machines, or both?
petr25102018
The older standard tools, because they can be easily put in CI pipelines and shared as scripts with coworkers.
For example, in my personal and professional life I use Make everywhere. The book mentions alternatives, but the examples are built on the time-tested tools.
I focused on things that don't require install (if given the option) or the ones that you are more likely to encounter at work. It is a tradeoff and I can see how the reverse would be appealing too.
cerved
<3 GNU Make
ontouchstart
Make is a powerful self-documentable tool. It can hide tons of complicated dependencies implementation details behind a simple and universal CLI.
_joel
Nice work, I've been using linux 20+ years and learnt something from the example pages. (edit, just realised it's closer to 30 now, jesus)
petr25102018
Thanks!
rochak
Good resource to couple this resource with: https://linuxjourney.com.
asicsp
See also this open source version inspired by that site: https://github.com/daquino94/linux-path
nickjj
How has the "pay what you want" model worked out if you don't mind me asking? It's something I've thought about in the past for selling courses.
petr25102018
I just changed the payment model before posting it here, so there is no past data on this. I don't expect it to generate revenue compared to normal sales (it will most likely be a small fraction). But for normal sales you need to be able to promote it.
My primary motivation is to share the work that I spent a lot of time on because I want to move on and work on other things (I don't want it to just sit on my disk when it can be useful to others before getting outdated etc.). It never was meant to be some primary source of income. In that case I would be writing a book about AI :)
Maybe I will write a blog post with some reflections about making the book at some point :)
ctippett
I admire your mindset (and humility). Thanks for making this available.
TLDR: I wrote a handbook for the Linux command line. 120 pages in PDF. Updated for 2025. Pay what you want.
A few years back I wrote an ebook about the Linux command line. Instead of focusing on a specific shell, paraphrasing manual pages, or providing long repetitive explanations, the idea was to create a modern guide that would help readers to understand the command line in the practical sense, cover the most common things people use the command line for, and do so without wasting the readers' time.
The book contains material on terminals, shells (compatible with both Bash and Zsh), configuration, command line programs for typical use cases, shell scripting, and many tips and tricks to make working on the command line more convenient. I still consider it "an introduction" and it is not necessarily a book for the HN crowd that lives in the terminal, but I believe that the book will easily cover 80 % of the things most people want or need to do in the terminal.
I made a couple of updates to the book over the years and just finished a significant one for 2025. The book is not perfect. I still see a lot of room for improvement, but I think it is good enough and I truly want to share it with everyone. Hence, pay what you want.
EXAMPLE PAGES: https://drive.google.com/file/d/1PkUcLv83Ib6nKYF88n3OBqeeVff...
https://commandline.stribny.name/