A home directory is a file system directory on a multi-user operating system containing files for a given user of the system. The specifics of the home directory (such as its name and location) are defined by the operating system involved; for example, Linux / BSD (FHS) systems use /home/<username> and Windows systems between 2000 and Server 2003 keep home directories in a folder called Documents and Settings.
A user's home directory is intended to contain that user's files; including text documents, music, pictures or videos, etc. It may also include their configuration files of preferred settings for any software they have used there and might have tailored to their liking: web browser bookmarks, favorite desktop wallpaper and themes, passwords to any external services accessed via a given software, etc. The user can install executable software in this directory, but it will only be available to users with permission to this directory. The home directory can be organized further with the use of sub-directories.
The content of a user's home directory is protected by file system permissions, and by default is accessible to all authenticated users and administrators. Any other user that has been granted administrator privileges has authority to access any protected location on the filesystem including other users home directories.
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.
Default home directory per operating system
|Operating system||Path||Environment variable|
|Microsoft Windows NT||<root>\WINNT\Profiles\<username>||%USERPROFILE%|
|Microsoft Windows 2000, XP and 2003||<root>\Documents and Settings\<username>|
|Microsoft Windows Vista, 7, 8 and 10||<root>\Users\<username>|
|SunOS / Solaris||/export/home/<username>|
|Linux / BSD (FHS)||/home/<username>|
|AT&T Unix (original version)||<root>/usr/<username>|
Other features per operating system
In Unix, a user will be automatically placed into their home directory upon login. The ~user shorthand variable refers to a user's home directory (allowing the user to navigate to it from anywhere else in the filesystem, or use it in other Unix commands). The ~ (tilde character) shorthand command refers to that particular user's home directory.
The Unix superuser has access to all directories on the filesystem, and hence can access home directories of all users. The superuser's home directory on older systems was /, but on many newer systems it is located at /root (Linux, BSD), or /var/root (Mac OS X).
In the OpenVMS operating system, a user's home directory is called the "root directory", and the equivalent of a Unix/DOS/Windows/AmigaOS "root directory" is referred to as the "Master File Directory".
Contrast with single-user operating systems
Single-user operating systems simply have a single directory or partition for all user files, there is no individual directory setup per user (though users can still setup and maintain directories inside this main working directory manually).
- AmigaOS versions 2 and up have "System" and "Work" partitions on hard disks by default.
- BeOS (and its successors) have a /home directory which contain the files belonging to the single user of the system.
- Versions of Windows prior Windows 95 OEM Service Release 2 did not have a user folder, but since that release, \My Documents became in effect the single user's home directory.
- NeXTSTEP and OPENSTEP in a single user, non-networked setup, /me is used, as well as /root when logged in as superuser.
- "Home Directory Definition". Accessed on July 23, 2009