Frequently Asked Question

What is the difference between /bin and /sbin?

/bin holds essential command binaries that every user needs: ls, cp, mv, rm, cat, echo, bash, and so on, the commands without which the system is unusable. /sbin holds system binaries: tools intended primarily for the administrator, such as fsck, mkfs, fdisk, ifconfig, reboot, shutdown. The split is by audience and privilege, not by file type: anyone can read /sbin, but the commands inside usually need root to do anything useful (you can format a disk, but only root can format the one currently in use).

Historically both directories had to live on the root partition because they were needed before /usr was mounted, during single-user mode or emergency recovery. On a modern merged-usr distribution that distinction has dissolved, /bin and /sbin are now symlinks to /usr/bin and /usr/sbin respectively, and the four directories are really one. The split persists in the FHS for backward compatibility with older scripts that hard-code /sbin/ifconfig or /bin/sh.

Further reading and video