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