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.