/bin

Contains binaries and executables

/sbin

Contains system binaries that should only be ran by the root user

/lib

Shared code between binaries

/usr

End user folder

/usr/bin or /usr/sbin

Non-essential installed binaries

/usr/local/bin

Binaries that you have locally compiled that wont conflict with those installed by a system package manager

/etc

Editable text configurations

/home

Stores user data with configurations and files

/boot

Files required to boot the system

/dev

Used to interface with devices and drivers

/opt

Used for optional/add-on software. Rarely used

/var

Variable files that will change as the operating system is being used

  • Logs
  • Cache files

/tmp

Temporary files that will be cleared on system reboot

/proc

Fake file-system created by linux kernel to keep track of running processes