Linux File System Hierarchy (FSH)
Quick reference on folder structure of Linux OS

Hello reader, this is Vish currently working as a DevOps Engineer for the past 3+ years and a total of 9+ years of experience in the IT industry. Am passionate about learning DevOps and in the mission of enhancing my learning into container orchestration tools, monitoring and security.
FSH stands for File System Hierarchy in Linux and is a standard in the Linux ecosystem in which all Linux distributions can have the same folder structure making it easy to develop, package and maintain the Linux software

Let's dive in deeper to understand what all the above directories are:
/
The base of the Linux directory (Forward Slash)
The starting point of the FSH
In Linux, everything is treated as files
/bin
Contains executable files that are used to run various system commands & utilities
These executables can be executed by regular users
Example: cp, mv, cat, ls, etc
/boot
Stores files related to the booting process of the Linux system
Example: Boot loader config files, kernel images, etc
/dev
Contains device files
Used to interact with various devices in system such as disks, partitions, printers, and other hardware devices
/etc
Stores configuration files for system wide settings, applications, services, and daemons
Example: /etc/passwd, /etc/hosts, /etc/fstab and etc
/home
Stores home directories of all regular users of the system
Example: /home/<username>
/lib
- Used to store important shared libraries
/media
- Used as a mount point for mounting removable media like CDs, DVDs, USB drives and other external devices
/mnt
Mnt stands for mount point
Mount point for temporarily mounting file systems, devices, or network shares
/opt
Directory used for installing optional or add-on software packages which are part of the base system
Example: third party softwares
/proc
Proc stands for process
Virtual file system which is used to interact with the kernel to get the system process information, system resources, hardware config and etc in real time
Example: /proc/cpuinfo, /proc/meminfo
/root
- Home directory for the root user where root users config files, personal files and settings are stored
/sbin
Stores system executable or binaries
These binaries are reserved to be executed by system admins
/tmp
Tmp stands for temporary
Used to store temporary files that are created and used by various programs and processes by the system
Tmp folder is cleaned after every reboot
/usr
Usr stands for Unix System Resources
Used to store user related files, libraries, etc
Example: /usr/bin, /usr/sbin, /usr/local and etc
/var
Var stands for variables files
Used to store files that are expected to grow/shrink over time
Example: Log files, spool files, temporary files
Hope I was able to make a good understanding of the concept. Thank you.
Please let me know in the comment section about any corrections/mistakes, am open to improvements and suggestions.
Please do follow me for more such content related to DevOps world
Cheers, Vish. Happy Learning!!!




