---
name: "filesystems"
section: "5"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/filesystems"
---

# filesystems(5)

Linux filesystem types: ext, ext2, ext3, ext4, hpfs, iso9660, JFS, minix, msdos, ncpfs nfs, ntfs, proc, Reiserfs, smb, sysv, umsdos, vfat, XFS, xiafs

## NAME

filesystems - Linux filesystem types: ext, ext2, ext3, ext4, hpfs, iso9660, JFS, minix, msdos, ncpfs nfs, ntfs, proc, Reiserfs, smb, sysv, umsdos, vfat, XFS, xiafs

## DESCRIPTION

When, as is customary, the **proc** filesystem is mounted on */proc*, you can find in the file */proc/filesystems* which filesystems your kernel currently supports; see [**proc**(5)](/proc/5.md) for more details. There is also a legacy [**sysfs**(2)](/sysfs/2.md) system call (whose availability is controlled by the **CONFIG\_SYSFS\_SYSCALL** kernel build configuration option since Linux 3.15) that enables enumeration of the currently available filesystem types regardless of */proc* availability and/or sanity.

If you need a currently unsupported filesystem, insert the corresponding kernel module or recompile the kernel.

In order to use a filesystem, you have to *mount* it; see [**mount**(2)](/mount/2.md) and [**mount**(8)](/mount/8.md).

The following list provides a short description of the available or historically available filesystems in the Linux kernel. See the kernel documentation for a comprehensive description of all options and limitations.

- **erofs**

  is the Enhanced Read-Only File System, stable since Linux 5.4. See [**erofs**(5)](/erofs/5.md).

- **ext**

  is an elaborate extension of the **minix** filesystem. It has been completely superseded by the second version of the extended filesystem (**ext2**) and has been removed from the kernel (in Linux 2.1.21).

- **ext2**

  is a disk filesystem that was used by Linux for fixed disks as well as removable media. The second extended filesystem was designed as an extension of the extended filesystem (**ext**). See [**ext2**(5)](/ext2/5.md).

- **ext3**

  is a journaling version of the **ext2** filesystem. It is easy to switch back and forth between **ext2** and **ext3**. See [**ext3**(5)](/ext3/5.md).

- **ext4**

  is a set of upgrades to **ext3** including substantial performance and reliability enhancements, plus large increases in volume, file, and directory size limits. See [**ext4**(5)](/ext4/5.md).

- **hpfs**

  is the High Performance Filesystem, used in OS/2. This filesystem is read-only under Linux due to the lack of available documentation.

- **iso9660**

  is a CD-ROM filesystem type conforming to the ISO/IEC 9660 standard.

  - **High Sierra**

    Linux supports High Sierra, the precursor to the ISO/IEC 9660 standard for CD-ROM filesystems. It is automatically recognized within the **iso9660** filesystem support under Linux.

  - **Rock Ridge**

    Linux also supports the System Use Sharing Protocol records specified by the Rock Ridge Interchange Protocol. They are used to further describe the files in the **iso9660** filesystem to a UNIX host, and provide information such as long filenames, UID/GID, POSIX permissions, and devices. It is automatically recognized within the **iso9660** filesystem support under Linux.

- **JFS**

  is a journaling filesystem, developed by IBM, that was integrated into Linux 2.4.24.

- **minix**

  is the filesystem used in the Minix operating system, the first to run under Linux. It has a number of shortcomings, including a 64 MB partition size limit, short filenames, and a single timestamp. It remains useful for floppies and RAM disks.

- **msdos**

  is the filesystem used by DOS, Windows, and some OS/2 computers. **msdos** filenames can be no longer than 8 characters, followed by an optional period and 3 character extension.

- **ncpfs**

  is a network filesystem that supports the NCP protocol, used by Novell NetWare. It was removed from the kernel in Linux 4.17.

-

  To use **ncpfs**, you need special programs, which can be found at ⟨ftp:\\://ftp.gwdg.de\\:/pub\\:/linux\\:/misc\\:/ncpfs⟩.

- **nfs**

  is the network filesystem used to access disks located on remote computers.

- **ntfs**

  is the filesystem native to Microsoft Windows NT, supporting features like ACLs, journaling, encryption, and so on.

- **proc**

  is a pseudo filesystem which is used as an interface to kernel data structures rather than reading and interpreting */dev/kmem*. In particular, its files do not take disk space. See [**proc**(5)](/proc/5.md).

- **Reiserfs**

  is a journaling filesystem, designed by Hans Reiser, that was integrated into Linux 2.4.1.

- **smb**

  is a network filesystem that supports the SMB protocol, used by Windows. See ⟨https:\\://www.samba.org\\:/samba\\:/smbfs/⟩.

- **sysv**

  is an implementation of the System V/Coherent filesystem for Linux. It implements all of Xenix FS, System V/386 FS, and Coherent FS.

- **umsdos**

  is an extended DOS filesystem used by Linux. It adds capability for long filenames, UID/GID, POSIX permissions, and special files (devices, named pipes, etc.) under the DOS filesystem, without sacrificing compatibility with DOS.

- **tmpfs**

  is a filesystem whose contents reside in virtual memory. Since the files on such filesystems typically reside in RAM, file access is extremely fast. See [**tmpfs**(5)](/tmpfs/5.md).

- **vfat**

  is an extended FAT filesystem used by Microsoft Windows95 and Windows NT. **vfat** adds the capability to use long filenames under the MSDOS filesystem.

- **XFS**

  is a journaling filesystem, developed by SGI, that was integrated into Linux 2.4.20.

- **xiafs**

  was designed and implemented to be a stable, safe filesystem by extending the Minix filesystem code. It provides the basic most requested features without undue complexity. The **xiafs** filesystem is no longer actively developed or maintained. It was removed from the kernel in Linux 2.1.21.

## SEE ALSO

[**fuse**(4)](/fuse/4.md), [**btrfs**(5)](/btrfs/5.md), [**ext2**(5)](/ext2/5.md), [**ext3**(5)](/ext3/5.md), [**ext4**(5)](/ext4/5.md), [**nfs**(5)](/nfs/5.md), [**proc**(5)](/proc/5.md), [**sysfs**(5)](/sysfs/5.md), [**tmpfs**(5)](/tmpfs/5.md), [**xfs**(5)](/xfs/5.md), [**fsck**(8)](/fsck/8.md), [**mkfs**(8)](/mkfs/8.md), [**mount**(8)](/mount/8.md)
