Skip to main content

jq Cheat Sheet 2026 — Quick CLI Command Reference

jq Cheat Sheet 2026 — Quick Command Reference

jq Cheat Sheet is the complete quick-reference of jq commands grouped by function. Copy any command with one click and find what you need with Ctrl+F in under 3 seconds.

jq Filters & Queries

Action Command Useful flags
Execute a specific expression only using the `jq` binary (print a colored and fo
jq '.' <path/to/file.json>
Execute a specific script
<cat path/to/file.json> | jq --from-file <path/to/script.jq>
--from-file
Pass specific arguments
<cat path/to/file.json> | jq <--arg "name1" "value1" --arg "name2" "value2" ...> '<. + $ARGS.named>'
--arg
Create new JSON object via old JSON objects from multiple files
<cat path/to/multiple_json_file_*.json> | jq '<{newKey1: .key1, newKey2: .key2.nestedKey, ...>}'
Print specific array items
<cat path/to/file.json> | jq '<.[index1], .[index2], ...>'
Print all array/object values
<cat path/to/file.json> | jq '.[]'
Print objects with 2-condition filter in array
<cat path/to/file.json> | jq '.[] | select((.key1=="value1") and .key2=="value2")'
Add/remove specific keys
<cat path/to/file.json> | jq '. <+|-> <{"key1": "value1", "key2": "value2", ...>}'

⚠️ Dangerous / Destructive Commands

These commands are irreversible. Verify your environment (dev/staging vs prod) before running them.

Action Command Warning
⚠️ Destroy ⚠️
terraform destroy -auto-approve
Irreversible — verify the target before running
⚠️ Delete
kubectl delete namespace production
Irreversible — verify the target before running
⚠️ Prune ⚠️
docker system prune -af --volumes
Irreversible — verify the target before running
⚠️ Delete
pvesh delete /nodes/{node}/qemu/{vmid}
Irreversible — verify the target before running
⚠️ Delete
az group delete --name MyResourceGroup --yes
Irreversible — verify the target before running

FAQ — Frequently Asked Questions

What is the difference between jq Filters & Queries and the other groups?

Each group in this jq cheat sheet covers a distinct area. jq Filters & Queries focuses on its specific scope, while the other groups and the remaining groups cover networking, storage, security and diagnostics respectively.

How do I check the installed jq version?

Run the version command (usually jq version or jq --version). The output shows the client and, when applicable, the server version.

Why does jq return ‘permission denied’?

A ‘permission denied’ error in jq usually means the current user lacks sufficient privileges or credentials are not configured. Check: (1) assigned IAM/RBAC roles, (2) an active authentication context via the corresponding login command.

How do I filter jq output by status or name?

Use flags such as --filter, --selector or --query depending on the tool. You can also pipe into grep or jq to process JSON:

jq list | grep RUNNING

What is the fastest way to debug a jq error?

Add the verbose flag (--verbose, -v or --debug) to the failing command. This reveals the underlying HTTP/API calls and the full error response body.

Official sources & references

Commands cross-checked against vendor documentation and high-authority repositories: