nvme-cli is the command line tool for managing NVMe devices. It is
built on the libnvme library. Together they support local NVMe drives,
NVMe-oF fabrics (TCP, RDMA, FC), and many vendor-specific plugins.
For more information on the NVM Express standard, see https://nvmexpress.org.
The project is developed on GitHub at https://github.com/linux-nvme/nvme-cli.
Subscribe to linux-nvme@lists.infradead.org for Linux NVMe discussions and development. The list is archived at https://lists.infradead.org/mailman/listinfo/linux-nvme
| Shared | nvme-cli | libnvme | |
|---|---|---|---|
| Build | |||
| Static analysis | |||
| Test coverage | |||
| Docs | |||
| Package | |||
| License |
$ meson setup .build
$ meson compile -C .build
# meson install -C .buildIt is also packaged by most Linux distributions (Alpine, Arch, Debian,
Fedora, FreeBSD, Gentoo, Ubuntu, Nix(OS), openSUSE, ...) as nvme-cli.
Once installed, find the top-level documentation with man nvme, or a short
summary with nvme help.
| Topic | Where |
|---|---|
| Building from source: dependencies, alternative build systems, packaging, plugin selection | BUILDING.md |
| Configuring host identity, NVMe-oF connections, and multi-orchestrator coordination | CONFIGURATION.md |
| Pre-built binaries, reproducing CI builds, memory/sanitizer testing | TESTING.md |
| libnvme coverage against NVMe specifications, chapter by chapter | SPEC-COVERAGE.md |
| Command/plugin man pages | man nvme, or browse Documentation |
| Contributing: adding commands/plugins, API naming, commit & PR workflow | CONTRIBUTING.md |
| Reporting security vulnerabilities | SECURITY.md |
| Release history | NEWS.md |
AI-assisted development resources live in the companion repository nvme-cli-ai; see CONTRIBUTING.md for how they fit into the workflow.