The main Linux file systems and their differences


Compared to other OS, like Windows and macOS, Linux is a project developed by a community of people, who contribute to this OS, developing and promoting it year by year. Everybody who is enthusiastic and skillful enough can create a new Linux file system. That is why the Linux file system is available in so many variations. Let’s look at the distinctions:

Ext


Ext is for ‘Extended file system’. It was the first system created for Linux. Ext experienced 4 main revisions. It was presented in 1992 and was a massive update from Minix file system. It is far from perfect, so lots of Linux distributions no longer support Ext.


Ext2


Ext2 does not support journaling. When it was presented, its modernity was that it supported extended file attributes and 2 terabyte drives. Ext2 absence of journal makes it comfortable to use on portable flash drives. However, more universal advanced file systems are available nowadays, like exFAT or FAT32. They are more usable with various OS and are comfortable. So, if you don’t need Ext2, it is better to pay attention to rather modern similar file systems.


Ext3


Ext3 is similar to Ext2, but it includes journaling. It was created to be backwards connected with Ext2, so partitions between Ext2 and ext3 were able for conversion with no formatting. It is quite an old and usable version, but Ext4 is more common and stable. So, compared to Ext3, Ext4 is better in use.


Ext4


Ext4 and Ext3 were created for compatibility reasons. The one has a built–in Ext4 file system, as Ext3, Ext2, and backwards. It was enhanced and involves fresh updates that reduced file fragmentation, made it possible to have larger files and sizes, and has a delayed allocation, which is profitable for flash memory duration. It is a basic or default version of the file system on Linux, nowadays. It had lots of updates and work put in it, so it is widely popular.


BtrFS


BtrFS usually stands for B–Tree File system, but is pronounced as ‘better’ or ‘butter’ FS. It was created by Oracle. This file system involves drivepool, automatic snapshot, transparent compression, and availability for online defragmentation. It was originally created to become an alternative to Ext series; also, it has something in common with the ReiserFS former default file system for Linux. BtrFS is often considered the next and better version of Ext4. We expect BtrFS to become equally popular in both segments of home and business usage, as it is continually developed and now is being tested.


ReiserFS

It was presented in 2001 as an alternative for Ext4. It was considered a great progress. It was so innovative that Ext4 was incapable of implementing most of its functions. ReiserFS soon was changed into Reiser4. Reiser4 was the improved version that corrected lots of features and was enhanced in 2004. However, after the incident in 2008 with main developer Hans Reiser, who went to prison, Reiser4 stopped progress. This file system is not included in the main list of Linux, and it is improbable for it to get there soon. BtrFS is a better solution.


ZFS


Oracle has the ownership for this file system, though initially, it was developed by Sun Microsystems for Solaris. ZFS is advanced, supports drive pool, automatic snapshot, and dynamic disk striping. After BtrFS was introduced, lots of these features became a default set. Every file in ZFS got a checksum, which helped to find and determine corrupted or damaged files. Due to the differences in licenses and ownership and legal moments, this file system cannot be included in the main list of Linux file system. However, it is still open-source, though it has Sun license, and it is supported by Linux distributions. Ubuntu, for example, still uses ZFS, especially in its 16/04 version.


XFS


XFS was created for Linux in 2001 by Silicon Graphics. It was made for the SGI IRX OS. It doesn’t support mounted snapshots and has delayed allocation for enhancing file fragmentation, and with such features, it is similar to Ext4. XFS recommended being effective with large files, but it doesn’t work well with small files, and the performance is worse than in many other file systems. So those who are trying to find something for their service that works with large files can consider XFS as an option.


JFS


JFS stands for ‘journaled file system’. It was originally developed by IBM in 1990, and after that, offered to Linux. It works well with both large and small files and has low CPU. The partitions in this file system can be resized; however, they cannot be shrunk. It was a good option for Linux, back in that day, but they chose the development of Ext series. It is still supported by most of Linux distribution, but initially, it was created for AIX. Ext4 is better to use, as it is more spread, tested, and supported.


SWAP


Swap is a special option for formatting a drive and creating a backup, but it is not a real file system. It is not structured as a system. It is only a space that keeps your data stored, and the size of data cannot be more than the volume of your RAM. SWAP option is also used during hibernation. In Windows, paging file has a similar mechanism, but it is in the main system partition, while Linux separates an empty partition for it and keeps it for a space to swap the data out.


FAT32, exFAT, and NTFS


FAT16, FAT32, and exFAT are Microsoft’s FAT file systems supported by Linux and used for formatting a drive. They have no journal, which makes them good for portable memory devices. They are default in every OS, whether it is Windows, macOS, or Linux. These file systems are great if you want to format an external drive using other OS. Nowadays, exFAT is the most appropriate version, as FAT32 is not so powerful. exFAT works with large files over 4 GB and partitions more than 8 GB, which is impossible for older (FAT32, FAT16) versions. NTFS is a newer and enhanced version of exFAT, with strengthened security and object–oriented applications.


There is a wide variety of Linux file systems, but those mentioned here are the most well–known and widely used. Some of the file systems not mentioned here were created for different portable flash devices and other specific needs, so look for a file system to meet your needs.