Feeling Stuck in Linux? Read One Man Page a Day

Search for a command to run...

No comments yet. Be the first to comment.
If you just want Thunar to work properly without digging into details, run: sudo pacman -S thunar gvfs tumbler ffmpegthumbnailer thunar-archive-plugin Optional (but useful): sudo pacman -S thunar-vol
For those who don't know, Wayle is a project from the same creator as Hyprpanel, which is apparently going to be deprecated soon. Probably because of that, I couldn't find a proper theming guide anywh

If you just want Thunar to work properly without digging into details, run: sudo pacman -S thunar gvfs tumbler ffmpegthumbnailer thunar-archive-plugin Optional (but useful): sudo pacman -S thunar-vol

I was bored and just wanted to code something to spark the life, of course. And, to fight it, my brain thought, "how fast really is my DNS provider?" No architecture diagram. No benchmarking framewo

What really happens when you run docker ps: from CLI to Kernel Internals

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.
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
**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.sh for 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.
Man pages are powerful but they’re not always the fastest way to understand something.
So I combine them with a few tools:
tldr and cheat.sh for quick, real-world examples
Explainshell 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.
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!