Partitioning (see Disk Partitioning) just defines boundaries on a disk - the filesystem type determines how data is actually organized within them, and which features (journaling, snapshots, checksums) are available.

The ones you'll actually encounter

ext4 - the long-standing default on Debian, Ubuntu, and many others. Mature, well-understood, journaled (crash-safe: changes are logged before being committed, so an unclean shutdown doesn't corrupt the filesystem structure). The safe, boring choice, which is a compliment for a filesystem.

XFS - the default on RHEL, CentOS, and Fedora Server. Strong at handling large files and high-throughput workloads; used heavily in enterprise and storage-server contexts. Notably, an XFS filesystem can be grown while mounted but not shrunk - plan partition sizes with that in mind.

Btrfs - the default on openSUSE and increasingly common on Fedora Workstation. Adds copy-on-write snapshots (near-instant, space-efficient point-in-time filesystem states - what tools like Timeshift and openSUSE's Snapper build on), built-in checksumming, and native multi-device support without needing LVM underneath. More moving parts than ext4, and its RAID 5/6 modes have known reliability caveats worth reading up on before relying on them.

FAT32 / exFAT - not used for Linux's own root filesystem, but the common choice for USB drives and SD cards because both Windows and macOS read them natively. FAT32 caps individual files at 4 GiB; exFAT doesn't have that limit and is now well-supported natively on Linux.

Checking what you're running

df -T
Filesystem     Type  1K-blocks     Used Available Use% Mounted on
/dev/sda2      ext4  245107200 62345600 170208000  27% /
/dev/sdb1      xfs  1953514496 891234560 1062279936  46% /data

Or per-partition:

blkid /dev/sda2
/dev/sda2: UUID="..." TYPE="ext4"

Virtual and special-purpose filesystems

Not everything under /proc, /sys, or in memory uses a disk-backed filesystem type at all:

  • tmpfs - RAM-backed, contents disappear on reboot; used for /tmp on many distros and for /run
  • procfs (/proc) and sysfs (/sys) - kernel-generated, not backed by any disk - see The Filesystem Hierarchy
  • overlayfs - layers multiple directories into one merged view; the mechanism behind how Docker images stack read-only layers under a writable one

Network filesystems

NFS (Network File System) is the standard for sharing directories between Linux/Unix hosts; CIFS/SMB is the Windows-native equivalent, also usable from Linux via the cifs-utils package. Both are mounted the same way as local filesystems, through mount or /etc/fstab, just with a different type field and a server address instead of a local device path.

Choosing one

For a normal desktop or server root filesystem, ext4 remains a reasonable default unless you specifically want Btrfs's snapshot capabilities or XFS's large-file performance characteristics - and in practice, this choice is usually made for you by whichever distribution's installer you're using, following that distribution's own default.