File Systems

What is a File System?

A file system is a method of organizing, storing, retrieving, and managing data on storage devices like hard drives (HDD), solid-state drives (SSD), USB drives, and memory cards.

It defines how data is stored and how files and directories are named, accessed, and protected.


🔑 Key Functions of a File System:

Function
Description

Data Organization

Structure for storing files and directories (folders).

File Naming

Rules for file names and extensions.

Storage Management

Manage free and used space on storage devices.

Access Control

Define permissions and user access to files.

Security & Integrity

Protect files from corruption and unauthorized access.


🗂️ Common Types of File Systems

File System
Used In
Key Features

FAT32 (File Allocation Table)

USB drives, older systems

Simple, compatible with Windows, macOS, Linux; file size limit 4 GB.

exFAT (Extended FAT)

USB drives, SD cards

Supports large files (>4 GB), cross-platform, optimized for flash drives.

NTFS (New Technology File System)

Windows OS (default)

Advanced security, large file support, compression, encryption.

HFS+ (Hierarchical File System Plus)

Older macOS versions

Used before APFS, supports large files, journaling.

APFS (Apple File System)

Modern macOS, iOS

Optimized for SSDs, encryption, cloning, snapshots.

ext3 (Third Extended File System)

Linux

Journaling, better performance and reliability.

ext4 (Fourth Extended File System)

Linux (default)

Improved performance, large file support, journaling.

Btrfs (B-tree FS)

Linux (newer systems)

Advanced features like snapshots, compression, self-healing.


📊 Comparison of Major File Systems

Feature
FAT32
exFAT
NTFS
ext4
APFS

Max File Size

4 GB

16 EB

16 TB+

16 TB+

8 EB

Max Volume Size

8 TB

128 PB

256 TB

1 EB

8 EB

Journaling

No

No

Yes

Yes

Yes

Security (ACL)

No

No

Yes

Yes

Yes

Compatibility

Most OS

Most OS

Windows

Linux

Apple OS

Encryption

No

No

Yes (BitLocker)

Yes (LUKS etc.)

Yes


🛠️ Windows File Systems Overview:

File System
Purpose

FAT32

Legacy support, small drives, bootable media.

exFAT

External drives, compatible across OS.

NTFS

System drives, internal storage, Windows installs.


🧑‍💻 Linux File Systems Overview:

File System
Purpose

ext4

Default for modern Linux distros.

ext3

Older systems, backward compatible.

Btrfs/ZFS

Advanced systems needing snapshots, checksums.


🍏 macOS File Systems Overview:

File System
Purpose

APFS

SSDs, modern macOS.

HFS+

Legacy, older Macs.

exFAT

For drives shared with Windows.


🔒 File System Security Features:

Feature
File Systems Supporting It

Permissions (ACL)

NTFS, ext4, APFS

Encryption

NTFS (BitLocker), ext4 (LUKS), APFS (native)

Journaling

NTFS, ext4, APFS

Compression

NTFS, Btrfs


⚙️ Formatting a Drive with a File System:

  • Windows:

    • Use Disk Management (GUI) or Command Line (diskpart).

    • Format as NTFS, exFAT, FAT32.

  • Linux:

    • Use GParted (GUI) or Command Line (mkfs).

    • Format as ext4, ext3, Btrfs, XFS.

  • macOS:

    • Use Disk Utility (GUI).

    • Format as APFS, HFS+, exFAT.


📥 Command Examples (CLI):

OS
Command
Purpose

Windows

format D: /FS:NTFS

Format D: drive as NTFS.

Linux

mkfs.ext4 /dev/sdb1

Format device as ext4.

macOS

Use Disk Utility or diskutil eraseDisk APFS MyDisk /dev/disk2

Format as APFS.


🧠 Key Things to Remember:

  • FAT32: Great for compatibility but limited in file size.

  • exFAT: Good for large files and cross-platform use.

  • NTFS: Best for Windows system drives.

  • ext4: Default for Linux, reliable.

  • APFS: Modern Mac file system, optimized for SSD.


Summary Table:

Purpose
Recommended File System

Windows system drive

NTFS

USB drive (cross-platform)

exFAT

Linux system drive

ext4

Mac system drive (SSD)

APFS

Large file storage

exFAT, NTFS

Data backup on Linux

ext4, Btrfs

Last updated