NVME-ID-IOCS(1) NVMe Manual NVME-ID-IOCS(1)

nvme-id-iocs - Send NVMe Identify I/O Command Set, return result and structure

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

For the NVMe device given, send an identify command and return the Identify I/O Command Set data structure.

The <device> parameter is mandatory and 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.

-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.

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.

--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.

--timeout=<ms>

Set the timeout for the command in milliseconds.

-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.

•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 -H

Part of the nvme-user suite

09/07/2026 NVMe