Linux Know-How provides a collection of introductory texts on often needed Linux skills.


File Systems

As a quick reference, here is a brief summary of the standard Linux partition types ("file systems") with a short description. I copied the info from the Linux manual pages: man fs and man mount (with some additions after I had a look at the source code files at /usr/src/linux/fs). The underlined file systems are the ones that you are more likely to use. Other file systems (not listed below) are available as add-ons (for example journaling file systems, compressed, encrypted, ...).

minix is the file system 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 file system. It has been completely superseded by the second version of the extended file system (ext2) and will eventually be removed from the kernel.
ext2 is the high performance disk file system used by Linux for fixed disks as well as removable media. The second extended file system 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 file systems supported under Linux. In short, ext2 is the main (default, typical) Linux file system.
ext3 is an extension of the ext2 file system with journaling. It is backwards and forward compatibile with ext2. It means that ext2 can be converted into ext3 without reformatting or data loss (just re-mounting the partion is required). ext3 can be changed back to ext2, also without data loss. I use ext3 extensively since Oct.2001--it is simple and trouble-free. It is included as an installation "option" since RedHat 7.2 and Mandrake 8.0. It is highly recommended that you use this file system.
xiafs was designed and implemented to be a stable, safe file system by extending the Minix file system code. It provides the basic most requested features without undue complexity. The xia file system is no longer actively developed or maintained. It is used infrequently.
msdos is the file system 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.
umsdos is an extended DOS file system used by Linux. It adds capability for long filenames, UID/GID, POSIX permissions, and special files (devices, named pipes, etc.) under the DOS file system, without sacrificing compatibility with DOS.
vfat is an extended DOS file system used by Microsoft Windows95 and Windows NT. VFAT adds capability for long filenames under the MSDOS file system.
proc is a pseudo-file system which is used as an interface to kernel data structures rather than reading and interpreting /dev/kmem. In particular, its files do not take up disk space. See man 5 proc.
iso9660 is a CD-ROM file system type conforming to the ISO 9660 standard. The following two extensions are automatically supported:

High Sierra --Linux supports High Sierra, the precursor to the ISO 9660 standard for CD-ROM file systems. It is automatically recognized within the iso9660 file system 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 file system to a UNIX host, and provide information such as long filenames, UID/GID, POSIX permissions, and devices. It is automatically recognized within the iso9660 file system support under Linux.

hpfs is the High Performance file system, used in OS/2. This file system is read-only under Linux due to the lack of available documentation.
sysv is an implementation of the SystemV/Coherent file system for Linux. It implements all of Xenix FS, SystemV/386 FS, and Coherent FS.
nfs is the network file system used to access disks located on remote computers.
smb is a network file system that supports the SMB protocol, used by MS 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/file systems/smbfs. [Standard linux command "smbmount" will also do.]
ncpfs is a network file system that supports the NCP protocol, used by Novell NetWare.
devpts is a pseudo file system, traditionally mounted on /dev/pts. In order to acquire a pseudo terminal, a process opens /dev/ptmx; the number of the pseudo terminal is then made available to the process and the pseudo terminal slave can be accessed as /dev/pts/<number>.
fat is not a separate file system, but a common part of the msdos, umsdos and vfat file systems.
UFS is a file system widely used in different operating systems.
swap is a special partition type used for swapping data from memory to hard drive.
raiserfs is a brand new journaling file system available as standard with Linux kernel version 2.4.1 up (January 2001).
hfs (=hierarchical files system)--MacIntosh file system. It is a late beta version., i.e., not recommended for use with critical data, unless read-only.
ntfs MS Windows NT file system. It is still "experimental" under Linux, i.e. not recommeded for production machines, unless read-only (Aug 2001).


Last Update: 2010-12-16