Translation(s): English - Français - Italiano - Português (Brasil) - 简体中文

From Wikipedia:

In computing, a file system or filesystem (often abbreviated to fs), controls how data is stored and retrieved. Without a file system, information placed in a storage medium would be one large body of data with no way to tell where one piece of information stops and the next begins. A file system separates the data into pieces and gives each piece a name. Each group of data is called a "file".

There are many different kinds of file systems. Each one has different structure and logic, properties of speed, flexibility, security, size and more.

Files and directories themselves are placed on top of the file system, therefore it is common to refer to the file/directory structure itself as "file system". On GNU/Linux, the Filesystem Hierarchy Standard defines the naming scheme and hierarchy between files and directories themselves.

File systems usually sit on top of hard disk partitions or LVM volumes. In Debian, ext4 is the default file system for new installations.

GNU/Linux can be installed on any filesystem that supports some special constructs (file permissions, symbolic links and device files).

Many file systems are journaling, meaning they are able to prevent data loss on system crashes or power failures.


Mounting a filesystem

In GNU/Linux the contents of a filesystem can be made available under a directory, by mounting the filesystem over the directory. Here are some ways to mount a filesystem:

Converting a filesystem

Filesystems available in Debian Linux kernel

Note0: Debian HURD and Debian kFreeBSD have other file systems.

Note1: the Features list are incomplete at this time.

Note2: This table is uptodate as of 2.6.28 kernel.

Filesystem name

Features?

Documentation(s)

Description

Distributions

File systems often used as linux system partition

ext4

R

kDoc

(default filesystem in Debian) Fourth Extended Filesystem with extents

>= Squeeze

ext2

RS

kDoc, WPedia

Second Extended Filesystem

All?

ext3

RS

kDoc, WPedia

Second Extended Filesystem with journaling extensions

All?

ext4dev

R

kDoc

Fourth Extended Filesystem with extents
not for production, in development

Etch-n-Half ~ Lenny

jfs

R

kDoc

The Journaled Filesystem (JFS)

All?

xfs

R

kDoc

SGI XFS Filesystem

All?

reiserfs

R

kDoc

ReiserFS journaled filesystem

All?

Other File systems

9p

kDoc

Plan 9 9p remote filesystem protocol

All?

adfs

kDoc

Acorn (and Risc OS) Advanced Disc Filing System

All?

affs

I

kDoc

Amiga filesystem support for Linux

All?

apfs

I

kernel module with apfs-dkms

Apple filesystem support for Linux

NEW

kafs

N

kDoc

AFS Client File System

All?

autofs4

old HowTo

Auto-mount filesystems. See autofs

All?

autofs

old HowTo

Auto-mount filesystems. See autofs

All?

befs

I

kDoc

BeOS File System (BeFS) driver

All?

bfs

I

kDoc

SCO UnixWare BFS filesystem for Linux

All?

btrfs

RS

kDoc

B-Tree filesystem

>= Jessie

cifs

N I

kDoc

VFS to access servers complying with the SNIA CIFS Specification e.g. Samba and Windows

All?

coda

kDoc

Coda Distributed File System VFS interface

All?

configfs

kDoc

Simple RAM filesystem for user driven kernel subsystem configuration.

All?

cramfs

kDoc

cram a filesystem onto a small ROM

All?

dlm

kDoc

Distributed Lock Manager

All?

ecryptfs

kDoc

eCryptfs

All?

efs

upstream doc FS HowTo

SGI EFS, Extent File System (Irix <0.6)

All?

fat

I

kDoc

MS & DR DOS FAT filesystem

All?

freevxfs

Doc

Veritas Filesystem (VxFS) driver

All?

fuse

1

kDoc

Filesystem in Userspace (backend for various filesystems)

All?

gfs2

N

kDoc

Global File System

All?

hfs

I

kDoc

Macintosh HFS Filesystem

All?

hfsplus

I

kDoc

HFSPlus / Extended Macintosh Filesystem

All?

hpfs

I

kDoc

High Performance Filesys (OS/2's HPFS)

All?

isofs

CD

kDoc

CD/DVD filesystem (ISO-9660 / ECMA-119)

All?

jbd2

Generic filesystem journal-writing code (for ext4)

Squeeze

jbd

Generic filesystem journal-writing code (for ext2/ext3)

All?

jffs2

MTD

Doc

The Journalling Flash File System, v2

All?

minix

Minix native filesystem. (was used in Linux before ExtFS!)

All?

msdos

I

kDoc

MS-DOS filesystem support

All?

ncpfs

kDoc

Netware NCP network protocol

All?

nfs

N

kDoc

Networks Filesystem

All?

ntfs(depreciated)

I

kDoc

NTFS 1.2/3.x driver - Copyright (c) 2001-2007 Anton Altaparmakov

All?

ocfs2

kDoc

OCFS2 1.3.3

All?

omfs

kDoc

OMFS (ReplayTV/Karma) Optimized MPEG Filesystem

>= Squeeze

qnx4

WPedia

QNX (OS) Filesystem

All?

romfs

kDoc

ROM filesystem. See genromfs

<= Etch

sysv

kDoc

System V, V7 and Coherent and Xenix filesystems

All?

ubifs

MTD

kDoc

UBIFS - UBI File System

=> Squeeze

udf

CD

kDoc

Universal Disk Format Filesystem

All?

ufs

kDoc

Unix filesystem, used in BSDs, SunOS, Nextstep, Openstep...

All?

vfat

I

kDoc

VFAT filesystem support

All?

zfs

upstream doc

The Z File System

=> Stretch (DKMS)

Features Legend :

Hints :

FUSE Filesystems

You can get the list of FS supported by through FUSE, by looking at the reverse dependencies on the package fuse-utils. At the time of writing :

Package name

Description

Distributions

aptfs

FUSE filesystem for APT source repositories

All

avfs

virtual filesystem to access archives, disk images, remote locations

All

beaglefs

implements a filesystem representing a live Beagle query

Sid

cryptkeeper

EncFS system tray applet for GNOME

All

curlftpfs

filesystem to access FTP hosts based on FUSE and cURL

All

davfs2

mount a WebDAV resource as a regular file system

All

encfs

encrypted virtual filesystem

All

flickrfs

virtual filesystem for flickr online photosharing service

All

funionfs

user-space directory concatenation

?

fuseext2

File System in User Space - Module for ext2

All

fusefat

File System in User Space - Module for FAT

All

fuseiso

FUSE module to mount ISO filesystem images

All

fuseiso9660

File System in User Space - Module for ISO9660

All

fusesmb

filesystem client based on the SMB file transfer protocol

All

glusterfs-client

clustered file-system

All

gmailfs

Use your GMail account as a filesystem

?

gphotofs

filesystem to mount digital cameras

All

libpam-encfs

PAM module to automatically mount encfs filesystems on login

All

libpam-mount

PAM module that can mount volumes for a user session

All

ltspfs

Fuse based remote filesystem for LTSP thin clients

All

mhddfs

file system for unifying several mount points into one

All

mtpfs

FUSE filesystem for Media Transfer Protocol devices

All

mythtvfs

userspace filesystem client for MythTV

All

ntfs-3g

read/write NTFS driver for FUSE

>= Wheezy

ntfsprogs (depreciated)

tools for doing neat things in NTFS partitions from Linux

All

obexfs

mount filesystem of ObexFTP capable devices

All

plptools

Access EPOC device (Psion PDA) over a serial link

All

pytagsfs

maps media files to an arbitrary directory structure

All

rofs

Read-Only Filesystem for FUSE

All

s3ql

Full-featured file system for online data storage

All

sshfs

filesystem client based on SSH File Transfer Protocol

All

umview-mod-umfuseext2

View-OS in user space - ext2 module for UMFUSE

All

umview-mod-umfusefat

View-OS in user space - FAT module for UMFUSE

All

umview-mod-umfuseiso9660

View-OS in user space - ISO9660 module for UMFUSE

All

unionfs-fuse

Fuse implementation of unionfs

All

wikipediafs

View and edit Wikipedia articles as if they were real files

All

zfs-fuse

implementation of Sun's ZFS filesystem in userspace

>=Squeeze

Special file systems

Some sample use cases for special file systems:

aufs, unionfs
can be used to mount two filesystems, the one one on top of the other. This is typically to mount a ramdisk on top of a (read-only!) cdrom... so it's virtually possible to "write" and modify the files. (of course, in this situation the data is lost on reboot)
xmount

allows mounting .vmdk (VMware) and .vdi(VirtualBox) image.

See also

ToDo: Some modules provides 2 filesystems (for mount -t). e.g loading sysv provides sysv and v7 in /proc/filesystems.


CategorySystemAdministration CategoryStorage

  1. FUSE doesn't provide any filesystem it-self. see 'apt-cache rdepends fuse-utils' (1)