The distinction between things in /bin and things in /usr/bin

Solution 1:

Wikipedia has a decent explanation. From that article:

  • /bin: "Essential command binaries that need to be available in single user mode; for all users, e.g., cat, ls, cp."
  • /usr/bin: "Non-essential command binaries (not needed in single user mode); for all users."

Solution 2:

$ man hier

contains a good description of the file system hierarchy

Solution 3:

In the old days of small disks, it was common to have /bin on the boot disk, and /usr/bin on a separate disk (sometimes even a shared network drive). /bin would contain anything needed to either boot the system, or fix it if /usr/bin couldn't be mounted for some reason. Its another one of those historical accidents that doesn't make as much sense today.