Creating and Working with File Systems

The term file system is somewhat overloaded and its meaning depends upon context. In one context, file system refers to the directory hierarchy that a user interacts with when using command line tools or browsing for a file. However, file system also refers to the software layer that manages how files are stored and retrieved from physical storage devices such as hard disk drives, USB thumb drives, solid state drives, etc. In this section we will use the term Linux file system to refer to the Linux directory hierarchy and we will use the term disk file system to the software layer that manages files.

The Linux file system is organized as a tree. The top of the tree is referred to as the root of the file system and is represented by a single forward slash (/). Working with the Linux file system is accomplished by using either absolute paths that begin with the root (/) and specify the full path to the file or directory, or by using relative paths that are specified in relation to the current position (directory) within the file system.

The Linux file system is made up of one or more disk file systems. These disk file systems are attached to the Linux file system by creating a mapping between a directory and a storage device such as a disk drive. This process is referred to as mounting.