- 数据库
- 图数据库
- 关系型数据库
【免费下载链接】edgedb
Gel supercharges Postgres with a modern data model, graph queries, Auth & AI solutions, and much more.
gel info是 Gel 命令行工具(CLI)中用于展示安装信息的命令,它会列出 Gel 在文件系统上使用的各个目录路径。无论你是想排查实例连接凭据的存放位置、备份本地实例数据、清理卸载残留,还是编写脚本自动获取路径,gel info都是最直接的入口。本文将基于官方命令文档,结合仓库源码与配套文档,完整讲解该命令的语法、输出内容、--get选项及典型实战场景。
命令概览与作用
gel info的功能非常简单明确:显示关于 Gel 安装的信息,目前该命令主要展示 Gel 使用的文件系统路径。其完整语法如下:
gel info [<options>]该命令不接受位置参数,仅支持可选的命令行选项。它不连接任何数据库、不访问网络,只是纯本地地报告 CLI 依赖的目录布局,因此可以放心在任何环境下执行(包括 CI 脚本)。
官方对该命令的定位可以从 CLI 总览文档 中印证:在卸载指南中,文档要求先运行gel info列出 Gel 存储数据的目录,再逐个删除;在描述cli.toml全局配置文件时,也要求通过gel info找到 "Config" 目录的位置。可以说,gel info是理解整个 Gel CLI 本地状态布局的"地图"。
输出内容:Gel 使用的目录路径
运行gel info后,命令会输出若干行路径信息,每行以目录类别名称开头。Gel 在本地使用多个目录,各自存放不同类型的信息,具体的绝对路径由你的操作系统决定(Linux、macOS、Windows 遵循各自平台习惯,例如 Linux 上通常遵循 XDG 目录规范)。
文档将这些路径统称为 "Gel config directory"(Gel 配置目录)、"Gel data directory"(Gel 数据目录)等,整个文档体系中大量命令说明都会引用这些称谓。五大目录及其用途如下:
| 目录类别 | 存放内容 |
|---|---|
| Config(配置目录) | 所有本地实例的自动生成凭据(credentials)以及项目元数据 |
| Data(数据目录) | 所有本地 Gel 实例的内容(即实例数据库本体) |
| CLI Binary(CLI 二进制目录) | CLI 可执行文件本身(如果已安装) |
| Service(服务目录) | 运行中进程/守护进程(daemon)的驻地 |
| Cache(缓存目录) | 日志与各类缓存的"收纳箱" |
Config 目录:凭据与项目元数据的中心
Config 目录是整个 CLI 中最关键的一个路径,因为所有本地实例的连接凭据都存放在<gel_config_dir>/credentials下。这一点在多个文档中反复出现:
- 连接选项文档 指出,本地与自托管实例的实际连接参数(host、port、username、password 等)存储在
<gel_config_dir>/credentials中,通常由gel instance create等命令创建; - 交互式 Shell 文档 中
-I, --instance=<name>选项的说明同样要求通过运行gel info来查看<gel_config_dir>在本机的位置; - 实例创建文档 明确说明
gel instance create会创建一个新实例,并在<gel_config_dir>/credentials中生成对应的凭据文件。
此外,项目文档 指出gel project init会把当前目录与实例的"链接"信息(连接元数据)存储在 Gel 的配置目录中,从而实现在项目目录内运行 Gel 命令时自动连接到关联实例、无需每次手动指定凭据。
Config 目录同时也是全局配置文件cli.toml的所在地。根据 CLI 总览文档,该文件用于定制 CLI 与 REPL 的行为(如 shell 历史大小、输出格式、输入模式等),其位置随操作系统而异,需要通过gel info找到 "Config" 目录。这一设计从 1.0 RC1 变更日志 可以看到:引入cli.toml全局配置文件时,其位置正是由gel info以 "Config" 类别展示的。
Data 目录:本地实例内容的存放处
Data 目录包含所有本地 Gel 实例的内容,也就是实例管理的数据库数据。这是备份、迁移和排查数据问题时需要关注的核心位置。
与之对应,服务器端的部署文档也体现了"数据目录"这一概念在服务端的一致性:裸机部署指南 中提到通过 systemd 单元启动的 Gel 服务器数据目录为/var/lib/gel/6/data,生成的 TLS 自签名证书edbtlscert.pem也存放在数据目录中;运行配置文档 中的GEL_SERVER_DATADIR环境变量指定数据库文件所在路径,默认值为/var/lib/gel/data,并直接映射到 gel-server 的--data-dir参数。
CLI Binary、Service 与 Cache 目录
- CLI Binary:存放 CLI 可执行文件本身(如果通过支持的方式安装)。在 CLI 总览文档 的卸载章节中可以看到,命令行工具只有一个二进制文件,Linux 或 macOS 上直接删除
$(which gel)即可移除程序本体。 - Service:运行中的进程与守护进程的驻地。例如本机实例的服务器进程运行时产生的套接字、进程文件等瞬态信息会与此相关。服务端对应概念可参考运行配置中的
GEL_SERVER_RUNSTATE_DIR环境变量(运行配置文档),它指定 Gel 放置 Unix socket 与其他瞬态文件的路径,直接映射到 gel-server 的--runstate-dir参数。 - Cache:日志与各类缓存的收纳处。例如 网络使用文档 提到,CLI 启动时会检查版本更新,最新版本号会被缓存一段随机时长(16 到 32 小时,随机化既是为了分散负载也是为了更好地匿名化数据),失败结果则缓存 6 到 12 小时——这类版本检查缓存就落在缓存目录中。
--get选项:脚本化获取单一路径
gel info支持一个用于脚本化的选项:
gel info --get <path-name><path-name>的可选值为以下四种之一:
config-dircache-dirdata-dirservice-dir
使用--get后,命令只输出请求的单个路径,不包含任何多余格式,非常适合直接赋值给 shell 变量或用于后续命令拼接。例如:
# 获取配置目录路径 gel info --get config-dir # 获取数据目录路径 gel info --get># 定位凭据目录(credentials 所在处) CRED_DIR="$(gel info --get config-dir)" ls -la "$CRED_DIR/credentials" # 定位本地实例数据目录 DATA_DIR="$(gel info --get>赞- 数据库
- 图数据库
- 关系型数据库
【免费下载链接】edgedb
Gel supercharges Postgres with a modern data model, graph queries, Auth & AI solutions, and much more.
相关推荐
Gel CLI 服务器信息查询:`gel server info` 命令完全指南
Gel CLI 服务器信息查询: gel server info 命令完全指南 gel server info 是 Gel 命令行工具中用于查看已安装 Gel
数据库图数据库关系型数据库requests库源码解析:核心Request和Response结构体探秘
requests库源码解析:核心Request和Response结构体探秘 在Go语言开发中,HTTP客户端库是构建网络应用的基础组件。 requests库 作
数据库图数据库关系型数据库Gel CLI 命令详解:`gel instance unlink` 解除远程实例链接
Gel CLI 命令详解: gel instance unlink 解除远程实例链接 gel instance unlink 是 Gel CLI 中用于解除与已
数据库图数据库关系型数据库