I still remember the exact moment I opened the Linux terminal for the first time.
Black screen. Blinking cursor. Absolute silence.
No icons, no buttons, no "click here to continue." Just this tiny blinking thing waiting for me to type something — anything — and I had absolutely no idea what to say to it.
My first reaction, honestly? I closed it.
Then I opened it again because I felt embarrassed closing it, even though I was alone.
I ended up doing what every beginner does: copying random commands from Stack Overflow without really understanding what they did. Sometimes things worked. Sometimes I'd accidentally delete a file I needed. Once I somehow broke my entire home directory setup and had to reinstall things.
But here's what I eventually figured out — Linux wasn't hard because it was complicated. It was hard because it was unfamiliar. Once a few commands started making sense, the whole thing clicked differently.
If you're a CS student, a beginner dev, or someone just getting into backend or DevOps, here are the 10 commands that genuinely made the terminal less terrifying for me.
First, Why Does Linux Even Matter?
Honestly, for a while I thought Linux was one of those "nice to have" skills that senior devs recommend but you can probably skip.
You can't really skip it.
Servers run Linux. Cloud infrastructure runs Linux. Docker, DevOps pipelines, most backend environments — Linux is just quietly everywhere. At some point it stops being optional and becomes part of your actual workflow.
The good news is you don't need to learn hundreds of commands to feel comfortable. You just need a solid handful to start.
1. pwd — "Wait, Where Am I?"
The terminal doesn't show you where you are by default. That's confusing at first.
pwd
This prints your current working directory — basically your location in the file system. It stands for print working directory.
I used this constantly when I was learning. Still use it more than I'd like to admit.
2. ls — See What's Around You
Want to see what files and folders are in your current location?
ls
Want more details like file sizes and permissions?
ls -l
Want to also see hidden files (files that start with a dot)?
ls -la
ls becomes muscle memory pretty fast. You'll type it without thinking after a week.
3. cd — Actually Move Around
Navigation. This one's essential.
cd Documents
Go back one level:
cd ..
Jump straight to your home directory:
cd ~
Once you get used to cd, clicking through folders in a file manager starts feeling weirdly slow. It's one of those small things that makes the terminal feel worth it.
4. mkdir — Create a Folder Without the Right-Click
mkdir my-project
That's it. New folder, done.
No right-clicking, no naming dialog box, no confirmation window. Just instant. Linux really does value speed and efficiency, and mkdir is a small example of that.
5. touch — Create an Empty File
Need a new file quickly?
touch index.html
touch app.py
It creates an empty file with that name. Nothing fancy, but when you're setting up a project structure, this saves you a surprising amount of time.
6. cp and mv — Copy, Move, and Rename
Copy a file:
cp notes.txt notes-backup.txt
Move a file to a different folder:
mv notes.txt ~/Documents/notes.txt
Rename a file (it's the same command, just staying in the same place):
mv old-name.txt new-name.txt
The rename thing tripped me up for a bit — I kept looking for a separate rename command. Turns out mv just does it.
7. rm — Delete Things (Carefully)
Delete a file:
rm file.txt
Delete a folder and everything inside it:
rm -r foldername
Important heads-up: Linux usually won't ask if you're sure. It just deletes. No trash bin, no undo.
This is how beginners learn to be careful. Usually after losing something they needed.
If you want it to prompt you before deleting, you can use rm -i, but honestly most people just learn the habit of double-checking before they run it.
8. cat — Read a File Without Opening an Editor
cat notes.txt
This just prints the file contents straight into your terminal. Super useful for quickly checking configs, reading log files, or just seeing what's in something without bothering to open a text editor.
It's one of those commands that seems almost too simple at first, then you realize you're using it constantly.
9. grep — Search Inside Files
This one felt like a superpower once I actually understood it.
grep "error" logs.txt
This searches through logs.txt and shows you every line that contains the word "error."
Once you start debugging real applications or reading through server logs, grep becomes one of your most-used tools. You can search through hundreds of lines instantly instead of scrolling through everything manually.
You can also combine it with other commands using pipes, but that's a rabbit hole for another day.
10. history — Your Terminal Remembers Everything
Forgot a command you typed earlier?
history
This shows your command history. Every command you've run, listed out.
You can also press the Up arrow to cycle through recent commands one by one, which I use constantly.
history has saved me more times than I can count — especially when I've run some complex command that worked, and then immediately forgot what I typed.
🎁 Bonus: man — The Manual That's Actually Built Into the Terminal
This one I wish someone had told me about on day one.
Every time I didn't understand what a command did or what flags were available, I'd go Google it. That works fine, but there's a faster option that's always right there:
man ls
man grep
man stands for manual. It opens the official documentation for whatever command you pass it — right inside the terminal, no browser needed.
So instead of searching "ls command options linux," you can just type man ls and get the full breakdown: what the command does, every available flag, examples, all of it.
Use the arrow keys to scroll, and press q to quit and go back to your terminal.
Fair warning: man pages are pretty dense and not exactly written for beginners. But once you get used to the format, it's genuinely useful — especially when you're working on a remote server with no internet access and need to look something up.
It's also just a good habit. Gets you comfortable reading documentation instead of always reaching for a tutorial.
What the Terminal Actually Teaches You
When I started, I thought learning Linux was about memorizing commands. The more time I spent in the terminal, the more I realized it's teaching you something else.
It teaches you how computers actually work. Files, permissions, processes, how things are structured under the hood. GUI applications hide all of this. The terminal just shows it to you directly.
You don't need to become an expert overnight. Just open the terminal, use it a little every day, and experiment. Break things, fix them, look stuff up. It gets less intimidating pretty quickly.
Everyone who looks comfortable in the terminal today was once staring at that same blinking cursor thinking, "I have no idea what I'm doing."
The cursor was just waiting for a first command.
What was your first terminal experience like? Was there a command that finally made things click for you? Drop it in the comments — I'd love to know.
Top comments (0)