See Filesystem Hierarchy Standard for in depth details. This is a quick reference from the Filesystem Hierarchy Standard.
/boot: Files needed to boot the system, such as kernel and boot loader.
/dev: (pseudo-filesystems, exist only in memory) Device files, used to interact with hardware and software devices.
/etc: Host-specific system configuration
/home: User home directories.
/root: home directory for root user.
/lib: Essential shared libraries and kernel modules. Libraries required by executable binaries in /bin and /sbin.
/lib64: 64-bit libraries
/media: Mount point for removable media
/mnt: temporarily mounted filesystems
/opt: optional application software packages
/run: (pseudo-filesystems, exist only in memory) Data relevant to running processes
/proc: (pseudo-filesystems, exist only in memory) give information about system and processes running on it.
sysctl -acommand. It can be used to get all system parameters that are in /proc/sys.
/sbin: Essential system binaries. They are mostly administrative tools, that should be available only to the root user.
/sys: (pseudo-filesystems, exist in memory only) gather information about the system.
/srv: Data for services provided by this system
/tmp: Temporary files. They can be accessed by any user or application.
/usr: Secondary hierarchy. Used for files and application not needed for system booting, such as Multi-user application. It is theoretically read-only. It is one of the largest directory, in terms of disk space, in
/var: Variable data that change during system operation.
/var/log: contains most of the log.
/var/log/wtmp – Contains all login and logout history. Equivalent to this command
/var/log/btmp – Records failed login attempts. Equivalent to this command
/var/spool: Tasks spooled or waiting to be processed such as mail, print queues and cron jobs data.
/var/run: Information about the running system since the last boot.
/var/run/utmp – Logs the present login state of each user. Equivalent to this command
/var/mail: user mailboxes.