https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
https://unix.stackexchange.com/questions/5915/difference-between-bin-and-usr-bin
/sbin - Binaries needed for booting, low-level system repair, or maintenance (run level 1 or S)
/bin - Binaries needed for normal/standard system functioning at any run level.
/usr/bin - Application/distribution binaries meant to be accessed by locally logged in users
/usr/sbin - Application/distribution binaries that support or configure stuff in /sbin.
/usr/share/bin - Application/distribution binaries or scripts meant to be accesed via the web, i.e. Apache web applications
*local* - Binaries not part of a distribution; locally compiled or manually installed. There's usually never a /local/bin but always a /usr/local/bin and /usr/local/share/bin.
/bin: For binaries usable before the/usrpartition is mounted. This is used for trivial binaries used in the very early boot stage or ones that you need to have available in booting single-user mode. Think of binaries likecat,ls, etc./sbin: Same, but for binaries with superuser (root) privileges required./usr/bin: Same as first, but for general system-wide binaries./usr/sbin: Same as above, but for binaries with superuser (root) privileges required.
