NVME-NVM-ID-CTRL(1)

🌸 NVME-NVM-ID-CTRL(1) β€” like, the nvme manual, but make it make sense πŸ’…

okay bestie, buckle up ✨ this is a page from the NVMe Manual, and the command we're talking about is nvme-nvm-id-ctrl. yes the name is a mouthful, no I did not choose it. let's go πŸŽ€


✨ NAME ✨

nvme-nvm-id-ctrl β€” send the NVMe Identify Controller and get the NVM command set structure back. also, and I cannot stress this enough: deprecated πŸ’€


πŸ¦‹ SYNOPSIS πŸ¦‹

nvme [<global-options>] nvm-id-ctrl <device>

πŸ’– DESCRIPTION πŸ’–

so here's the tea πŸ“: nvme-nvm-id-ctrl is a deprecated alias for nvme-id-nvm-ctrl(1). it got kept around purely for scripts that were written against nvme-cli versions older than 3.0. the options and behavior are literally identical β€” the only thing being preserved here is the top-level command name. that's it. that's the whole job. 🫢

new scripts should use nvme id nvm-ctrl instead, no cap. this alias prints a deprecation warning on stderr, and it may be removed in a future release 😭 so don't get too attached.

for the full option reference, go read nvme-id-nvm-ctrl(1). it's all there, I promise πŸ‘‘


🌈 GLOBAL OPTIONS 🌈

these options are defined at the top-level nvme command and, good news, they're available to this subcommand too ✨

  • --dry-run β€” prints the command it would have run, but doesn't actually run it. like window shopping for syscalls πŸ’…
  • --no-ioctl-probing β€” disables probing for 64-bit IOCTL support. no probing. we're respecting the boundary.
  • --no-retries β€” turns off 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, we don't do combos πŸ’€
  • --output-format-version=<version> β€” picks 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. any other version gets rejected πŸ™ˆ
  • --quiet β€” suppresses informational messages. errors still get reported. also, --quiet cancels out any --verbose for the library log level. they simply cannot coexist 🀐
  • --set-options=<key=value>[,<key=value>...] β€” sets libnvme library options for this invocation only. 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. use infinite or -1 to wait with no time limit at all (0xffffffff). time is a construct ⏳
  • -v, --verbose β€” increases the level of detail in the output. you can stack it multiple times to get even more verbose. go off, specify it twice, I'm not your mom 🌸
heads up: these options can also be set as machine-wide defaults in nvme-cli.conf(5). a command-line flag always overrides the file. file says one thing, flag says another, flag wins, periodt πŸ‘‘

🧚 EXAMPLES 🧚

No Examples

(yeah I know. devastating. not a single one. we're all just out here raw-dogging the synopsis 😭)


πŸ‘‘ NVME πŸ‘‘

part of the nvme-user suite πŸ’œ iconic lineage, honestly.


⭐ SEE ALSO ⭐


and that's the page! this was the NVMe manual, dated 10/30/2026 β€” screenshot it, frame it, put it on your fridge πŸŽ€πŸ’– slay, and remember: deprecated doesn't mean unloved, it just means please migrate your scripts 😭✨

πŸ“¦ where this page comes from