In computing, a home directory is a directory which contains the personal files of a particular user of the system.
On Unix/Linux systems, this includes configuration files (usually hidden, i.e. starting with a .), documents, locally installed programs, etc. The home directory is defined as part of the user's account data (e.g. in the /etc/passwd file). On many systems—including most distributions of Linux and variants of BSD (e.g. OpenBSD)—the home directory for each user takes the form /home/username (where username is the name of the user account). The home directory of the superuser account (usually named root) is traditionally /, but on many newer systems it is often located at /root.
This convention is not universal, however: in NeXTSTEP, OPENSTEP, and Mac OS X, users' home directories are stored in /Users/username. However in NeXTSTEP and OPENSTEP in a single user, non-networked setup, there is a restricted me account in tandem with the standard unrestricted root account, which stores its users' files in /me. In Solaris, home directories are located in /home, but this is actually the mount point of the automounter, which mounts home directories as needed from a file server, or /export/home on the local system. Older Unix systems often used paths such as /u01 or /var/users.
An additional Unix naming convention (originating from the csh shell) is that ~user can be used as shorthand for referring to the home directory belonging to user, whatever its location on the filesystem. This is why many web servers are configured to show a user's personal website when a URL such as http://www.catb.org/~esr/ is accessed (in this example, the username is esr). A further shorthand allows a user to refer to their own home directory simply as ~.
Separating user data from system-wide data avoids redundancy and makes backups of important files relatively simple. Furthermore, Trojan horses, viruses and worms running under the user's name and with their privileges will in most cases only be able to alter the files in the user's home directory, and perhaps some files belonging to workgroups the user is a part of, but not actual system files.