NVME-ID-NS-IND(1) NVMe Manual NVME-ID-NS-IND(1)

nvme-id-ns-ind - Send NVMe I/O Command Set Independent Identify Namespace, return result and structure.

nvme [<global-options>] id ns-ind <device>
                        [--namespace-id=<nsid> | -n <nsid>]
                        [--raw-binary | -b]

For the NVMe device given, sends an I/O Command Set Independent identify namespace command and provides the result and returned 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). If the character device is given, the '--namespace-id' option is mandatory, otherwise it will use the ns-id of the namespace for the block device you opened. For block devices, the ns-id used can be overridden with the same option.

On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout.

-n <nsid>, --namespace-id=<nsid>

Retrieve the identify namespace structure for the given nsid. This is required for the character devices, or overrides the block nsid if given.

-b, --raw-binary

Print the raw buffer to stdout. Structure is not parsed by program. This overrides the vendor specific and human readable 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.

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

•Has the program interpret the returned buffer and display the known fields in a human readable format:
# nvme id ns-ind /dev/nvme0n1
•If using the character device or overriding namespace id:
# nvme id ns-ind /dev/nvme0 -n 1
# nvme id ns-ind /dev/nvme0n1 -n 1
# nvme id ns-ind /dev/nvme0 --namespace-id=1
•Have the program return the raw structure in binary:
# nvme id ns-ind /dev/nvme0n1 --raw-binary > id_ns.raw
# nvme id ns-ind /dev/nvme0n1 -b > id_ns.raw

It is probably a bad idea to not redirect stdout when using this mode.

Part of the nvme-user suite

09/07/2026 NVMe