A Linux system is basically divided in three major components: File System (LFS), Shell and Kernel. Kernel is the core program which manage system hardware devices. Shell provides user interface to run the commands. File system organizes the data in systematic way. Collectively LFS, Shell and kernel provides a way to interact with system and an environment to run commands and manage data.
Linux supports numerous file systems, but common choices for the system disk on a block device include the ext* family (ext2, ext3 and ext4), XFS, JFS, ReiserFS and btrfs.
Linux accesses every object as file. Files are systematically organized in directories. Linux starts file system with root directory(/). All files and directories are created and managed under the root directory. Since root directory stands on the top in file system, it has no parent directory. Besides root directory, every directory in Linux has a parent directory. Linux allows us to create as many files and directories as we want. We can create files under the existing directories or may create new directories.
/ First directory in Linux File System. It is also known as root directory or main directory. All files and directories are created and managed under this directory.
/home Default directory for user data. Whenever we add a new user, Linux automatically creates a home directory matching with his username in this directory. Whenever user login, Linux starts his login session from home directory.
/root This is the home directory for root user. Root user is the super user in Linux. For security reason Linux creates a separate home directory for root user. Root user account is also being created during the installation automatically.
/bin This directory contains standard commands files. Commands stored in this directory are available for all users and usually do not require any special permission to run.
/sbin This directory contains system administration commands files. Commands stored in this directory are available only for root user and usually requires special privilege to run.
/usr This directory contains user application software files, third party software and scripts, document files and libraries for programming languages.
/var This directory stores variable data files such as printing jobs, mail box etc.
/etc This directory contains system configuration files.
/boot This directory contains Linux boot loader file.
/mnt This directory is used to mount remote file system and temporary devices such as CD, DVD and USB.
/dev This directory contains device files. Usually files in this directory are dynamically generated and should be never edited.
/tmp This directory provides temporary location for applications.