拥有一个点文件和一个相邻的不带点的同名文件是一种不好的做法吗?
背景:我们已经创建了一个 $HOME/.ourapp 目录,在其中存储各种配置文件、日志文件等,但我们正在讨论将用户添加、创建和修改的文件放置在哪里,无论是从应用程序外部还是从应用程序外部在其中使用各种工具。将它们放在 $HOME/ourapp 中似乎是最自然的,但这可能是不好的做法或令人困惑。
答案1
拥有一个点文件和一个相邻的不带点的同名文件是一种不好的做法吗?
不。点文件的“语义”是(这是非常传统且不太一致的)它们存储用户配置,因此它们可以与“用户可见”非点目录很好地配合。
我们已经创建了一个 $HOME/.ourapp 目录,用于存储各种配置文件、日志文件等
我建议反对 - 这不是一个好的做法,这将有一个文件夹$XDG_CONFIG_HOME/ourapp
(通常或如果未设置,$XDG_CONFIG_HOME
是$HOME/.config
)用于配置,$XDG_RUNTIME_DIR/ourapp
用于临时文件,$XDG_STATE_HOME/ourapp/logs
(如果未设置,$XDG_STATE_HOME
是$HOME/.local/state
)用于应该持续重新启动的状态,但不是必不可少的,比如日志。
看https://specations.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables
这样,你
- 不要弄乱用户的主目录,并且
- 当用户运行备份时,他们只需备份 XDG 配置目录,所有应用程序都会立即备份。
但我们正在讨论将用户添加、创建和修改的文件放置在哪里,无论是从应用程序外部还是从应用程序内部,使用各种工具。
重要讨论!
我建议询问可执行文件xdg-user-dir DOCUMENTS
(或VIDEOS
,或 中记录的其他选择之一man xdg-user-dir
),并使用例如$(xdg-user-dir DOCUMENTS)/ourapp
用户修改的数据:这将确保文件放置在用户直观地查找它们的位置。
对于讲英语的人来说,将所有此类文件简单地放入 中似乎是合乎逻辑的$HOME/Documents
,但在非英语用户帐户上,这些目录通常有不同的调用方式($HOME/Dokumente
例如,在德语 gnome 上);从你名字中的非 ASCII 字符来看,我猜你和我一样都知道无法本地化软件是多么烦人。