Shell 什么';对于跨平台命令行程序,数据库的正确存储位置是什么?

Shell 什么';对于跨平台命令行程序,数据库的正确存储位置是什么?,shell,unix,command-line,Shell,Unix,Command Line,我写了一个简单的笔记程序,它只不过是一个将键映射到值的字典。即 $ hlp -key age -value 25 $ hlp age 25 它只是将信息存储在一个硬编码为~/.hlp.json的json文件中。但我想知道是否有一些标准的位置,我应该把这个文件。有这样的数据库的标准位置吗?这里有一个有用的资源是手册页。() 仅由您使用的数据属于$HOME,通常位于/HOME下 对于用于支持系统本身的东西,您应该使用/var。对于刚刚托管在系统上的应用程序,可以使用/var/opt 如果应用程

我写了一个简单的笔记程序,它只不过是一个将键映射到值的字典。即

$ hlp -key age -value 25
$ hlp age
  25

它只是将信息存储在一个硬编码为
~/.hlp.json
的json文件中。但我想知道是否有一些标准的位置,我应该把这个文件。有这样的数据库的标准位置吗?

这里有一个有用的资源是手册页。()

仅由您使用的数据属于
$HOME
,通常位于
/HOME

对于用于支持系统本身的东西,您应该使用
/var
。对于刚刚托管在系统上的应用程序,可以使用
/var/opt

如果应用程序很大,可以复制或移动到另一个系统,那么您应该创建一个单独的文件系统,在
hier(7)
中列出的任何文件系统之外创建一个挂载点。这可以是从SAN或NAS装载的文件系统,这有助于应用程序的移动性


一旦您确实需要从不同的机器访问数据,您就必须将其移动到网络可访问的密钥/值存储或sql数据库。

这是一个相当主观的问题!我会给自己一个完整的目录(例如,
~/.hlp
),就像
ssh
~/.ssh
所做的那样,这样我就可以更灵活地使用多个不同的数据库和一个选项/config文件。如果数据在用户之间共享,我会选择
/usr/local/something
。而不是
/usr/local
。系统范围的可写数据应该放在
/var
下。