Skip to content

This document is a WORK IN PROGRESS.
This is just a quick personal cheat sheet: treat its contents with caution!


File systems

Reference(s)

Table of contents


FUSE

Reference(s)

FUSE is a software interface for Unix and Unix like computer operating systems that lets non privileged users create their own file systems without editing kernel code. This is achieved by running file system code in user space while the FUSE module provides only a "bridge" to the actual kernel interfaces.


Ext4

Reference(s)

The ext4 journaling file system or fourth extended file system is a journaling file system for Linux, developed as the successor to ext3.


Btrfs

See Btrfs


XFS

Reference(s)

XFS is a high performance 64-bit journaling file system created by Silicon Graphics Inc in 1993. XFS was ported to the Linux kernel in 2001; as of June 2014, XFS is supported by most Linux distributions, some of which use it as the default file system.


ZFS

See ZFS


ReiserFS

Reference(s)

ReiserFS is a general-purpose, journaled computer file system initially designed and implemented by a team led by Hans Reiser.


MergerFS

Reference(s)

MergerFS is a union file system geared towards simplifying storage and management of files across numerous commodity storage devices. It is similar to MHDDFS, UnionFS, and AUFS.


F2FS

Reference(s)

F2FS is a flash file system initially developed by Samsung Electronics for the Linux kernel.


HFS/HFS+

Reference(s)

HFS is a proprietary file system developed by Apple Inc. for use in computer systems running Mac OS.

HFS Plus or HFS+ is a journaling file system developed by Apple Inc. It replaced the HFS as the primary file system of Apple computers with the 1998 release of Mac OS 8.1.


JFS

Reference(s)

JFS is a journaling file system that was open sourced by IBM in 1999 and support for which has been available in the Linux kernel since 2002.


FAT

Reference(s)

FAT is a computer file system architecture and a family of industry standard file systems utilizing it. The FAT file system is a continuing standard which borrows source code from the original, legacy file system and proves to be simple and robust.


ExFAT

Reference(s)

ExFAT is a file system introduced by Microsoft in 2006 and optimized for flash memory such as USB flash drives and SD cards. ExFAT is proprietary, and Microsoft owns patents on several elements of its design.


NTFS

Reference(s)

NTFS is a proprietary disk file system by Microsoft for Windows and Windows based operating systems.


NFS

Reference(s)

NFS is a distributed file system protocol originally developed by Sun Microsystems in 1984, allowing a user on a client computer to access files over a computer network much like local storage is accessed.


SSHFS

Reference(s)

SSHFS is a FUSE based file system client for mounting remote directories over a Secure Shell connection.


sysfs

Reference(s)

sysfs is a pseudo file system provided by the Linux kernel that exports information about various kernel subsystems, hardware devices, and associated device drivers from the kernel's device model to user space through virtual files. In addition to providing information about various devices and kernel subsystems, exported virtual files are also used for their configuration.


tmpfs

Reference(s)

tmpfs is a temporary file storage paradigm implemented in many Unix like operating systems. It is intended to appear as a mounted file system, but data is stored in volatile memory instead of a persistent storage device. A similar construction is a RAM disk, which appears as a virtual disk drive and hosts a disk file system.


procfs

Reference(s)

procfs is a special file system in Unix like operating systems that presents information about processes and other system information in a hierarchical file like structure, providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory.

Typically, it is mapped to a mount point named /proc at boot time. procfs acts as an interface to internal data structures in the kernel. It can be used to obtain information about the system and to change certain kernel parameters at runtime (sysctl).


If this cheat sheet has been useful to you, then please consider leaving a star here.