NVME-ID-NS-LIST(1)

πŸ“¦ version 3.2, in arch rolling

πŸ’… nvme-id-ns-list β€” bestie's guide to listing namespaces ✨

okay so this is a page from the NVMe Manual and it's all about nvme-id-ns-list, which honestly does exactly what it says on the tin: it sends an NVMe Identify List Namespaces command, gives you the result back, and hands you the returned structure. iconic behaviour, no notes πŸŽ€


🌸 NAME 🌸

nvme-id-ns-list β€” send the NVMe Identify List Namespaces command, get the result and the structure back πŸ¦‹


✨ SYNOPSIS ✨

nvme [<global-options>] id ns-list <device> [--namespace-id=<nsid> | -n <nsid>]
                        [--csi=<command_set_identifier> | -y
                        <command_set_identifier>]
                        [--all | -a]

like, that's the whole vibe. <device> is required, bestie, don't forget it πŸ’€


πŸ’– DESCRIPTION πŸ’–

So for the NVMe device you hand it, this thing sends an identify command for the namespace list and gives you back the result and the returned structure. literally both. we love a two-for-one πŸ‘‘

The <device> parameter is mandatory β€” like, non-negotiable. And it can be either:

  • the NVMe character device (ex: /dev/nvme0), or
  • a namespace block device (ex: /dev/nvme0n1)

The starting namespace in the list always begins with 0 unless you pass the --namespace-id option to override it. so if you want to start somewhere else, that's your girl 🫢

On success, the namespace array gets printed for each index and nsid β€” but only for a valid nsid. slay πŸ’…


πŸŽ€ OPTIONS πŸŽ€

  • -n <nsid>, --namespace-id=<nsid> β€” retrieve the identify list structure starting with the given nsid. You can also pass the broadcast value 0xffffffff as all or -1. yes, all three work, pick your fighter ⭐
  • -y <command_set_identifier>, --csi=<command_set_identifier> β€” if you give this value, it retrieves the identify list structure associated with the specified I/O command set. iykyk πŸ”₯
  • -a, --all β€” retrieve the identify list structure for all namespaces in the subsystem, whether they're attached or inactive. the whole squad, assembled 🌈

πŸ‘‘ GLOBAL OPTIONS πŸ‘‘

these ones live at the top-level nvme command and are available to this subcommand too β€” shared custody, we love to see it 🫢

  • --dry-run β€” print the command that would be executed, but don't actually execute it. it's giving "look but don't touch" πŸ™ˆ
  • --no-ioctl-probing β€” disable probing for 64-bit IOCTL support.
  • --no-retries β€” disable retry logic on transient errors. no second chances, periodt πŸ’€
  • -o <fmt>, --output-format=<fmt> β€” set the reporting format to normal, tabular, json, or binary. Only one output format may be used at a time β€” so don't be greedy, bestie.
  • --output-format-version=<version> β€” select the output format version. Version 1 uses the original field naming, while version 2 (the default) provides more consistent and script-friendly field names. Other versions are rejected β€” nope, not happening 🚫
  • --quiet β€” suppress informational messages. Errors are still reported, and --quiet cancels any --verbose for the library log level. it's the "shhh" of flags 🀫
  • --set-options=<key=value>[,<key=value>...] β€” set libnvme library options for this invocation. The supported keys are force-4k, mi-probe-enabled, test-base-dir and test-sysfs-dir. key=value girlies rise 🌸
  • --timeout=<ms> β€” set the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff). patient queen behaviour ⏳
  • -v, --verbose β€” increase the level of detail in the output. May be specified multiple times to further increase verbosity. stack it like a charm bracelet ✨
πŸ’‘ these options can also be set as machine-wide defaults in nvme-cli.conf(5). A command-line flag always overrides the file. no cap.

πŸ¦‹ EXAMPLES πŸ¦‹

  • print the namespaces present for the zoned command set in JSON format:
# nvme id ns-list /dev/nvme0 -y 2 -a -o json
  • print the namespaces present for the NVM Command Set in normal format:
# nvme id ns-list /dev/nvme0

literally just copy-paste these and go, bestie πŸ’–


🧚 NVME 🧚

this little icon is part of the nvme-user suite πŸ‘‘


that's the whole page, bestie! πŸ’œ this gem is from the NVMe Manual β€” section NVME-ID-NS-LIST(1), dated 10/30/2026, and it says NVMe at the bottom, which... yeah. now go list some namespaces, you absolute main character πŸŒŸπŸ’…

πŸ“¦ where this page comes from