Reference

nvme-id-iocs(1)

Send NVMe Identify I/O Command Set, return result and structure

NAME

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

SYNOPSIS

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

DESCRIPTION

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.

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.

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

History

--dry-run since Arch Linux 2026-11-01; --no-ioctl-probing since Arch Linux 2026-11-01; --no-retries since Arch Linux 2026-11-01; --output-format-version since Arch Linux 2026-11-01; --quiet since Arch Linux 2026-11-01; --set-options since Arch Linux 2026-11-01; --timeout since Arch Linux 2026-11-01; --verbose since Debian 13 (Trixie); -v since Debian 13 (Trixie).

--human-readable until Debian 13 (Trixie); -H until Debian 13 (Trixie).