了解主配置文件位置:~/、~/.config/ 和 ~/.local/share/

了解主配置文件位置:~/、~/.config/ 和 ~/.local/share/

我的主目录中有许多隐藏的配置文件:

  • 其中一些在~/(例如~/.cinnamon
  • 其中一些在~/.config/(例如~/.config/cinnamon-session
  • 其中一些在~/.local/share/(例如~/.local/share/cinnamon-session

主配置文件所在的逻辑是什么?

a) 这三个地方的隐藏文件有什么区别?

b) 在这种情况下,“本地”到底是什么意思,相对于配置,相对于家庭?

c) 在主目录中,是否还存在多个应用程序使用的其他重要的公共配置目录?


Debian 8.6 肉桂 2.2.16

答案1

当谈到“点文件”的一般情况时,这里有很长的历史,但是您特别提到的$HOME/.config$HOME/.local目录起源于XDG 基目录规范

  • $HOME/.config如果没有$XDG_CONFIG_HOME.
  • $HOME/.cache如果没有$XDG_CACHE_HOME.
  • $HOME/.local/share如果没有$XDG_DATA_HOME.

Windows 用户可能会认为这与 Microsoft 自版本 4 以来在 Windows NT 中所采用的类似(尽管名称在版本 6.0 中发生了更改):

  • %USERPROFILE%/AppData/Local/又名%LOCALAPPDATA%— 这台机器的每用户数据文件所在的位置
  • %USERPROFILE%/AppData/Roaming/又名%APPDATA%— 漫游用户可以从多台计算机访问的每用户数据文件所在的位置
  • %USERPROFILE%/AppData/Local/Temp/又名%TEMP%— 每个用户的临时文件所在的位置

这个想法是每个用户的文件可以(以及很多其他的东西)应用程序数据文件(特定于机器或漫游),应用程序配置文件,缓存文件, 和临时文件,应用程序将它们放置在以这些特定目录为根的子树中。

(MacOS 有一个类似的系统,用户可以在其中获得单独的每用户“用户本地”子树/var/folders以及用于缓存和临时文件的子目录。)CT

正如 Arch 人员所指出的,有一些“点”文件和目录已被多个应用程序广泛使用,并且在可预见的将来不太可能与 XDG 一致,例如$HOME/.ssh$HOME/.netrc

进一步阅读

相关内容