Feeling Stuck in Linux? Read One Man Page a Day

Once you've spent years on an operating system, things soon start becoming stagnant. I hit that wall recently. I realized I'm spending most of my time at a full-time job, so I have very little time left to experiment—and experimentation is how you actually learn new things.
So, I came up with a plan. The idea is simple: read a random Linux man page daily (or realistically, whenever I have free time or feel like it), at least 3–4 times a week. It’s lightweight, flexible, and doesn’t require long focused sessions.
Today, I’ll walk you through exactly how I do it and how you can try the same.
Man's Automation
Reading a random man page is easy, you can fully automate it with one command:
man -k . | grep ' (1)' | shuf -n 1 | awk '{print $1}' | xargs man
It's a simple one-line command that you can set as an alias. It lists all man pages, selects one at random, and opens it.
grep ' (1)' is the interesting part here.
If you don't already know, man pages are grouped into 8–9 sections. Some of the most notable are:
1 → user commands
2 → system calls
3 → library functions
5 → file formats
8 → admin commands
9 → kernel internals
With grep ' (1)', we’re focusing only on user commands the ones you’ll actually interact with day to day. Starting here makes learning more approachable, since you build from practical usage before diving into deeper layers.
Reading man pages for library functions or internals can be useful, but it’s usually more relevant when you’re working on something specific or intentionally exploring the system in depth.
Sometimes pure randomness isn’t what you want. You might be in the mood to explore a specific area like networking or processes.
That’s where this variation comes in:
man -k network | grep ' (1)' | shuf -n 1 | awk '{print $1}' | xargs man
The only change is the first part: man -k network.
Instead of listing everything, this searches for man pages that contain the word "network" in their name or description.
It’s not 100% accurate, but it’s good enough to cluster related commands together.
Here are a few solid categories to explore:
filesystem → file, directory, path, mount
process → process, signal, thread, job
network → network, socket, TCP, IP
text → text, stream, filter
system → system, kernel, memory
user → user, group, permission
archive → archive, compression, tar, gzip
disk → disk, partition, filesystem
Mental Models
**Just Explore
**This is my default mode. I open a random man page and read just enough to get a feel for it. Usually:NAME
DESCRIPTION
maybe a quick scan of OPTIONS
If it clicks, I keep going. If not, I move on without guilt.
Most days, I go through 3–5 man pages in about 5–10 minutes total. I also pair this with quick tools:
tldr&cheat.shfor fast examples and practical usage snippets.Always refer to
tldr&cheat.shwhen reading man pages.Go Deep
Once in a while, I find a man page that complements my existing knowledge or fits well into a script I'm writing. That’s when I switch modes.I spend more time on it maybe a week or however long I feel like. I sit with ChatGPT on the side, remove the
grep (1)filter, and explore system calls, library functions, and deeper internals.My recent work on Docker IPC falls under this category, and my current obsession with netfilter and TLS inspection fits here as well.
Explore widely, then go deep selectively.
Complement Your Knowledge
Man pages are powerful but they’re not always the fastest way to understand something.
So I combine them with a few tools:
tldrandcheat.shfor quick, real-world examplesExplainshell to break complex commands into understandable pieces
ChatGPT when I want explanations, comparisons, or “why would I use this?” insights
And most importantly: a running Linux system.
Reading is good but typing commands, breaking things, and fixing them is where things actually stick.
TL;DR
You don’t need hours every day to improve your Linux skills.
You just need a system that fits into your life.
For me, it’s this:
Pick something randomly
Follow curiosity when it shows up
Go deeper when it matters
That’s it.
It keeps things fresh, avoids burnout, and slowly builds understanding over time.
Okay Bye... Have a Great Day Ahead!





