https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
https://unix.stackexchange.com/questions/5915/difference-between-bin-and-usr-bin
https://askubuntu.com/questions/308045/differences-between-bin-sbin-usr-bin-usr-sbin-usr-local-bin-usr-local
/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 /usr
partition 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 like cat
, 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.