如何在 Linux 上挑选并运行 jq 官方预编译二进制(AMD64/ARM64/i386)
在 Linux 上不想走发行版包管理器、也不想自己从源码编译 jq 时,可以直接使用官方发布的预编译二进制。docs/content/download/default.yml 明确说明:jq 用 C 编写、没有运行时依赖,官方为 Linux、macOS、Windows 都提供了预编译二进制,Linux 从 jq 1.7 起同时提供 AMD64、ARM64、i386 三个架构的构建。下载对应架构的文件、赋予可执行权限后,用 jq --version 确认版本,即完成整个流程。
先确认目标架构,再选对应的发布产物
下载页文档列出的 Linux 预编译二进制命名规则是:
| 架构 | 产物名 |
|---|---|
| AMD64(64 位 x86) | jq-linux-amd64 |
| ARM64 | jq-linux-arm64 |
| i386(32 位 x86) | jq-linux-i386 |
当前文档给出的最新预编译版本是 jq 1.8.2,三个架构的下载地址(摘自 docs/content/download/default.yml 的 Linux 小节):
https://github.com/jqlang/jq/releases/download/jq-1.8.2/jq-linux-amd64
https://github.com/jqlang/jq/releases/download/jq-1.8.2/jq-linux-arm64
https://github.com/jqlang/jq/releases/download/jq-1.8.2/jq-linux-i386
文档同时给出了旧版本的同架构产物,命名规律一致,版本号不同:
- jq 1.8.1、jq 1.8.0、jq 1.7.1、jq 1.7:
jq-linux-amd64/jq-linux-arm64/jq-linux-i386 - jq 1.6:只有
jq-linux64(AMD64)和jq-linux32(i386),没有 ARM64 - jq 1.5:同 jq 1.6,
jq-linux64/jq-linux32 - jq 1.4、jq 1.3:
jq-linux-x86_64/jq-linux-x86
需要锁定旧版本时,把上面 1.8.2 链接中的版本号换成对应版本即可,文档中的各版本列表就是完整依据。
下载二进制并加上可执行权限
以 AMD64 为例,下载后得到一个名为 jq-linux-amd64 的文件:
wget -O jq https://github.com/jqlang/jq/releases/download/jq-1.8.2/jq-linux-amd64
chmod +x jq
下载页文档的原文提醒:这些二进制“应当可以直接运行”,但在 macOS 和 Linux 上可能需要先用 chmod +x jq 赋予可执行权限——这就是上面第二步的作用。把文件命名为 jq 方便后续直接调用;如果保留了 jq-linux-amd64 原名,后文命令中的 jq 相应换成实际文件名即可。
wget 只是下载手段;文档给出的核心事实是上面那条 release 产物 URL 和 chmod +x 要求,用浏览器下载或换用 curl 都不影响后续步骤。
运行并验证:--version 与一个简单查询
验证方式分两层,都来自项目文档:
第一,确认能运行且版本符合预期。手册 docs/content/manual/v1.8/manual.yml 对选项的定义:
--version/-V:输出版本号并以退出码 0 结束;--build-configuration:输出构建配置并以退出码 0 结束(文档明确说明该输出没有受支持的格式,后续版本可能变化)。
jq --version
对 1.8.2 的二进制,应输出版本号 1.8.2。如果命令直接报权限错误,回到上一步确认已执行 chmod +x。
第二,跑一个真实查询确认二进制功能正常。以提取 JSON 字段为例(示例输入):
echo '{"name":"jq","version":"1.8.2"}' | jq '.name'
能正常输出结果即说明该二进制在当前架构上可执行。
校验下载文件的完整性(可选但推荐)
文档说明:所有正式发布与预发布二进制都提供了 SHA-256 校验值,并可用 GnuPG 验证签名。仓库内 sig/v1.8.2/sha256sum.txt 就是 jq 1.8.2 的官方校验清单,其中与本文三个架构对应的行:
b1c22172dd303f3be49e935aa56aa48a8b7a46e0bc838b4997d3bb451495870f jq-linux-amd64
8b85c817833814ddca00a144c33705546355afccf0cf39b188f3cdb48b852309 jq-linux-arm64
ba996e8ce436973e2f39e2639405a37e8c81ba8c722b71c83996278ad0af16dd jq-linux-i386
下载后用 sha256sum 对照上表,数值一致说明文件与发布物一致。旧版本同理,对应清单在 sig/v1.8.1/sha256sum.txt、sig/v1.8.0/sha256sum.txt、sig/v1.7.1/sha256sum.txt、sig/v1.7/sha256sum.txt 等路径下(仅 1.5 及以上版本提供 sha256 清单)。
签名验证方面,文档说明 jq 有两把发布密钥:sig/jq-release-old.key 用于 1.6 及更早版本,sig/jq-release-new.key 用于 1.7 及更新版本;各版本的 .asc 签名文件与二进制一一对应(如 sig/v1.8.2/jq-linux-amd64.asc),用 GnuPG 执行 gpg --verify <签名文件> 即可完成校验。
适用边界
- 官方预编译路线只覆盖 jq 为 Linux 发布的上述架构;文档未列出其他 Linux 架构的独立“一键二进制”清单,遇到文档未列明的平台组合时不要猜测,应改走发行版包管理器或从源码构建。
- jq 1.7 之前的 Linux 产物命名不同(
jq-linux64/jq-linux32/jq-linux-x86_64/jq-linux-x86),且 1.6 及更早没有 ARM64 构建;需要 ARM64 时最低只能选 jq 1.7。 - 如果系统包管理器(apt、dnf、zypper、pacman 等)已有 jq,那也是一条文档支持的正规路径,本文只针对“直接取官方预编译二进制”这一条路线。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0631
MiniCPM5-2BMiniCPM5-2B 是一款面向端侧、本地部署和资源受限场景的 2B 稠密 Transformer,能够达到同尺寸开源模型 SOTA 水平。Markdown00
video-shotcraftAI宣传片skill,使用 Remotion 制作电影级产品视频:提供106 张镜头配方卡和可复用的视频魔板。适用于 Claude Code 与 Codex以及所有其他智能体Markdown00
HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。Python09
DragonOSDragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios. 使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。Rust00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00