NVME-ID-IOCS(1)

πŸ’– NAME πŸ’–

okay bestie, welcome to nvme-id-iocs(1) from the NVMe Manual β€” this is the one where you Send NVMe Identify I/O Command Set, return result and structure. That's the whole name-line vibe, no cap.

✨ SYNOPSIS ✨

nvme [<global-options>] id iocs <device>
                        [--controller-id=<cntid> | -c <cntid>]

πŸ¦‹ DESCRIPTION πŸ¦‹

For the NVMe device you give it, this sends an identify command and returns the Identify I/O Command Set data structure. It's giving "tell me about yourself" but for your drive. πŸ’…

The <device> parameter is mandatory, bestie β€” it's not optional, it's main character energy. It may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1).

The bare nvme id-iocs form (without a space) still works as a deprecated alias and will be removed in a future major version. New scripts should use nvme id iocs instead. Periodt β€” update those scripts, okay? 🫢

πŸŽ€ OPTIONS πŸŽ€

  • -c <cntid>, --controller-id=<cntid> β€” retrieve the identify I/O Command set data structure for the given cntid. If this value is not given, cntid will be 0xffff.

🌈 GLOBAL OPTIONS 🌈

The following options are defined at the top-level nvme command and are available to this subcommand:

  • --dry-run β€” print the command that would be executed, but do not actually execute it. It's giving "look, don't touch."
  • --no-ioctl-probing β€” disable probing for 64-bit IOCTL support.
  • --no-retries β€” disable retry logic on transient errors.
  • -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.
  • --output-format-version=<version> β€” select the output format version. Version 1 uses the original field naming, while version 2 (default) provides more consistent and script-friendly field names. Other versions are rejected.
  • --quiet β€” suppress informational messages. Errors are still reported, and --quiet cancels any --verbose for the library log level.
  • --set-options=<key=value>[,<key=value>...] β€” set libnvme library options for this invocation. Supported keys are force-4k, mi-probe-enabled, test-base-dir and test-sysfs-dir.
  • --timeout=<ms> β€” set the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff).
  • -v, --verbose β€” increase the level of detail in the output. May be specified multiple times to further increase verbosity.

These options can also be set as machine-wide defaults in nvme-cli.conf(5). A command-line flag always overrides the file.

⭐ EXAMPLES ⭐

  • Have the program interpret the returned buffer and display the known fields in a human readable format:
# nvme id iocs /dev/nvme0
  • show the fields in human readable format
# nvme id iocs /dev/nvme0 -v

πŸ‘‘ NVME πŸ‘‘

Part of the nvme-user suite.


πŸ’– source/version: NVMe Β· date: 10/30/2026 Β· page: NVME-ID-IOCS(1) β€” that's the cute sign-off, bestie, bye! πŸ’…βœ¨

πŸ“¦ where this page comes from