Linux Tutorials

Filesystems on Linux

What to use when — and the quick commands to format, mount, check and repair.

ext4

Default on many distros. Journaling, extent-based storage, solid all-rounder for desktops and servers.

# format and mount
sudo mkfs.ext4 /dev/sdX1
sudo mount -t ext4 /dev/sdX1 /mnt/data

# tune / check
sudo tune2fs -l /dev/sdX1
sudo fsck.ext4 -f /dev/sdX1   # unmount first

XFS

Great for large files and parallel I/O; used widely on servers. Can grow online; shrinking is not supported.

# format and mount
sudo mkfs.xfs /dev/sdX2
sudo mount -t xfs /dev/sdX2 /mnt/large

# check/repair (offline)
sudo xfs_repair /dev/sdX2     # run unmounted

Btrfs

Copy-on-Write FS with snapshots, subvolumes and transparent compression. Good for workstations and snapshot-heavy setups.

# format and mount
sudo mkfs.btrfs /dev/sdX3
sudo mount -t btrfs /dev/sdX3 /mnt/btrfs

# snapshots / subvolumes
sudo btrfs subvolume create /mnt/btrfs/@
sudo btrfs subvolume snapshot /mnt/btrfs/@ /mnt/btrfs/@snap

Other common filesystems

FAT32/exFAT for sticks/cameras (cross-platform), NTFS via ntfs-3g, legacy ext3, and more (ZFS, F2FS…).

# exFAT (install tools first on some distros)
sudo mkfs.exfat /dev/sdX4
sudo mount -t exfat /dev/sdX4 /mnt/usb

# NTFS
sudo mkfs.ntfs -f /dev/sdX5
sudo mount -t ntfs3 /dev/sdX5 /mnt/win

Inspect, mount & fstab

Find devices, mount temporarily, and persist mounts in /etc/fstab.

# list block devices and filesystems
lsblk -f
blkid

# temporary mount
sudo mount /dev/sdX1 /mnt/test
sudo umount /mnt/test

# persistent (fstab) example
#                     
UUID=xxxx    /data         ext4   noatime,errors=remount-ro   0     1
UUID=yyyy    /media/large  xfs    noatime,attr2               0     0
UUID=zzzz    /btrfs        btrfs  compress=zstd,subvol=@      0     0

Check & repair

Always unmount before running repair tools (or boot into rescue). XFS uses its own tool, Btrfs has btrfs check but prefer scrubs and snapshots for recovery.

# ext4
sudo fsck.ext4 -f /dev/sdX1

# XFS (unmounted)
sudo xfs_repair /dev/sdX2

# Btrfs scrub (online)
sudo btrfs scrub start -B /mnt/btrfs

Choosing quickly

Desktop/general: ext4 • Large files/high throughput: XFS • Snapshots/rollback/on-box “ZFS-like”: Btrfs • Cross-platform removable: exFAT/NTFS.