What is a File
In GNU/Linux, everything is represented as a file. A file is a collection of data or may be a stream of characters (that is, a byte stream). A typical file can contain either text or code data. Text files are readable by a user and code data (binary file) is readable by the computer (executables, images etc).
Different types of files in GNU/Linux
• Ordinary files. Contain either text or code data.
•Directories. Directories are files that are lists of other files. Each directory entry represent either a file or a subdirectory.
• Special files. Usually represent devices used by the system.
• Links. A link is a special file which used to make a file or directory visible in multiple parts of the File System.
What is a File System?
A filesystem is a database of files and directories that you can attach to a GNU/Linux system at the root (/) or some other directory in a currently attached filesystem.
GNU/Linux supports large number of filesystems. Following are the important file systems supported by GNU/Linux.
• minix: The oldest but most reliable File System, but with limited features.
• ext: An older version of ext2 that wasn't upwards compatible. It is hardly ever used in new installations any more, and most people have converted to ext2.
• ext2: The most featureful of the native Linux filesystems, but with no journalling support.
• ext3: The ext3 filesystem has all the features of the ext2 filesystem with journaling has been added. Journalling allows the filesystem to repair itselfafter an improper shutdown or other type of damages. Journaling keep record transaction which are to be performed, or which have been performed.
• reiserfs: A stable journaled filesystem.
• jfs: JFS is a journaled filesystem designed by IBM to to work in high performance environments
• xfs: XFS was originally designed by Silicon Graphics to work as a 64−bit journaled filesystem. XFS was also designed to maintain high performance with large files and filesystems. In addition, support for several foreign filesystems exists, to make it easier to exchange files with other operating systems. These foreign filesystems work just like native ones, except that they may be lacking in some usual UNIX features, or have curious limitations, or other oddities.
• msdos: Microsoft FAT filesystems.
• vfat: This is an extension of the FAT filesystem known as FAT32. It supports larger disk sizes than FAT. Most MS Windows disks are vfat.
• iso9660: The standard CD−ROM filesystem; the popular Rock Ridge extension to the CD−ROM standard that allows longer file names is supported automatically.
• nfs: (Network File System) A networked filesystem that allows sharing a filesystem between many computers to allow easy access to the files from all of them.
• hpfs: (High Performance File System) The OS/2 filesystem.
• ntfs: (NT File System) Latest Microsoft filesystem much better and stable than old Microsoft filesystems. NTFS has journaling support also.
• What is inode number?
• GNU/Linux File System Hierarchy