LWM-Linux/01 - Introduction to Linux/Linux Filesystem Hierarchy Standard (LFHS).md

80 lines
3.3 KiB
Markdown
Raw Permalink Normal View History

# Linux Filesystem Hierarchy Standard (LFHS)
2024-09-03 19:13:24 -06:00
The Linux Filesystem Hierarchy Standard (FHS) defines the directory structure and directory contents in Linux and other Unix-like operating systems. It is maintained by the Linux Foundation and provides consistency across distributions. Let's explore the main directories and their purposes:
## 1. / (Root Directory)
The root directory is the top-level directory of the filesystem. All other directories are subdirectories of the root.
## 2. /bin (Essential User Binaries)
Contains essential command binaries that need to be available in single-user mode. Examples include ls, cp, and pwd.
## 3. /boot (Boot Loader Files)
Contains files needed for the boot process, including the kernel, initrd, and boot loader configuration.
## 4. /dev (Device Files)
Contains device files, which are interfaces for device drivers. Examples include /dev/sda for the first SATA drive and /dev/tty for terminals.
## 5. /etc (Configuration Files)
Stores system-wide configuration files and scripts. Examples include /etc/passwd for user information and /etc/fstab for filesystem information.
## 6. /home (User Home Directories)
Contains home directories for regular users. Each user typically has a subdirectory here, like /home/username.
## 7. /lib (Essential Shared Libraries)
Holds library files needed by the binaries in /bin and /sbin.
## 8. /media (Removable Media)
Mount point for removable media such as USB drives and CD-ROMs.
## 9. /mnt (Temporary Mount Points)
Used for temporarily mounted filesystems.
## 10. /opt (Optional Software)
Reserved for the installation of add-on application software packages.
## 11. /proc (Process Information)
A virtual filesystem providing process and kernel information as files.
## 12. /root (Root User Home Directory)
Home directory for the root user.
## 13. /run (Run-time Variable Data)
Contains variable data files describing the system since the last boot.
## 14. /sbin (System Binaries)
Similar to /bin, but contains binaries essential for system administration, usually to be run by root.
## 15. /srv (Service Data)
Contains data for services provided by the system.
## 16. /sys (System Information)
A virtual filesystem providing a standardized interface to kernel objects.
## 17. /tmp (Temporary Files)
Directory for temporary files. Often cleared on reboot.
## 18. /usr (User Programs)
Contains the majority of user utilities and applications. It has several subdirectories:
- /usr/bin: Non-essential command binaries
- /usr/lib: Libraries for /usr/bin and /usr/sbin
- /usr/local: Local hierarchy for system administrators
- /usr/sbin: Non-essential system binaries
- /usr/share: Architecture-independent data
## 19. /var (Variable Files)
Contains variable data files, including logs (/var/log), temporary email files (/var/mail), and spooled files (/var/spool).
## 20. Key Principles of FHS:
- 1. Separation of core system files from user files
- 2. Consistency across distributions
- 3. Backward compatibility
- 4. Flexibility for system administrators
## 21. Benefits of FHS:
- 1. Easier system administration
- 2. Improved security through proper file organization
- 3. Compatibility across different Linux distributions
- 4. Easier software development and deployment
[LFHS](https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html)