100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
Linux & Shell Scripting
30 minbeginner

The Filesystem Hierarchy and Navigation

The Linux filesystem is not a random collection of directories — it is a deliberate hierarchy governed by the Filesystem Hierarchy Standard (FHS), which specifies the purpose and expected contents of every major directory. This standard exists so that independent software components — the kernel, system utilities, application packages, user data — can all find what they need without explicit coordination.

For DevOps engineers, this hierarchy is operationally critical. When a service fails, knowing that logs are in `/var/log` and configuration is in `/etc` means you reach the right place immediately without searching. When writing Dockerfiles or Ansible playbooks, placing files in FHS locations means monitoring tools and log aggregators find them automatically without additional configuration.

Understanding mount points is equally important — different directories can be on entirely different physical devices. A `df -h` showing the root volume at 30% does not reveal that `/var` on a separate partition is 100% full. Misunderstanding this is the root cause of many confusing 'No space left on device' production failures.

Analogy🏏Cricket
🏏 Think of it like cricket: The match itself is the kernel — real computation at the hardware level. The commentators translating that action into words for the audience are the shell: they take raw events and present them in a form humans can understand and interact with. The television set in your living room is the terminal emulator: it displays the commentary but does not participate in the match.Just as switching from one broadcaster to another changes commentary style but not the underlying match, switching between Linux distributions changes shell defaults and package manager but not the kernel. Just as Star Sports and Sony Six both cover the same IPL match with different graphics packages, Ubuntu and Alpine both run the same kernel with different userspace tools.The insight is that these layers are genuinely separate, which is why you can swap any one of them independently.
Lesson 3 of 40
0% complete