NVME-LIST-CTRL(1)

πŸ’… NVME-LIST-CTRL β€” the manual page, but make it make sense

okay so bestie, buckle in, because this is a page from the NVMe Manual and honestly it's mostly a "hey, this thing is old, please stop using it" situation πŸŽ€


✨ NAME ✨

nvme-list-ctrl β€” send the NVMe Identify List Controllers command, get the result and structure back. Also: it's deprecated. πŸ’€


✨ SYNOPSIS ✨

nvme [<global-options>] list-ctrl <device> [--cntid=<cntid> | -c <cntid>]
                        [--namespace-id=<nsid> | -n <nsid>]

like, that's the whole shape of it β€” global options up front, then list-ctrl, then your <device>, then optionally a <cntid> and/or a <nsid>. simple! πŸ¦‹


✨ DESCRIPTION ✨

So here's the tea β˜•: this is a deprecated alias for nvme-id-ctrl-list(1). It's still hanging around purely for the scripts that were written against nvme-cli versions older than 3.0. The options and the behavior are identical β€” literally the only thing kept alive is the top-level command name. no cap.

If you're writing something new, please, for the love of everything, use nvme id ctrl-list instead. πŸ™ This alias prints a deprecation warning on stderr and it may be removed in a future release β€” so don't get attached, bestie. 😭

For the full option reference, go read nvme-id-ctrl-list(1). That's where the real party is. πŸŽ‰


✨ GLOBAL OPTIONS ✨

These live at the top-level nvme command, but they're available to this subcommand too. Main character energy, honestly. πŸ‘‘

  • --dry-run β€” print the command that would be executed, but don't actually execute it. it's giving "window shopping" πŸ›οΈ
  • --no-ioctl-probing β€” turn off probing for 64-bit IOCTL support.
  • --no-retries β€” disable the retry logic on transient errors. one shot, no second chances πŸ’…
  • -o <fmt>, --output-format=<fmt> β€” set the reporting format to normal, tabular, 'json, or binary. only one output format at a time, so don't get greedy.
  • --output-format-version=<version> β€” pick the output format version. Version 1 uses the original field naming, while version 2 (the default) gives you more consistent, script-friendly field names. Any other version gets rejected β€” not on the list, not getting in. πŸ™…
  • --quiet β€” suppress informational messages. errors are still reported, and just so you know, --quiet cancels any --verbose for the library log level. they do not coexist, it's giving exes at the same party πŸ’€
  • --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. ✨
  • --timeout=<ms> β€” set the command timeout in milliseconds. infinite or -1 waits with no time limit (0xffffffff). patient queen behavior 🧚
  • -v, --verbose β€” increase the level of detail in the output. you can pass it multiple times to get even more verbose. spam it, go off πŸ”₯
also, these options can be set as machine-wide defaults in nvme-cli.conf(5). but a command-line flag always overrides the file β€” CLI wins, every time, periodt. πŸ‘‘

✨ EXAMPLES ✨

No Examples

yeah. that's what it says. no examples. we're all just vibing on the synopsis alone 🫢


✨ NVME ✨

Part of the nvme-user suite 🌈


✨ SEE ALSO ✨


aaaand that's the whole thing!! go use nvme id ctrl-list, bestie 🌸

sign-off cuteness: this page came from the NVMe Manual, dated 10/30/2026 β€” and it's part of the nvme-user suite. mwah πŸ’‹

πŸ“¦ where this page comes from