An FHS-compliant file system looks like,
/
│
├── /boot -> Boot loader files
│ ├── kernels
│ ├── initrd
│ ├── vmlinuz
│ ...
│
├── /bin -> OS essential command binaries (single user mode)
│ ├── cd
│ ├── ls
│ ├── cat
│ ...
│
├── /sbin -> OS essential system binaries (for root users)
│ ├── init
│ ├── fdisk
│ ├── mkfs
│ ├── ifconfig
│ ...
│
├── /lib -> Library files essential for bin and sbin
│ ├── /libc.so.x -> C library
│ ├── /libpthread.so.x
│ ...
│
├── /etc -> System-wide config files
│ ├── /fstab
│ ├── /shells
│ ├── /opt
│ ├── /X11
│ ...
│
├── /dev -> Device files
│ ├── MAKEDEV (command)
│ ...
│
├── /media -> Mount point for removable media
│ ├── floppy
│ ├── cdrom
│ ...
│
├── /mnt -> Mount point for temp mounted filesystems
│ ...
│
├── /opt -> Directory for optional third-party apps
│ ├── /eclipse
│ ├── /chrome
│ ...
│
├── /root -> Root user directory (media files, docs, etc.)
│ ...
│
├── /home -> User directory (media files, docs, etc.)
│ ...
│
├── /var -> Fast changing variable data
│ ├── /log
│ ├── /cache
│ ...
│
├── /run -> Volatile runtime info
│ ├── User sessions
│ ├── systemd details
│ ...
│
├── /srv -> Data for services provided by the system (via ftp, rsync, etc)
│ ├── /physics
│ ├── /compsci
│ ...
│
├── /tmp -> For programs that use temporary files
│ ...
│
├── /proc -> Virtual filesystem (process and kernel info)
│ ├── cpu info
│ ├── mount info
│ ...
│
├── /sys -> Virtual filesystem (devices, drivers, and kernel info)
│ ├── network stacks
│ ├── keyboard
│ ...
│
├── /usr (Unix System Resources)
│ ├── /bin -> user command binaries (managed by system's package manager)
│ ├── bash
│ ├── gcc
│ ├── ...
│ ├── /sbin -> user system binaries
│ ├── /lib -> Library files for user binaries
│ ├── qt
│ ├── gtk
│ ├── ...
│ └── /local
│ ├── /bin -> user command binaries (managed manually)
│ ├── my-script
│ ...
│
Note
- Single user mode: No user filesystems are mounted