DEV Community

Cover image for Hitchhiker's Guide to Linux | Gif.How
GifHow
GifHow

Posted on

Hitchhiker's Guide to Linux | Gif.How

Introduction

The first time I stumbled into a particular subreddit, I felt like a kid staring at a garage full of tricked-out supercars. Stylized terminals, floating widgets, desktops that looked like sci-fi control panels — people called it "ricing". It wasn’t just about aesthetics; it was about bending your OS to your will.

"Say no more," I muttered, immediately diving headfirst without a clue what I was getting myself into.

💡 Fun Fact #1:

I bricked my laptop three times in the first week. One of which was by deleting the one and only network manager I had... The thing that I need to connect to internet and set things up.

But here’s the thing — Linux rewards stubbornness. Not to say you only learn a thing or two when you've shot yourself in the foot at least once, but consider it a faster alternative to watching guides and tutorials.

Today, I’m still a ricing enthusiast (btw I use Arch), a part-time DevOps dabbler, and Pentest newbie who’s still learning the ropes. This guide isn’t from a guru. It’s from someone who’s still duct-taping their knowledge together. But hey, maybe that’s exactly what you need.


What Even Is Linux?

Linux is an open-source OS kernel created by Linus Torvalds in 1991. It's like the Wild West of operating systems — chaotic and unhinged. And that's why I absolutely love it.

Unlike Windows or macOS, Linux isn’t a single product, it’s a philosophy. You’re free to tweak, break, and rebuild it. Need a lightweight OS for hacking? A home server? A desktop that looks like a retro sci-fi terminal? Linux does it all.

💡 Fun Fact #2:

Linux is written in C. You can literally read its source code. Yes, all of it.


Why Linux for Pentesting/DevOps?

  • Control: You own every byte. No ads, no forced updates, no “helpful” AI.
  • Tools: Most pentesting tools (Burpsuite, Hashcat, Wireshark) are built for Linux.
  • Automation: DevOps runs on scripting and you probably don't need any other scripting language than Bash.
  • Community: When you’re stuck, some neckbeard on Stack Overflow has already fixed it. Unless you're planning to use Arch, in which case they will kindly advise you to read the docs.

Picking Your Poison

sm5gko8e0ky81.png

Distros are Linux’s “flavors.” They bundle the kernel with apps, package managers, and desktop shtuff.

Here’s the TL;DR:

  • Newbies: Ubuntu, Mint, Pop!_OS (The nerd equivalent of Starbucks Pumpkin Spice Latte)
  • Pentesters: Kali, Parrot OS (pre-loaded with pentesting tools)
  • Masochists: Arch, Gentoo (build everything from scratch. You’ll cry. You’ll learn.)
  • Servers: Debian, Alpine (stable, boring)
  • Paranoiacs: Qubes, Tails (either the government is living in your walls, or you're just very privacy-centric)

I started with Ubuntu, then fell into the Arch rabbit hole.

Your path may vary.


The Terminal: Your New Best Frenemy

The command-line interface (CLI) is Linux’s soul. It’s intimidating until you realize it’s just a text-based cheat code.

Let’s break down some essential commands:

# Print stuff
$ echo "I solemnly swear I’m up to no good"
I solemnly swear I’m up to no good  

# Redirect output to a file (great for logs)
$ echo "Victim: 192.168.1.105" > targets.txt

# Append to a file without overwriting
$ echo "Ports open: 22, 80, 443" >> targets.txt

# Grep finds text patterns (like "Ctrl+F")
$ grep "Ports" targets.txt
Ports open: 22, 80, 443

# Pipe (|) chains commands. This finds all running Python processes:
$ ps aux | grep "python"
Enter fullscreen mode Exit fullscreen mode

Real-World Example: "Is Firefox Running?"

$ echo "Process Audit:" && ps aux | grep "firefox"  
Enter fullscreen mode Exit fullscreen mode

Output:

Process Audit:  
user 3021 2.0 3.4 2504616 ... firefox
Enter fullscreen mode Exit fullscreen mode

Explanation:

  • echo – Prints a line of text.
  • && – Runs the next command only if the previous one succeeds.
  • ps aux – Lists all running processes.
  • | grep "firefox" – Filters the results to show only lines containing "firefox".

📌 It’s just a bunch of commands stitched together to create something useful. Get used to it — you’ll be doing this a lot.


For Pentesters: 🔧 Tools You'll Use

1. nmap: Scan networks

nmap -sS 192.168.1.0/24
Enter fullscreen mode Exit fullscreen mode

2. crontab: Automate scripts

crontab -e
Enter fullscreen mode Exit fullscreen mode

Add this line:

0 6 * * * /home/get_daily_news.sh
Enter fullscreen mode Exit fullscreen mode

➡️ Runs the script every day at 6 AM.

3. cat: Read file contents

cat totallynotmalware.txt >> server.php
Enter fullscreen mode Exit fullscreen mode

📌 Useful in log poisoning (more on that in another blog post).


For DevOps: 🤖 Automation

1. Bash Scripting

#!/bin/bash

# Deploy app, then test if port 80 is open
deploy_app.sh && nc -zv localhost 80
Enter fullscreen mode Exit fullscreen mode

2. SSH: Manage servers remotely

ssh -i ~/.ssh/key.pem user@server
Enter fullscreen mode Exit fullscreen mode

3. Docker: Containerize everything

docker run -d --name my_container
Enter fullscreen mode Exit fullscreen mode

What's Next? 🚀

If you're ready to dive into Linux, here's what I recommend:

  1. Install a distro: Start with Ubuntu or Mint if you’re new.
  2. Learn the basics: Get comfortable with the command line and essential tools.
  3. Experiment: Break things, fix them, repeat.
  4. Join the community: Forums, subreddits, local meetups — they're gold.

Ready to see more knowledge in action? Check out our video guides on
Gif.How or follow blogs of us Gif.How Blog and Medium

⚠️ Funny Warning: rm -rf / does not just remove your French language pack!

Top comments (0)