我的主目錄中有許多隱藏的設定檔:
- 其中一些在
~/
(例如~/.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
以及用於快取和臨時檔案的子目錄。)C
T
正如 Arch 人員所指出的,有一些「點」文件和目錄已被多個應用程式廣泛使用,並且在可預見的將來不太可能與 XDG 一致,例如$HOME/.ssh
和$HOME/.netrc
。
進一步閱讀
- 沃爾多·巴斯蒂安、瑞安·洛蒂和倫納特·珀特林 (2010)。 XDG 基目錄規範。 Freedesktop.org。
- 克里斯傑克森(2008-02-05)。我應該在哪裡寫入程式資料而不是程式檔案?。原始配方很棒的醬。微軟。
- 管理漫遊用戶資料部署指南。 Windows Vista 技術庫。微軟技術網。
- https://askubuntu.com/questions/102046/
- https://unix.stackexchange.com/a/555214/5132
- https://wiki.archlinux.org/index.php/XDG_Base_Directory_support
- 萊昂內爾·德里科 (2009-03-11)。 修改您的應用程式以使用 XDG 資料夾。