Frequently Asked Question

What is the difference between the filesystem hierarchy and the filesystem type?

These are two unrelated concepts that share a word. The filesystem hierarchy is the logical layout of directories under /, /etc for configuration, /usr for software, /var for variable data, and so on, as defined by the FHS. The hierarchy is the same on every modern Linux system regardless of what's underneath.

The filesystem type is the on-disk format that stores those directories and files on a block device, ext4, xfs, btrfs, f2fs, zfs, fat32, ntfs, and dozens more. Each type makes different trade-offs between performance, features (snapshots, checksums, compression), maximum file size, and crash recovery. You choose a type when you format a partition with mkfs.ext4, mkfs.xfs, or mkfs.btrfs, and the kernel translates filesystem operations into the appropriate disk-block reads and writes. A single Linux system commonly runs several filesystem types simultaneously, say, ext4 on root, xfs on /var, btrfs on /home, vfat on the EFI partition, all stitched together into one hierarchy by mount.

Video

Further reading and video