Beginner 7 min read Updated: Sep 09, 2026

Linux Filesystem Hierarchy Explained

Demystify the Linux Filesystem Hierarchy Standard (FHS), covering /, /etc, /var, /home, /dev, /proc, and virtual filesystems.

Unlike Windows, which assigns separate drive letters (such as C: or D:) to physical partitions, Linux organizes all files and storage devices into a single unified inverted tree structure starting from the root directory: /. This standardized structure is codified by the Filesystem Hierarchy Standard (FHS).

The "Everything Is a File" Philosophy

A central design tenet of Unix and Linux is that system resources are presented as files. Physical hard drives, terminal connections, network sockets, process memory tables, and hardware sensors are all accessible through standard filesystem paths using standard I/O system calls (open, read, write, close).

Key Directory Breakdown

Every standard Linux installation arranges core files into dedicated top-level directories according to their lifecycle, mutability, and sharing capabilities:

Directory Primary Purpose Administrator Examples
/ Root directory; the anchor of the entire filesystem tree All paths originate here
/bin, /sbin Essential binary executables (often symlinked to /usr/bin) /bin/ls, /sbin/ip, /sbin/fdisk
/etc Host-specific system configuration files /etc/ssh/sshd_config, /etc/hosts, /etc/fstab
/var Variable data that changes continuously during runtime /var/log/syslog, /var/spool/cron, /var/lib/docker
/home User personal directories and environment configurations /home/john/.ssh/authorized_keys
/root Home directory for the root superuser account Isolated from /home so root can log in even if /home is unmounted
/dev Device nodes representing hardware peripherals /dev/sda (disk), /dev/nvme0n1 (NVMe drive), /dev/urandom
/proc Pseudo-filesystem reflecting kernel state and running processes /proc/cpuinfo, /proc/meminfo, /proc/[PID]/cmdline
/sys Kernel pseudo-filesystem exposing hardware device parameters /sys/class/net/eth0/operstate
/tmp Temporary storage cleared on system reboot Scratch files, temporary installation archives

Virtual Filesystems: /proc and /sys

Directories such as /proc and /sys do not occupy space on your hard drive. They are virtual filesystems dynamically generated in RAM by the Linux kernel. When you read a file inside /proc, the kernel intercepts the read request and generates formatted real-time telemetry:

# View real-time CPU specifications directly from the kernel cat /proc/cpuinfo | grep "model name" | head -n 1 # View system RAM utilization cat /proc/meminfo | head -n 5 # Inspect the command line arguments of process PID 1 (systemd) cat /proc/1/cmdline

Storage Mounting and the /etc/fstab File

In Linux, storage devices are made accessible by attaching them to an empty directory known as a Mount Point. The /etc/fstab (File Systems Table) file defines which partitions automatically mount at boot time:

# View all active disk partitions and mount points lsblk -f # Check filesystem disk space utilization in human-readable format df -h

Warning: Never edit /etc/fstab without testing syntax using mount -a beforehand. A syntax error or missing UUID in /etc/fstab can cause the system to drop into an emergency maintenance shell during reboot.

Summary

The Linux filesystem hierarchy organizes static executables, dynamic system configurations in /etc, variable log telemetry in /var, and kernel virtual structures in /proc into a clean, predictable structure. Understanding the FHS ensures administrators can locate configuration files, diagnose mounting failures, and safely manage enterprise storage.

Code copied to clipboard!