/u/evidentlycat gives a great explanation of the difference between /sbin, /bin, /usr/sbin, and /usr/bin on /r/BSD.
I use the terms “dynamically linked” and “statically linked”. A statically linked executable is independent: it does not load a separate C library, instead, the executable itself contains copies of code it uses from the C library, and interfaces with the kernel entirely by itself through syscalls. A dynamically linked executable loads an external library from a file and calls functions in it.
binis for binaries which are useful for users without elevated privileges. /bin contains statically-linked binaries which are “fundamental to both single and multi-user environments” according to
hier(7). They may be used in the tiny installer ramdisk. Most things in
/usr/binare dynamically linked and all of them are inaccessible in the installer.
sbinis for superuser binaries and daemons, i.e. things not useful to users without elevated privileges. Everything in
/sbinis statically linked and accessible in the installer. Most things in
/usr/sbinare dynamically linked and all of them are inaccessible in the installer….
Original post from /u/evidentlycat: http://www.reddit.com/r/BSD/comments/2szofc/eli5_why_is_separating_binaries_into_bin_sbin/cnudxzs
Official documentation on filesystem layout: https://www.freebsd.org/cgi/man.cgi?hier%287%29