最近我参与了从Windows到Linux的代码移植 。 我遇到了这么多的窗口function,检索registry项并编辑它。 我不知道什么是Linux的等效方法。 我知道registry只是一个Windows数据库,它以“Key = value”格式存储数据。 我正在考虑INI文件 。 除此之外还有什么更高效的?
我不是从存储的angular度来问 。 我的问题与Linux中的registry等效有关。 我们如何在Linux中实现registry结构?
Bash:找出哪些行在两个文件之间没有改变
在Windows中只有带有扩展名的文件
每个用户在Linux中存储配置的典型方法是将其存储在/home/username/.someapp ,其中someapp是程序的名称。 我真的很喜欢这个,因为当我移动到另一台电脑时,我所要做的就是保存/移动我的主目录,这将保存我的所有配置。
在Windows上,注册表具有用户部分HKEY_CURRENT_USER ,而其他表示任何用户(如HKEY_LOCAL_MACHINE用户都是整个系统的全局用户。 对于用户部分,您应该将配置放在用户目录中,就像我之前解释过的那样,因为它不需要任何超级用户权限。 本地机器部分你可以选择也放在用户目录,那么每个用户将有单独的配置,或者把它放在/var/lib/someapp ,但是要记住它是只读的然后。
有了这一切,请记住,您应该创建自己的配置格式,或使用一些库,如libconfig ,XML或JSON。
Linux有XDG基本目录规范。 如果你想使用你的应用程序的配置文件(无论你喜欢哪种格式–INI,JSON,YAML,sqlite数据库等),请将其存储在目录$XDG_CONfig_HOME/your_app_name
通常很多软件都将配置文件放在/etc ,但是我认为这是一个静态配置。 如果你从软件(用户或外部的东西)改变了一些配置,最好把它放到/var/lib/(your_project_short_name)/(your_project_config_files)我猜想它和MysqL,Postgresql的数据库文件一样, Postgresql的配置文件等
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。