了解主設定檔位置:~/、~/.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

進一步閱讀

相關內容