Skip to main content

Command Palette

Search for a command to run...

Linux File System Hunting

Updated
6 min read
Linux File System Hunting

When I first started using Linux, I thought learning a bunch of terminal commands meant I understood the system. But that idea didn’t last long. The more I explored, the more I realized something important — Linux is not really about commands. It’s about how everything is structured underneath.


It All Starts with /etc — The System’s Control Room

One of the first directories that caught my attention was /etc. At first glance, it just looks like a place full of random config files. But the deeper I went, the more it felt like the brain of the system.

Everything lives here — user configs, network settings, DNS behavior, service definitions. Files like /etc/hosts, /etc/resolv.conf, and /etc/passwd are not optional. They directly control how the system behaves.

What I found interesting is that Linux doesn’t hide its logic. Instead of locking things behind some interface, it just gives you plain text files. That solves a big problem — you can actually understand and debug your system without guessing.

That was my first big realization: Linux prefers transparency over convenience.


DNS Is Simpler Than I Thought

Before this, DNS always felt like something external — like something the browser or internet handled.

But then I looked at /etc/resolv.conf.

That file literally decides which DNS server your system uses. That’s it.

Even more surprising was /etc/hosts. You can override DNS completely by mapping domains manually. No internet required.

This exists to solve a very basic problem — converting domain names into IP addresses. But the way Linux handles it shows something deeper:

Your system has more control over networking than you think.


Routing Isn’t Just a Command Output

Earlier, I used to run commands to check routing tables and move on. But I never thought about where that data actually comes from.

Turns out, routing decisions are based on system-level configurations and kernel-managed data. Some of it is influenced through files and scripts inside /etc.

This exists to solve one core problem — deciding where your data packets should go.

What clicked for me here is that Linux is constantly making decisions in the background. And those decisions are not random — they’re based on structured configurations.


/proc Completely Changed My Perspective

If there’s one directory that genuinely surprised me, it’s /proc.

At first, it looks like a normal folder. But it’s not. These aren’t real files. They’re live system data generated by the kernel.

You can literally open files to see:

  • CPU information

  • Memory usage

  • Running process details

There are even folders named after process IDs.

This exists to solve the problem of observing a live system without stopping it.

The coolest part? Linux represents system state as files. That design choice makes everything easier to inspect and understand.

This was the moment I realized — Linux is designed for people who are curious.


Logs: The System’s Memory

Then I explored /var/log.

This is where the system writes down everything — boot events, login attempts, errors, service activity.

At first, logs just looked like long text files. But when I started reading them carefully, they felt like a timeline of everything that happened on the system.

This exists to solve the problem of traceability.

If something breaks, logs tell you what happened before it broke. If someone tries unauthorized access, it gets recorded.

What I learned here is simple but powerful: Linux doesn’t forget.


Users Are Just Entries in a File

User management always sounded complex. But inside Linux, it’s surprisingly straightforward.

User data is stored in /etc/passwd, and passwords (in encrypted form) are stored in /etc/shadow.

Each line represents a user.

That’s it.

This system exists to solve identity and access control. But what stood out to me is how simple and structured it is.

There’s no mystery — everything is defined clearly in files.


Permissions: The Real Security System

At some point, I started paying attention to file permissions more seriously.

Every file has:

  • an owner

  • a group

  • permissions (read, write, execute)

This system exists to control who can do what.

What I found interesting is how deeply this is enforced. It’s not just about files — it affects processes, services, and system behavior.

Linux doesn’t rely on hidden security layers. It builds security directly into the filesystem.


/dev — Where Hardware Becomes Files

This one was honestly mind-blowing.

In Linux, devices are treated as files.

Hard drives, USB devices, terminals — they all show up inside /dev.

This exists to solve a design problem — how do you interact with different hardware in a consistent way?

Linux’s answer is simple: Treat everything like a file.

Once you understand that, a lot of things start making sense.


Booting the System: /boot

The /boot directory contains everything needed to start the system — kernel files, bootloader data, and configuration.

This exists to solve one critical problem — how the system starts.

What stood out to me is how sensitive this part is. A small mistake here can stop the system from booting completely.

It made me realize that even before Linux runs, there’s already a structured process happening behind the scenes.


Services and Automation with systemd

Modern Linux systems use systemd to manage services.

Configurations inside /etc/systemd define:

  • which services start

  • when they start

  • how they behave

This exists to manage processes efficiently.

The interesting part is that Linux doesn’t just run programs — it organizes them, tracks them, and restarts them if needed.

It’s like a built-in manager for everything happening in the background.


Final Thoughts

This exploration changed how I see Linux.

It’s not just an operating system — it’s a system you can actually read, understand, and modify.

Every directory has a purpose:

  • /etc controls behavior

  • /proc shows live state

  • /var/log records history

  • /dev connects hardware

  • /boot starts everything

What makes Linux powerful is not just what it does, but how openly it does it.

The biggest takeaway for me:

Linux is not a black box. It’s a system built for people who want to explore it.