man hier
now contains the following entries. Notice particularly what /usr/ is to contain:
In fact you can easily go back in time on man pages online, and for FreeBSD 1.0 the entry for /usr/ as "contains the majority of user utilities and applications" doesn't seem to have changed at all since! But nothing at all about home directories, and
man hier
generally doesn't seem to have considered them in scope to document.
The first appearance of even
the concept of a home directory in FreeBSD's
man hier
was FreeBSD 2.2.1 where we see /root is "root's HOME directory". And as far as I can tell, no other instances of a "home" directory are documented until FreeBSD 13.2 noted that /nonexistent/ is "a non-existent directory; by convention, it serves as a home directory for special user accounts that need no home directory; see also /var/empty", then FreeBSD 13.3 noting that /home/ is for "user HOME directories. This is a symlink to /usr/home/" and dropping mention of /nonexistent/. By that time the change of location in 14.0 had already happened so presumably the man pages were documented to reflect that change.
Btw, does anyone know why some directories are listed in
man hier
with a trailing slash and others aren't? I can see the logic in writing "/usr/" so its subdirectories can just be written as "bin/, games/" etc without a slash at the start. But for directories for which no subdirectories are documented, is there some significance to why it's "/root" and "/kernel" but "/lkm/" and "/mnt/" etc? It looks like originally they all had a trailing slash, with the exception of the final entry /386bsd for a "pure kernel executable (the operating system loaded into memory at boot time)". As additions got made over time there was inconsistency about whether there should be a trailing slash or not. But perhaps it was supposed to mean something? The OpenBSD
man hier
has stuck to having trailing slashes on everything except kernel executables. NetBSD apparently the same, and trailing slashes are very useful for them since their
man hier
includes many files as well as directories so the trailing slash makes it much clearer which is which.
Fwiw, over in the Linux world, the Filesystem Hierarchy Standard has gone the other way and has no trailing slashes on its directories. But that's not the original UNIX way - in 1979's Version 7 where, according to the Berkeley docs,
man hier
was first introduced, we do get trailing slashes and "/usr/" is described as a "general-pupose directory, usually a mounted file system" - and of course, no mention of "home". That's the same description as used in BSD4.2. And in the final BSD4.4-Lite2 we have /usr/ listed as "contains the majority of the system utilities and files", /home/ as "mount point for the automounter; see amd(8)" /amd/ as "home directories mount point; see amd(8)" and /root/ as "home directory for the super-user".
See:
man.freebsd.org
man.netbsd.org
Continuous Unix commit history from 1970 until today - dspinellis/unix-history-repo
github.com
Continuous Unix commit history from 1970 until today - dspinellis/unix-history-repo
github.com
Continuous Unix commit history from 1970 until today - dspinellis/unix-history-repo
github.com