Table of Contents
/home
/home contains the personal directories of non-root users. Each user gets a subdirectory named after their login: /home/alice, /home/bob. The shell sets $HOME to this path at login, and programs use it as the default location for user-specific data and configuration. Dotfiles — files and directories whose names begin with . — store per-user configuration for individual programs (~/.bashrc, ~/.ssh/, ~/.config/).
/home/alice/
.bashrc bash configuration for interactive shells
.profile login shell environment (PATH, env vars)
.ssh/ SSH keys and known_hosts
.config/ XDG config directory for GUI apps
.local/share/ XDG data directory
Documents/
Downloads/
/home is almost always a separate partition or logical volume. This keeps user data intact when the OS is reinstalled, and prevents a user filling their home directory from crashing the root filesystem. On networked systems, /home is frequently a network mount (NFS or CIFS) so users get the same home directory on every machine in a cluster.
The root user's home directory is /root, not /home/root. This ensures the superuser's home is accessible even if the /home partition is not mounted.
