这是一个设置存储库 - 一个集中的,有点标准化的位置,用于显示首选项,设置和轻量级配置文件。
当您从全局上了解操作系统必须为其用户和应用程序存储的所有内容时,将更容易理解:
视窗
- 设置存储库
- 系统: Windows注册表
HKEY_LOCAL_MACHINE
,尤其是其中的大部分\SOFTWARE\Microsoft
- 第三方系统范围: Windows注册表
HKEY_LOCAL_MACHINE
- 以用户为中心的系统: Windows注册表
HKEY_USERS
,[user]\SOFTWARE\Microsoft
- 以第三方用户为中心: Windows注册表
HKEY_USERS\[user]\SOFTWARE
- 用户不需要
C:\Users\[User]\AppData
在隐藏文件夹中查看的应用程序文件
- 用户可能需要
C:\Users\[User]\
在应用程序创建的非隐藏文件夹中的应用程序文件
Mac OS X
- 设置存储库
- 系统和第三方:
/Library/Preferences
在com.apple...plist
文件中
- 系统范围
/Library/Preferences
内的第三方:在第三方plist
文件中
- 以用户为中心的系统:
/Users/[user]/Library/Preferences
,与上述相同
- 以第三方用户为中心:
/Users/[user]/Library/Preferences
,与上述相同
- 用户不需要查看的系统范围的应用程序文件
/Library/Application Support
- 用户不需要查看的应用程序文件
/Users/[user]/Library/Application Support
- 用户可能需要
/Users/[user]/
在非隐藏文件夹中的应用程序文件
本质上,注册表与Mac OS X的 文件夹相同/Library/Preferences
,但不多或少。
Mac OS与组织的系统和应用程序数据组几乎一对一匹配,这一事实说明Windows Registry是一个完全合理的系统,只是一种不同的处理方式
注册表的非文件系统性质确实使备份,还原或迁移其中的一部分变得困难,同时又留下了其他部分,因此我确实更喜欢Mac系统,但目的几乎相同。
两种操作系统都有选择不同程度违反这些结构的应用程序,通常是通过篡改一些全局性上下文来创建不真正属于该结构的文件或文件夹。有些应用程序实际上创建文件夹,直入C:\
或/
不问。那真让我发疯!
顺便说一句,尽管(大多数)Mac OS应用程序的拖放特性非常出色,但是并排使用不同的版本也会遇到类似的问题,尽管您可能不会注意到-因为未保存设置在该.app
文件本身,但Application Support
还是Preferences
,应用程序将仍然使用相同的设置和相互影响,除非新版本明确决定一个不同的名称使用文件夹中的每个版本(IntelliJIDEA70
,IntelliJIDEA81
,等)