Gel CLI `gel info` 命令详解:定位 Gel 安装目录与文件系统路径
2026/9/23 16:38:46 网站建设 项目流程
  • 数据库
  • 图数据库
  • 关系型数据库

【免费下载链接】edgedb

Gel supercharges Postgres with a modern data model, graph queries, Auth & AI solutions, and much more.

项目地址:https://gitcode.com/gh_mirrors/ed/edgedb
点击查看免费下载

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-dir
  • cache-dir
  • data-dir
  • service-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.

项目地址:https://gitcode.com/gh_mirrors/ed/edgedb
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询