2010-07-30 79 views
17

我打算開發一個跨平臺的腳本。在Linux和其他操作系統上,它將在XDG_DATA_HOME中存儲配置XDG_CONFIG_HOME和數據文件(特別是下載的插件)。在Windows上,它將使用APPDATA(除非有人有更好的主意)。但是,在Mac OS X上做什麼是正確的?Mac OS X上XDG_CONFIG_HOME和XDG_DATA_HOME的等價物?

在我第一眼看過便利的Macbook的~/Library目錄時,我看到了PreferencesApplication Support文件夾。我原本打算使用這些,但Preferences似乎只包含反向域名如com.apple.foo.bar.baz.plist的plists,並且Application Support中的每個文件夾對應於/Applications中的一個包,因此我不確定系統對文件的反應如何不符合其標準。將它們直接存儲在~/Library可能是一個選項,但如果有更好的地方,我不想用流氓myscript.conf文件污染它。

我應該在哪裏存儲這些文件? (請不要只說~/.myscript,我知道這是Unix的傳統,但它讓我很難看到主目錄中的隨機點文件。)

+0

如果它是一個命令行工具,或者由開發人員使用,*請請請*只需使用XDG目錄。或者至少在存在的情況下使用它們,即使你回退到'〜/ Library'而不是'〜/ .config'等。 – OJFord 2016-10-08 21:02:17

回答

4

我會用~/Library/Application Support/script_name/Application Support中的子目錄通常由各種應用程序使用,包括Apple自己的軟件。但它不是由操作系統強制執行的,也不是與/Applications內的應用程序綁定的。所以你完全可以自由地創建你自己的目錄。

有關一般OS X的目錄結構,請參見this Apple document

+0

好的,很酷。這是否適合配置,或只是數據文件? – LeafStorm 2010-07-31 17:34:30

+0

兩者都很好。我在答案中加入了一份官方文件作爲參考。 – Yuji 2010-08-01 17:55:50

+1

鏈接看起來已經過時了,也許是這個:https://developer.apple.com/library/content/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html#//apple_ref/doc/uid/TP40010672-CH2 -SW1 – 2017-05-26 12:37:40

24

的各種路徑的XDG基本目錄規範相比蘋果的文檔接近到以下位置:

  • XDG_CONFIG_HOME▶︎~/Library/Preferences/
  • XDG_DATA_HOME▶︎~/Library/
  • XDG_CACHE_HOME▶︎~/Library/Caches/

Mapping XDG Base在Mac OS X爲 「我的應用」 目錄規格位置看起來是這樣的:

  • XDG_CONFIG_HOME▶︎~/Library/Preferences/name.often.with.domain.myapp.plist
  • XDG_DATA_HOME▶︎~/Library/My App/
  • XDG_CACHE_HOME▶︎~/Library/Caches/My App/

這些映射似乎非常合理,但他們不是確切的。某些種類的緩存或數據可能適用於~/Library/Application Support/My App,而其他緩存或數據可能最適合於臨時位置或應用程序包。所有這些都是慣例,使用最佳XDG_位置的原因同樣適用於在Mac OS X系統上使用最佳位置。

您在~/.myscript的煩惱符合Apple的準則:「不要污染用戶空間」。

參考文獻:

+3

XDG _ * _ HOME不是應用程序特定的 - 您的示例可能應該是「XDG_CONFIG_HOME - >〜/ Library/Preferences /」,「XDG_DATA_HOME - >〜/ Library /」,以及「XDG_CACHE_HOME - >〜/ Library/Caches /」。 (您的帖子雖然有幫助,但我只是爲後人提供了這個小修改) – 2013-07-22 14:38:45

+0

示例是「我的應用程序」的位置。我已經添加了一個通用映射到顯示非應用程序特定位置的答案。謝謝。 – jla 2013-07-26 18:16:26

+0

鏈接看起來已經過時了,是這樣的:https://developer.apple.com/library/content/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html#//apple_ref/doc/uid/TP40010672 -CH2-SW1 – 2017-05-26 12:37:24