Free — no signup required

Introduction: "Everything is a File

2 min read

The Unifying Philosophy

If you're coming from Windows, the Linux filesystem might look strange at first. Where are the C:\ and D:\ drives? Where's "My Computer"?

In Linux, there are no drive letters. There is only one single, unified hierarchy of files, starting from the very top, known as the root, represented by a single slash: /. Every file, every directory, every device on your entire system hangs off this single starting point like branches from a tree trunk.

Furthermore, Linux operates on a powerful philosophy: "Everything is a file."

This isn't just a slogan — it's a design decision that shapes everything:

  • A text document is a file.
  • A directory (folder) is just a special file containing a list of other files.
  • Your hard drive is represented as a special file under /dev/sda.
  • Your keyboard is a file under /dev/input/.
  • Information about your CPU is available as a text file in /proc/cpuinfo.
  • A network socket is also represented as a file descriptor.

This abstraction means you can use the same set of standard tools — cat, echo, grep, pipes — to interact with almost every part of the system. Want to see your CPU info? cat /proc/cpuinfo. Want to write directly to a device? Redirect output to its file. The same patterns work everywhere.

Why this matters in practice: A Windows administrator needs separate tools for the registry, services, devices, and files. A Linux administrator uses variations of the same handful of commands for all of them. Once you learn to manipulate files and text streams, you can manipulate almost anything on the system. This uniformity is why shell scripting is so powerful on Linux, and why a skilled Linux engineer can operate effectively on any distribution with minimal ramp-up time.

This is one of 18 chapters

Every chapter is free — Kubernetes, Terraform, SRE, distributed systems, and more — with fast daily review built in.

Sign up free