There’s multiple file system type in Linux-based operating systems.
Common Linux file system types are ext3, ext4, zfs, FAT, XFS, and Btrfs.
There’re undoubtedly many more to this list, and we’ll give a concise overview of them in short.
Finding the right file system type usually depends on the users’ requirements. We advise starting Linux users to stick with the ext4 journaling file system.
The ext (Extended File System) is designed especially for Linux and has 4 versions to date. They are ext, ext2, ext3, and ext4.
Most modern distros do not provide support for ext and ext2 anymore.
The ext3 version implemented journaling, a feature that prevents data corruption in case of accidental power failures. It has seen a relative decline in use since the ext4 version was released.
Ext4 is the default file system type in most recent distros.
The “B-Tree File System” is an innovative file system developed by Oracle.
It offers some astounding features absent in standard Linux file system types.
Some of them include the ability to take snapshots on the go, drive pooling capabilities, online defragmentation, and transparent compression methods.
Many people pronounce BtrFS as “Better FS” and considers it to be the next big file system type in Linux servers and personal workstations.
ReiserFS is another journal-based file system that can be used for general-purpose computing.
It is supported on Linux and sports an open source GNU GPL license.
ReiserFS gained quite a following in its early years due to some of the features that were relatively new at that time. Among them included the ability to resize volumes from online, tail packing for reducing internal fragmentation, and metadata-only journaling.
The development of ReiserFS has stalled due to its lead developer serving jail time.
ZFS is a robust file system and volume manager developed by Sun Microsystems and is currently maintained by Oracle.
It is an extremely powerful filesystem that supports massive storage, efficient compression techniques, modern RAID models, data de-duplication, and many more features.
ZFS is available in most Linux and BSD distributions alongside Mac OS, and FUSE.
Discover more about ZFS.
XFS is an Ext4-like file system developed by Silicon Graphics and is available in Linux since 2001.
It offers many features found in the standard ext4 filesystem but limits some of its capabilities.
XFS utilizes a technique called delayed allocation for detecting file fragmentations more effectively. So, it’s suitable for setting Linux NAS and SAN storages. Found to work better with large files but quite slower when dealing with a large amount of smaller files.
JFS is an acronym for ‘Journaled File System’, a Linux file system developed by IBM.
It is known for its limited usage of CPU resources and provides significantly better performance for both large files and collections of multiple smaller files. Moreover, it allows system admins to resize their partitions dynamically. This feature, however, only supports enlarging, not shrinking.
HAMMER is an extremely robust file type developed for the DragonFly BSD version.
It is a high-availability filesystem that supports only 64 bit systems.
Hammer uses B+ trees to implement its functionalities, which include the ability to take unlimited NFS-exportable snapshots, history retention, checksums, and master-multi slave operations, among others. It also supports the on-demand de-duplication of data and transparent compressions.
FAT or File Allocation Table is a class of filesystem known for their flexibility, and robust feature set.
Some popular FAT filesystems include FAT 16, FAT32, exFAT, and vFAT.
They are one of the most widely used filesystems due to their incorporation in older Windows machines.
Linux supports a broad set of common FAT filesystems known for their high performance.
NTFS (New Technology File System) is another common file system type for many users.
It is the default filesystem in modern Windows machines and is supported by Linux and other BSD systems.
NTFS implements several techniques to increase its performance and is a journaled file system.
It supports alternate data streams, various compression methods, resizing, sparse files, and many more features.
The compressed ROM file system, aka cramfs, is one of the most widely used filesystem type in embedded systems.
It’s only a read-only filesystem that allows the system to read images without the need to decompress them first. This is the reason why many Linux distros use it for initrd images and installation images.
There are many more file system types in Linux.
Moreover, it allows users to attach multiple types of partitions in the filesystem structure. It is, indeed, a widespread practice.
One special type of Linux file system is the swap. It’s actually not a filesystem, but a technique used for implementing virtual memory.