# /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.