I was looking through
$PATH today, and trying to figure out what everything was. From what I recall, and what I've googled:
/sbin: system binaries.
/bin: single-user mode essential binaries.
/usr/bin: multi-user mode non-essential binaries (for all users to enjoy).
/usr/sbin: non-essential system binaries?
/usr/local/bin: binaries intended for all users, which are not installed via the package manager?
/usr/local/sbin: system binaries installed by some means other than the package manager?
/opt/bin: non-essential multi-user static binaries?`
KDE also seems to pollute my
$PATH. I'd remove it, if I wasn't sure it was going to break KDE somehow. It's probably that way for a reason.
Question: Following the above "rules", is there a "standard" place to put multi-user mode, single-user non-essential binaries? i.e. say I write a script to check my mail; I want to run it, but not anyone else who uses this computer. Where does it go?
Of course one answer is "This is Linux, put it anywhere you want, fool". But I wonder if there's a convention that others follow.
~/bin would seem to follow the pattern. But I don't like polluting my ~ with directories unless I have to. And my ~ doesn't otherwise mirror /.
~/.bin would be hidden but I'm always afraid to make hidden directories in ~ just in case some program uses a directory with that name for its own config files.
If I can't think of anything else I'm just going to put all my personal scripts into