Skip to main content

Command Palette

Search for a command to run...

Inside Linux: What I Learned by Exploring the System

What the file system taught me about how Linux really works

Updated
6 min read
Inside Linux: What I Learned by Exploring the System

When we first learn Linux, we usually focus on commands, creating files, navigating directories, installing packages. But Linux is much more than that. It exposes almost everything through its file system.

Instead of treating it like a black box, I explored how inux actually works internally by digging into its directories. What i found changed how I understand the system completely.

1. /etc - The Brain of system configuration

The /etc directory contains configuration files for almost everything in Linux.

What it does

It stores system wide configuration files like netwroking, users, services, DNS and more.

Why it exists

Instead of hardcoding behavior into programs, Linux keeps configurations separate so the can be modified easily.

What problems it solves

It makes system flexible. You do not need to recompile software to change behavior.

Insight

Files like /etc/passwd and /etc/hosts showed me that linux relies heavily on simple text files for critical operations. The system is transparent. You can literally read how it works.


2. /etc/resolv.conf - How DNS Actually works

This file defines how your system resolves domain names.

What it does

It contains nameserver entries like (Google DNS: 8.8.8.8 ) in my case it diffrent.

Why it exists

When you type a website, the system needs to know where to ask for its IP.

What problem it solves

WIthout DNS configuration, your system cannot translate domain names into IP addresses.

Insight

I realized DNS is not magic. Its just a lookup process defined in a simple file. Also, in modern systems, this file is often auto managed by services like systemd, which means manual edits may not persist.


3. /proc - A Live Window Into the Kernel

This was one of the most surprising discoveries.

What it does

/proc is a virtual file system that shows real time system and process information.

Why it exists

It provides a way for users and programs to interact with kernel data without special tools.

What problem it solves

Instead of creating complex APIs, Linux exposes system data as files

Insight

Files like /proc/cpuinfo and /proc/meminfo are not real files, they are generated dynamically.


4. /dev - Devices Are Just Files

What it does

Contains device files representing hardware like disks, terminals and USB devices.

Why it exists

Linux abstracts hardware access through file operations.

What problem it solves

Programs don't need special logic for hardware, they just read/write files.

Insight

Seeing files like /dev/sda (hard disk) made me realize: interacting with hardware in Linux is no different from interacting with a file. That’s a powerful design decision.

Important warning /dev/sda is your entire disk. So never run random commands, it will wipe your whole system


5. /var/log - The System’s Memory

What it does

Stores logs for system events, errors, and activites.

Why it exists

Systems need a record of what happened for debugging and monitoring.

What problems it solves

Without logs, diagnosing issues would be nearly impossible.

Insight

Files like auth.log showed login attempts and security events. It made me realize how much information the system keeps and how important logs are for security.


6. /boot - How the System Starts

What it does

Contains files required to boot the system, including the kernel.

Why it exists

The system needs a starting point before everything else loads.

What problem it solves

Provides the necessary components to initialize the OS.

Insight

Files like vmlinuz (kernel image) showed me that the kernel is just a file laoded during boot. The entire OS starts from here.


7. /etc/systemd — How Services Are Controlled

What it does

Stores service configuration files (called unit files).

Why it exists

To manage background services like servers, schedulers, and daemons.

What problem it solves

Automates starting, stopping, and managing services.

Insight

Services are not mysterious processes, they are defined by simple configuration files. You can read and understand exactly how a service behaves.


8. /etc/passwd and /etc/shadow - User Management Internal

What it does

Stores user account information and passwords (hashed).

Why it exists

To manage authentication and user identities.

What problem it solves

Provides a structured way to handle multiple users securely.

Insight

Passwords are not stored directly, only hashes are. Also, separating /etc/passwd and /etc/shadow improves security by restricting access.


9. Networking Internals - Interfaces and Routing

What it does

Network configurations are stored in files and managed by system services.

Why it exists

To define how the system connects to networks

What problems it solves

Controls IP addresses, gateways, and routing.

Insight

Routing tables determine how packets travel. It made me realize networking is just rule based decision maiking.


10 . Environment Configuration

What it does

Files like .bashrc and /etc/profile define environment variables.

Why it exists

To control shell behavior and program execution.

What problem it solves

Allows customization of user environments.

Insight

Things like PATH determine how commands run. If misconfigured, even basix commands can stop working


Final Thoughts

Exploring Linux this way honestly changed how I look at it.

Before this, it felt like a system where you just memorize commands and hope things work. But once I started digging into the file system, it began to make sense in a completely different way.

What surprised me the most is how open everything is. Nothing feels hidden. Processes, devices, configurations all exist right there in front of you as files. You can actually see how the system works instead of guessing.

At some point, it stopped feeling complicated. It started feeling logical.

The biggest thing I am taking away from this is simple:

Linux is not really about commands.
It is about understanding how things are organized behind the scenes.

And once you get that, you stop feeling like someone just using the system.
You start thinking like someone who actually understands it.