NVME-CONFIG-SHOW(1)

πŸ“¦ version 3.2, in arch rolling

πŸ’… NVME-CONFIG-SHOW(1) β€” like, the NVMe Manual bestie, but make it fab πŸŽ€

okay so real talk β€” this is the nvme-config-show page from the NVMe Manual, and it's genuinely one of the most underrated little commands ever. no cap. let's get into it ✨


🌸 NAME 🌸

nvme-config-show β€” shows you the resolved NVMe-oF INI connection configuration πŸ’– (yes, the resolved one, we're fancy like that)


πŸ¦‹ SYNOPSIS πŸ¦‹

nvme [<global-options>] config show
                        [--config=<file> | -J <file>]

that's it. that's the whole vibe check. 🫢


πŸ‘‘ DESCRIPTION πŸ‘‘

okay so here's the tea β˜• β€” this command reads the NVMe-oF INI connection configuration file, the exact same one that nvme connect-all and nvme discover use, and then prints out every single configured connection entry. all of them. no gatekeeping. πŸ’…

the INI format is documented right here, bestie:

https://github.com/linux-nvme/nvme-cli/blob/master/libnvme/design/CONFIG.md

by default, it reads the file at /usr/local/etc/nvme/nvme-fabrics.conf β€” that's the home base 🏠. but if you wanna show a file at a different path instead, just hit it with --config and you're golden ✨

so in the default and tabular output formats, each entry gets rendered as the equivalent command line that would literally establish it:

  • nvme connect-all for a Discovery Controller entry 🌈
  • nvme connect for an I/O Controller entry πŸ”₯

and each one is preceded by a comment naming the entry's source β€” like, which file/section it came from, so you always know where it's from. iykyk 🧚

the json output format is different tho β€” instead of the command-line rendering, it reports each entry's fields individually: transport, address, NQN, host identity, and any extra connect parameters. very much script-friendly main character energy πŸ‘‘

πŸ’€ important vibe note: this command never touches the network. addressing is shown exactly as configured, with no hostname resolution attempted, periodt. and a persona with no hostnqn/hostid set is shown without those fields β€” rather than the system default it would resolve to at connect time. why? because showing a concrete value here would suggest a fixed identity that the configuration doesn't actually pin. so we don't. we're honest like that 🫢

✨ OPTIONS ✨

  • -J <file>, --config=<file> β€” show this INI file instead of the default /usr/local/etc/nvme/nvme-fabrics.conf. simple as that, bestie πŸ’–

🌟 GLOBAL OPTIONS 🌟

these bad boys are defined at the top-level nvme command and are, like, totally available to this subcommand. they're the main characters of the global options world πŸ‘‘

  • --dry-run β€” print the command that would be executed, but don't actually execute it. all the vibes, none of the commitment πŸ™ˆ
  • --no-ioctl-probing β€” disable probing for 64-bit IOCTL support πŸ¦‹
  • --no-retries β€” disable retry logic on transient errors. we're not doing the whole "try again" thing πŸ’€
  • -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, so pick your fave and commit πŸŽ€
  • --output-format-version=<version> β€” select the output format version. version 1 uses the original field naming, while version 2 (the default) provides more consistent and script-friendly field names. other versions are rejected β€” no exceptions, no negotiating πŸ’…
  • --quiet β€” suppress informational messages. errors are still reported, and --quiet cancels any --verbose for the library log level. so like, shhh 🀫
  • --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). patience is a virtue, or whatever 🌸
  • -v, --verbose β€” increase the level of detail in the output. may be specified multiple times to further increase verbosity. go off, stack those -vs πŸ”₯

and listen β€” these options can also be set as machine-wide defaults in nvme-cli.conf(5). a command-line flag always overrides the file. always. no cap πŸ‘‘


πŸ’œ EXAMPLES πŸ’œ

1. show the system's resolved configuration:

# nvme config show

# nvme0: Discovery Controller
nvme connect-all --transport=tcp --traddr=192.168.1.10 --trsvcid=8009

# nvme1: I/O Controller
nvme connect --transport=tcp --traddr=192.168.1.10 --trsvcid=4420 \
        --nqn=nqn.2014-08.org.nvmexpress:uuid:6a4f5e3e-...

look at that. gorgeous. iconic. ate and left no crumbs πŸ“

2. show a configuration file at a non-default path, as JSON:

$ nvme config show --config /tmp/nvme-fabrics.conf -o json

json girlies stay winning πŸ‘‘


🧚 SEE ALSO 🧚

go read 'em, bestie. all of 'em. 🌈


⭐ NVME ⭐

part of the nvme-user suite πŸ’…


and that's the whole page, bestie!! πŸŽ€βœ¨πŸ¦‹πŸŒΈπŸ’–

this gem came to you courtesy of the NVMe manual, dated 10/30/2026 β€” yes i know, future date, we're ahead of the curve like that πŸ‘‘πŸ’œ love u, go show some configs 🫢

πŸ“¦ where this page comes from