< Previous | Contents | Next >
3.3.2. The User’s Home Directory
The contents of a user’s home directory are not standardized but there are still a few noteworthy conventions. One is that a user’s home directory is often referred to by a tilde (“~”). That is useful to know because command interpreters automatically replace a tilde with the correct directory (which is stored in the HOME environment variable, and whose usual value is /home/user/).
Traditionally, application configuration files are often stored directly under your home directory, but the filenames usually start with a dot (for instance, the mutt email client stores its configura- tion in ~/.muttrc). Note that filenames that start with a dot are hidden by default; the ls com- mand only lists them when the -a option is used and graphical file managers need to be explicitly configured to display hidden files.
Some programs also use multiple configuration files organized in one directory (for instance, ~/
.ssh/). Some applications (such as the Firefox web browser) also use their directory to store a cache of downloaded data. This means that those directories can end up consuming a lot of disk space.
These configuration files stored directly in your home directory, often collectively referred to as dotfiles, have long proliferated to the point that these directories can be quite cluttered with them. Fortunately, an effort led collectively under the FreeDesktop.org umbrella has resulted in the XDG Base Directory Specification, a convention that aims at cleaning up these files and directories. This specification states that configuration files should be stored under ~/.config, cache files under
~/.cache, and application data files under ~/.local (or subdirectories thereof). This convention is slowly gaining traction.
Graphical desktops usually have shortcuts to display the contents of the ~/Desktop/ directory (or whatever the appropriate translation is for systems not configured in English).
Finally, the email system sometimes stores incoming emails into a ~/Mail/ directory.