Há uma longa história aqui quando se trata do caso geral de "arquivos de ponto", mas os diretórios $HOME/.config
e $HOME/.local
que você mencionou especificamente têm uma origem na Especificação de diretório base do XDG .
$HOME/.config
é para onde os arquivos de configuração por usuário vão, se não houver $XDG_CONFIG_HOME
.
$HOME/.cache
é para onde os arquivos de cache por usuário vão, se não houver $XDG_CACHE_HOME
.
$HOME/.local/share
é para onde os arquivos de dados por usuário vão, se não houver $XDG_DATA_HOME
.
Os usuários do Windows podem reconhecer isso como um paralelo ao que a Microsoft possui no Windows NT desde a versão 4 (embora os nomes tenham sido alterados na versão 6.0):
%USERPROFILE%/AppData/Local/
aka %LOCALAPPDATA%
- para onde vão os arquivos de dados por usuário desta máquina
%USERPROFILE%/AppData/Roaming/
aka %APPDATA%
- para onde os arquivos de dados por usuário que um usuário móvel pode acessar de várias máquinas
%USERPROFILE%/AppData/Local/Temp/
aka %TEMP%
- para onde vão os arquivos temporários por usuário
A idéia é que por usuário arquivos podem ser (entre um monte de outras coisas) arquivos de dados de aplicativos (específico da máquina ou em roaming), arquivos de configuração do aplicativo , arquivos em cache e arquivos temporários , e aplicações colocá-los em sub-árvores enraizadas nestes diretórios particulares.
(MacOS tem um sistema semelhante, onde os usuários obtêm indivíduo por usuário "usuários locais" sub-árvores sob /var/folders
com C
e T
subdiretórios para cache e arquivos temporários.)
Como o pessoal do Arch observa, existem alguns arquivos e diretórios "ponto" que se tornaram comumente usados por vários aplicativos e é improvável que concordem com o XDG em um futuro próximo, como $HOME/.ssh
e $HOME/.netrc
.
Leitura adicional