Understanding the Linux file system is crucial for anyone who wants to navigate and manage a Linux-based system effectively. Unlike Windows, which uses drive letters like C: and D:, Linux organizes everything under a single-rooted hierarchical structure starting from / (root).
In this guide, we’ll explore:
- The structure of the Linux file system
- Popular Linux file systems (ext4, Btrfs, XFS, etc.)
- Their authors, history, advantages, and limitations
The Linux Directory Structure
Before we dive into specific file systems, let’s understand the core directories under the Linux root (/
):
Directory | Purpose |
---|---|
/ | Root directory (everything begins here) |
/bin | Essential user binaries (e.g., ls , cp ) |
/boot | Boot loader files (e.g., GRUB) |
/dev | Device files (e.g., /dev/sda ) |
/etc | Configuration files |
/home | User home directories |
/lib | Essential shared libraries |
/media | Removable media mount points |
/mnt | Temporary mount point |
/opt | Optional or third-party software |
/proc | Virtual filesystem for system processes |
/root | Home directory for root user |
/run | Runtime variable data |
/sbin | System binaries (admin tools) |
/srv | Data for services (e.g., FTP, HTTP) |
/tmp | Temporary files |
/usr | User programs and utilities |
/var | Variable files like logs, cache, etc. |
Popular Linux File Systems
Let’s now explore the major file systems used in Linux, along with their history, creators, benefits, and drawbacks.
ext (Extended File System)
- Created by: Rémy Card
- Released: April 1992
- Purpose: First file system specifically designed for Linux
- Replaced by: ext2
Summary:
- Basic functionality
- No journaling
- Largely obsolete
ext2 (Second Extended File System)
- Created by: Rémy Card
- Released: January 1993
Advantages:
- Improved performance and reliability over ext
- Large file and volume support (up to 4TB)
- No journaling (less disk wear for flash storage)
Drawbacks:
- No journaling → longer recovery after a crash
ext3 (Third Extended File System)
- Created by: Stephen Tweedie
- Released: November 2001
Advantages:
- Journaling (helps recover after a crash)
- Backward compatible with ext2
- Stable and widely supported
Drawbacks:
- Slower than newer file systems
- Limited scalability
ext4 (Fourth Extended File System)
- Created by: Theodore Ts’o
- Released: 2008 (stable in 2009)
Advantages:
- Backward compatible with ext3 and ext2
- Support for volumes up to 1 exabyte
- Journaling with checksums
- Delayed allocation for better performance
Drawbacks:
- Not copy-on-write (COW)
- Limited snapshot and volume management compared to Btrfs or ZFS
Most popular file system today for desktops and servers.
Btrfs (B-tree File System)
- Created by: Oracle Corporation
- Released: 2009 (still under active development)
Advantages:
- Modern file system with snapshot, compression, and RAID support
- Copy-on-write (COW)
- Built-in volume management and checksumming
Drawbacks:
- Still considered experimental for certain enterprise workloads
- Performance may lag under specific conditions
Used by Fedora, openSUSE, and others.
XFS
- Created by: Silicon Graphics, Inc. (SGI)
- Released: 1994 (open-sourced in 2000)
Advantages:
- High performance, especially with large files
- Journaling and defragmentation tools
- Scalability (supports volumes in petabytes)
Drawbacks:
- Slower performance for small files
- No file-level compression or encryption
Default in RHEL / CentOS 7+
ZFS (Zettabyte File System)
- Created by: Sun Microsystems
- Released: 2005
- Now maintained by: OpenZFS project
Advantages:
- Advanced features: snapshots, compression, self-healing
- Copy-on-write
- RAID-Z for redundancy
Drawbacks:
- More RAM required
- Licensing conflicts (CDDL vs GPL) prevent it from being in the Linux kernel directly
Popular in FreeBSD, TrueNAS, and some Linux distros (via kernel modules)
Summary Comparison Table
File System | Year | Creator | Journaling | Max File Size | Use Case |
---|---|---|---|---|---|
ext2 | 1993 | Rémy Card | ❌ | 4TB | Flash drives, legacy systems |
ext3 | 2001 | Stephen Tweedie | ✅ | 2TB | General desktop/server |
ext4 | 2008 | Theodore Ts’o | ✅ | 16TB+ | Most Linux desktops/servers |
Btrfs | 2009 | Oracle | ✅ | 16EiB | Advanced systems, snapshots |
XFS | 1994 | SGI | ✅ | 8EiB | Large file operations |
ZFS | 2005 | Sun Microsystems | ✅ | 16EiB | Data integrity, storage arrays |
The Linux file system landscape is rich and versatile. For most users, ext4 offers an excellent balance of performance and reliability. However, depending on your needs—such as running SSDs, using snapshots, or handling enterprise-level data—options like Btrfs, XFS, or ZFS may offer superior features.
Choosing the right file system depends on:
- Hardware (e.g., SSD or HDD)
- Performance needs
- Data integrity requirements
- Backup and snapshot strategy