Where is the conventional place to setup my {program,backup,etc} in the Unix filesystem?

I asked myself this question several times while:

  • installing a Git server. The documentation advises you to use /srv/git
  • including the directory of the Boost headers. With Archlinux, it’s under /usr/include/boost
  • creating temporary files under /tmp
  • creating Docker images, etc.

After read[ing] the fucking manual, there is a dedicated man page which replies to the upper question:

man hier # diminutive of "hierarchy"

Note, Unix operating systems will have a different filesystem layouts. For instance, Linux or FreeBSD.

Extra: Why man pages section 7?

Man pages are divided into sections - man man. The conventional section to write man pages about conventions happens to be the section 7. Hence the title of man hier - hier(7) - Linux man page


If you have any questions or suggestions that you would share with me, write me an email. For typographical errors or dead links, send me a pull request.