Linux等效的注册表
What is registry equivalent for Linux?
最近我参与了从Windows到Linux 的代码移植。我遇到了许多Windows功能,这些功能可以检索注册表键并进行编辑。我不确定Linux的等效方法是什么。我知道注册表只是一个Windows数据库,它将数据存储在" key = value" 格式中。我正在考虑 INI文件。除此之外,还有什么更有效的吗?
i是不要从存储角度询问。我的问题与Linux中的注册表有关。我们如何在Linux中实现注册表结构?
将配置存储在Linux中的典型方法是将其存储在/home/username/.someapp
中,其中someapp
是您程序的名称。我实际上在Linux中喜欢它,因为当我移至另一台计算机时,我要做的就是保存/移动主目录,这将保存我的所有配置。
在Windows上,注册表具有用户零件HKEY_CURRENT_USER
,而其他代表任何用户(例如HKEY_LOCAL_MACHINE
(都是整个系统的全局。对于用户零件,您应该像以前那样将配置放入用户目录中,因为它不需要任何超级用户特权。您可以选择要选择的本地计算机零件,然后将每个用户都具有单独的配置,或将其放入/var/lib/someapp
之类的内容,但请记住,它将仅阅读。
有了所有这些,请记住,您应该创建自己的配置格式,或使用某些库,例如libconfig,xml或json。
Linux具有XDG基本目录规范。如果要使用config file(s(作为应用程序(您喜欢哪种格式 - INI,JSON,YAML,SQLITE数据库等(,请将其存储在目录$XDG_CONFIG_HOME/your_app_name
通常许多软件在 /etc
中获取配置文件,但这是我认为的静态配置。如果您从软件(用户或外部事物之后(更改了某些更改的配置,那么我想将其放入/var/lib/(your_project_short_name)/(your_project_config_files)
中,就像使用MySQL一样,用于数据库文件和PostgreSQL的配置文件等。
- 有没有任务栏API可以立即应用注册表更改
- 检查注册表项是否链接到(或副本)另一个注册表项
- 禁用地址共享注册表不起作用
- 如何从注册表项中提取配置单元和注册表名称
- 注册表正在设置 1 个字符
- 清理"QSettings"注册表项的最佳方法(Windows上的Qt 5)
- 在 c++ 中编辑注册表项
- 某些进程的注册表限制
- 在编译时生成某种子类/类型注册表?
- 如何测试注册表项是否存在?
- 注册表-获取值(而不是键)上次更改的时间和键创建日期
- 从注册表中检索已注销用户的 sid
- 如何正确检查 c++ 是否存在注册表项?
- 如何在不使用任何数据库的情况下制作动态注册表单?
- 强制资源管理器重新加载注册表值
- 以编程方式锁定注册表项以避免并发问题
- 如何应用注册表模式使"select class depend on input"遵守开放封闭原则?
- 如何恢复注册表项的有效权限?C++
- 如何防止 C API 注册表中的 Lua 回调被垃圾回收?
- Linux等效的注册表