Linux/Unix Filesystem Fundamentals

Linux and BSD systems organize all files in a single directory tree that begins at / (the root directory). Every directory has a defined purpose—/etc contains configuration, /var contains variable data, and /home contains user files. This clear structure makes navigation consistent across Unix systems.

The Filesystem Hierarchy Standard (FHS) has defined this structure since 1994. Linux distributions largely follow this standard, while BSD systems have their own conventions based on similar principles. Log files are always located in /var/log, programs in /usr/bin, and configuration files in /etc—this predictability is fundamental to Unix systems.

Permissions using rwx for User, Group, and Others protect the system. A normal user cannot overwrite system files—even in the event of user error, the system remains stable. This concept is more than 50 years old and works reliably across all Unix variants.

This series explains the concepts independently of any specific distribution. Debian-specific paths such as /etc/apt/ or OpenBSD-specific paths such as /etc/rc.d/ are covered in the respective distribution articles.

The four articles in this series

Filesystem Hierarchy: The Directory Tree

Filesystem Hierarchy: The Directory Tree

Standard directories /bin, /etc, /home, /var, /usr, /tmp and their purposes. The difference between /bin and /usr/bin. The role of tmpfs and why /var is often a separate partition.
Permissions and Ownership: Access Control

Permissions and Ownership: Access Control

POSIX permissions using rwx notation and octal notation. The difference between file and directory permissions. Using chown and chmod to change ownership and permissions.
Links and File Types: Flexible Usage

Links and File Types: Flexible Usage

Hard links versus symbolic links (soft links). Special files in /dev as device interfaces. The inode concept and when each link type is appropriate.
Mount Points and Filesystem Types

Mount Points and Filesystem Types

The mount concept for USB drives, network shares, and partitions. /etc/fstab for automatic mounting during boot. tmpfs versus persistent filesystems. Differences between ext4, btrfs, and zfs.

After These Fundamentals

With this foundation, the distribution-specific articles become easier to understand:

  • Debian Fundamentals (planned) use /etc/apt/ and explain Debian-specific paths
  • OpenBSD Fundamentals (planned) explain /etc/rc.d/ and BSD conventions
  • Arch Fundamentals (planned) cover systemd paths under /etc/systemd/

These articles assume an understanding of the filesystem and add distribution-specific details.


Related Fundamentals: