A FileSystem is basically a file format for a disk. In order to use the diskspace, you need a way to determine which parts are in use, and where files are located, how they're called and so on. This is what a FileSystem provides. FileSystems lists the many different kinds of FileSystems currently in use.
If part of a FileSystem has been corrupted you need to be able to repair it. Under MicrosoftWindows the stock tool is called ScanDisk. Unix systems call their corresponding tool fsck(8). fsck is automatically run if the FileSystem wasn't properly unmounted or hasn't been checked in a long time (the SuperUser can specify what constitutes a long time).
On a MicrosoftWindows system, Partitions are formatted with the old and aging FAT or the much more modern NTFS FileSystem. A list of Microsoft filesystems:
Linux has full read/write support for FAT32, full read support for NTFS, and limited write support. If you wish to format a file system so that Windows and Linux can both see it, choose FAT32.
In contrast, the traditional FileSystem of choice on Linux is Ext2. It is very trusty and rock solid - losing much data from an Ext2 partition is nearly impossible short of a hardware failure. The only problem is that an fsck takes a very long time. On servers that don't get rebooted in months, this is not much of a headache, but Linux is making its way to the desktop, where machines get rebooted frequently. Therefore, a variant that supports journalling was created: Ext3. The next revision of this filesystem, Ext4 is gaining wider acceptance and aims to increase performance when dealing with large files.
Journalling file systems keep a log of changes pending completion, so in the event of a crash, they can quickly finish up or undo changes as required to bring the FileSystem back to a consistent state. A full consistency check with fsck crawling the entire disk is then unnecessary. Nevertheless, you should fsck partitions at least every once in a blue moon to ensure that no inconsistencies creep in. The likelihood is low, but better to be safe than sorry.
NetworkFileSystems are another class of FileSystem designed to operate across multiple machines on a network. NFS originally from SunMicrosystems is a very widely used NetworkFileSystem, but recents AndrewFileSystem, OpenAFS and Coda have taken off, partly because of their Kerberos security.
Linux looks at its file-system in the way Unix does: it adopts the concepts of super-block, inode, directory and file in the way Unix uses them:
File system that use inodes:
See also:
63 pages link to FileSystem: