/bin binaries, basic Linux commands are here
/boot boot code, leave it be
/dev all devices/hardware, all treated as a stream
/etc config files & resources, only root user can modify
/home user account info & personal files
/lib shared library files essential for binaries
/lost+found stray files that can be recovered after a crash
/media mount points for removable media
/mnt mount points
/opt optional & larger application packages
/proc virtual files for various system processes
/root root user's home directory
/sbin essential system binaries reserved for the root user
/selinux security-enhanced Linux
/srv site-specific data
/sys virtual filesystem, similar to /proc
/tmp temporary files
/usr user applications, subdirectories for user-installed commands, kernel source, documentation, config files, man pages, etc.
/usr/share config files and graphics for numerous user applications
/usr/src source code for some system stuff, including the Linux kernel
/usr/include headers for c/c++ and some other development essentials
/usr/lib library files for the whole system. you may find lib, lib32 and lib64 for different architectures
/usr/local programs installed by the user manually
/usr/bin non-system essential programs and commands
/var variable files such as logs, cache, email
/devshould instead say "all devices/hardware, all treated as a stream" if you dosudo cat /dev/sdayou will get a stream. That's my opinion anyways!