Root Directory Structure
Linux follows the Filesystem Hierarchy Standard (FHS). Every directory has a specific purpose.
| Directory | Purpose |
|---|---|
/ | Root of the filesystem |
/bin | Essential user commands (ls, cp, cat) |
/sbin | System administration commands (iptables, fdisk) |
/etc | System configuration files |
/home | User home directories |
/root | Root user home directory |
/var | Variable data (logs, databases, web files) |
/tmp | Temporary files (cleared on reboot) |
/usr | User programs and libraries |
/opt | Optional/third-party software |
/proc | Virtual filesystem — running process info |
/sys | Virtual filesystem — kernel/hardware info |
/dev | Device files (disks, terminals) |
/mnt | Temporary mount points |
/media | Removable media mount points |
/boot | Bootloader and kernel files |
Important Subdirectories
/etc (Configuration)
/etc/nginx/ # Nginx configuration
/etc/mysql/ # MySQL/MariaDB configuration
/etc/ssh/ # SSH server configuration
/etc/crontab # System-wide cron jobs
/etc/fstab # Filesystem mount table
/etc/hosts # Static hostname resolution/var (Variable Data)
/var/log/ # Log files
/var/www/ # Web server files (common convention)
/var/lib/mysql/ # MySQL data directory
/var/cache/ # Application cache files
/var/spool/ # Mail and print queues/usr (User Programs)
/usr/local/bin/ # Locally installed programs
/usr/share/ # Architecture-independent data
/usr/lib/ # LibrariesFinding Files
# Find by name
find / -name "nginx.conf"
# Find by type
find /var/log -name "*.log" -type f
# Find recently modified files
find /etc -mtime -1 -type f