FILESYSTEMS(5) Linux Programmer's Manual FILESYSTEMS(5)
filesystems - Linux filesystem types: minix, ext, ext2, ext3, xia, msdos, umsdos, vfat,
proc, nfs, iso9660, hpfs, sysv, smb, ncpfs
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. If you need a
currently unsupported one, insert the corresponding module or recompile the kernel.
In order to use a filesystem, you have to mount it, see mount(8) for the mount command,
and for the available mount options.
Below a short description of a few of the available filesystems.
minix is the filesystem used in the Minix operating system, the first to run under Linux.
It has a number of shortcomings: a 64MB partition size limit, short filenames, a
single time stamp, etc. It remains useful for floppies and RAM disks.
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 2.1.21).
ext2 is the high performance disk filesystem used by Linux for fixed disks as well as
removable media. The second extended filesystem was designed as an extension of
the extended file system (ext). ext2 offers the best performance (in terms of
speed and CPU usage) of the filesystems supported under Linux.
ext3 is a journaling version of the ext2 filesystem. It is easy to switch back and forth
between ext2 and ext3.
ext3 is a journaling version of the ext2 filesystem. ext3 offers the most complete set
of journaling options available among journaling filesystems.
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 xia filesystem is no longer actively developed or maintained. It
was removed from the kernel in 2.1.21.
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
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.
vfat is an extended DOS filesystem used by Microsoft Windows95 and Windows NT. VFAT
adds the capability to use long filenames under the MSDOS filesystem.
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).
is a CD-ROM filesystem type conforming to the ISO 9660 standard.
Linux supports High Sierra, the precursor to the ISO 9660 standard for CD-
ROM filesystems. It is automatically recognized within the iso9660
filesystem support under Linux.
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.
hpfs is the High Performance Filesystem, used in OS/2. This filesystem is read-only
under Linux due to the lack of available documentation.
sysv is an implementation of the SystemV/Coherent filesystem for Linux. It implements
all of Xenix FS, SystemV/386 FS, and Coherent FS.
nfs is the network filesystem used to access disks located on remote computers.
smb is a network filesystem that supports the SMB protocol, used by Windows for
Workgroups, Windows NT, and Lan Manager.
To use smb fs, you need a special mount program, which can be found in the ksmbfs
package, found at ftp://sunsite.unc.edu/pub/Linux/system/Filesystems/smbfs.
ncpfs is a network filesystem that supports the NCP protocol, used by Novell NetWare.
To use ncpfs, you need special programs, which can be found at
proc(5), fsck(8), mkfs(8), mount(8)