It was supposed to be the user directory, but because someone didn't have enough space on /, it was somehow decided to put some stuff in there, so you have /usr/bin, /usr/lib, etc... But the user directories moved to /home, making /usr hold everything but user directories. Decades later, we still don't know what goes in /usr and what goes in /. In theory, what you need to boot the system should go to /, the rest goes to /usr, but in practice, there is no real rule, just don't break the scripts. Nowadays, distros tend to link one to the other in hope of making some sense without breaking too much stuff.
All that because someone was lacking disk space at some point in history.
But do you put extra programs in /usr/bin, /usr/local/bin, /opt/, ~/bin. ~/.local/bin or somewhere else entirely. Or if you're using homebrew, who the hell even knows how to make those the first choice in your PATH.
It should have been /shr for shared resources rather than unix shared resources (usr) to prevent people from confusing it with something related to user
god I wish it was that simple. Anything using the native package manager mostly follows this convention (with a variants like /usr/bin, /usr/local/bin, /opt). As soon as you need to install something that's not available from the system package manager all bets are off and you need to get ready for your home directory to never look the same again.
‘Bin’ is a generic empty container, and specific slang for a trash can. It might stand for ‘binary’ but what’s the difference between ‘binary’ 1s and 0s and ‘binaries’ aka compiled executables?
‘Etc’ is a dismissive way to refer to there being more things, too numerous to list: X, Y, Z, etc. in no way does it relate to configuration or options or settings or preferences.
‘Lib’ is fine I guess, but also what are libraries. If I ask my mom “what libraries do you have on your computer?” She’s going to be 1) confused and 2) assume I mean ebooks. I’m a programmer so I have a concept of what a library is - but how does that relate to my OS? Is it packages? Is it utilities? Is it frameworks?
accessible, intuitive, usable UX is a Very Hard Problem, there’s a reason it isn’t trivially solved with directory names like ‘bin,’ rather with elements of layout, colour, iconography, typography, you know, a GUI.
Users don’t want to solve a logic puzzle in order to interact with their computer.
- programs go in /bin
- configurations go in /etc
- libraries go in /lib
- your personal user files go in /home/username