NVME-ZNS-ID-NS(1)

πŸ’… nvme-zns-id-ns β€” a lil' page from the NVMe Manual

okay so bestie, welcome to nvme-zns-id-ns ✨ this is the page that lives in the NVMe Manual family and it's honestly so good at what it does.


🌸 NAME

nvme-zns-id-ns β€” sends the NVMe Zoned Command Set Identify namespace command, then hands you back the result and the structure. no cap, that's the whole vibe. πŸŽ€


✨ SYNOPSIS

nvme [<global-options>] zns id-ns <device> [--namespace-id=<NUM> | -n <NUM>]

πŸ¦‹ DESCRIPTION

okay so for whatever NVMe device you point at, this bad boy sends the zoned command set's identify namespace command and gives you the result plus the returned structure. it's giving "tell me everything about yourself" energy and the device delivers. πŸ’–

the <device> parameter is mandatory β€” not optional, not vibe-optional, mandatory β€” and it can be either the NVMe character device (like /dev/nvme0) or a namespace block device (like /dev/nvme0n1). pick your fighter. 🫢

on success, the data structure the device returns gets decoded and displayed, and there are like several ways it can show up. main character data structure honestly. πŸ‘‘


πŸ’… OPTIONS

  • -n <NUM>, --namespace-id=<NUM> β€” use the namespace id you provide for the command. if you don't provide one, it just uses the namespace id of the block device, easy. but lowkey if the command is being issued to a non-block device, this parameter is required β€” no skipping it. also you can pass the broadcast value 0xffffffff, and you can write it as all or -1 too. slay, so many aliases. ⭐

🌈 GLOBAL OPTIONS

these live at the top-level nvme command and they're available to this subcommand too β€” think of them as the options that raised this subcommand. iconic family support fr fr.

  • --dry-run β€” prints the command that would be executed, but does not actually execute it. it's the "manifesting the command" option. πŸ™ˆ
  • --no-ioctl-probing β€” disables probing for 64-bit IOCTL support.
  • --no-retries β€” disables retry logic on transient errors. one shot, one opportunity. πŸ’€
  • -o <fmt>, --output-format=<fmt> β€” sets the reporting format to normal, tabular, json, or binary. only one output format at a time, bestie β€” you can't collect them all. πŸŽ€
  • --output-format-version=<version> β€” selects the output format version. version 1 uses the original field naming, while version 2 (the default) gives you more consistent and script-friendly field names. other versions are rejected β€” the door is closed, respectfully. πŸšͺ
  • --quiet β€” suppresses informational messages. errors are still reported, and --quiet cancels any --verbose for the library log level. it's the "shhh I'm focusing" flag. 🀫
  • --set-options=<key=value>[,<key=value>...] β€” sets libnvme library options for this invocation. the supported keys are force-4k, mi-probe-enabled, test-base-dir and test-sysfs-dir. 🧚
  • --timeout=<ms> β€” sets the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff). literally no timer, just vibes and patience. ⏳
  • -v, --verbose β€” increases the level of detail in the output. you can specify it multiple times to further increase verbosity. stackable lore. πŸ”₯

and ngl, these options can also be set as machine-wide defaults in nvme-cli.conf(5). but a command-line flag always overrides the file β€” CLI stays the main character. πŸ‘‘


πŸ’œ EXAMPLES

  • has the program interpret the returned buffer and display the known fields in a human readable format:
# nvme zns id-ns /dev/nvme0 -n 1
  • show the output in json format with extra details:
# nvme zns id-ns /dev/nvme0 -o json -v

🌸 NVME

part of nvme-cli πŸŽ€


ok that's the whole page, bestie. go identify some namespaces. πŸ’–

later, icon β€” this was NVMe, the nvme-cli source, dated 10/30/2026. mwah πŸ’‹

πŸ“¦ where this page comes from