Directory Standards
From GnuCash
This is a short overview of standards for directories.
Contents
Unix based
FHS
The Filesystem Hierarchy Standard (FHS) defines the general directory layout of a system. It is currently maintained by The Linux Foundation at https://wiki.linuxfoundation.org/lsb/fhs. Before it was at http://www.pathname.com/fhs/ maintained by the Linux Standard Base (LSB) workgroup of freestandards.org.
The different BSD variants are no longer part. They use onlyman hier(7)
XDG
Freedesktop.org's https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html defines some rules for the home directory.
XDG variable | Default | Notes |
---|---|---|
$XDG_DATA_HOME | $HOME/.local/share | the base directory relative to which user specific data files should be stored. |
$XDG_DATA_DIRS | usr/local/share/:/usr/share/ | the colon ':' seperated preference-ordered set of base directories to search for data files in addition to $XDG_DATA_HOME |
$XDG_CONFIG_HOME | $HOME/.config | the base directory relative to which user specific configuration files should be stored. |
$XDG_CONFIG_DIRS | /etc/xdg | the colon ':' seperated preference-ordered set of base directories to search for configuration files in addition to $XDG_CONFIG_HOME |
$XDG_CACHE_HOME | $HOME/.cache | the base directory relative to which user specific non-essential data files should be stored. |
$XDG_RUNTIME_DIR | If it is not set applications should fall back to a replacement directory with similar capabilities and print a warning message. | Applications should use this directory for communication and synchronization purposes and should not place larger files in it, since it might reside in runtime memory and cannot necessarily be swapped out to disk... |
MS-DOS based
The KNOWNFOLDERIDs replaced in Vista the former constant special item ID list (CSIDL). .