Table of Contents
Introduction
Whether you’re taking inventory of a fleet of servers, filing a support ticket, checking warranty status, or just figuring out what’s actually inside a machine you inherited, you’ll need to know the hardware vendor and model. On Linux, this information is readily available — the trick is knowing which command to reach for.
This guide covers the most useful commands for identifying your system’s manufacturer, product name, serial number, and component-level vendor details — from quick one-liners to deep hardware dumps.
Command 1: dmidecode (The Authoritative Source)
dmidecode reads the system’s DMI/SMBIOS table — the firmware’s own record of the hardware. This is the most reliable way to get manufacturer, model, and serial number. It requires root privileges.
System manufacturer and model
sudo dmidecode -t system
Sample output:
System Information
Manufacturer: Dell Inc.
Product Name: PowerEdge R750
Version: Not Specified
Serial Number: ABCD123
UUID: 4c4c4544-0042-...
SKU Number: SKU=...
Targeted “keyword” queries (very handy)
dmidecode supports string keywords that return just one value — perfect for scripting:
sudo dmidecode -s system-manufacturer
# Dell Inc.
sudo dmidecode -s system-product-name
# PowerEdge R750
sudo dmidecode -s system-serial-number
# ABCD123
List all available keywords with:
sudo dmidecode -s
Other useful DMI types
sudo dmidecode -t baseboard # Motherboard vendor/model
sudo dmidecode -t bios # BIOS vendor and version
sudo dmidecode -t chassis # Chassis type (server, laptop, etc.)
sudo dmidecode -t memory # RAM module manufacturers
sudo dmidecode -t processor # CPU details
This is the gold standard — when in doubt, use dmidecode.
Command 2: Reading /sys/class/dmi/id/ (No Root, No Tools)
The kernel exposes much of the same DMI data through sysfs. The huge advantage: most fields are readable without root and without installing anything.
cat /sys/class/dmi/id/sys_vendor
# Dell Inc.
cat /sys/class/dmi/id/product_name
# PowerEdge R750
cat /sys/class/dmi/id/board_vendor
# Dell Inc.
cat /sys/class/dmi/id/bios_version
# 1.10.2
⚠️ Note: A few sensitive fields like
product_serialandproduct_uuidstill require root to read.
To dump the common identifiers at once:
See also: Mastering the Linux Command Line — Your Complete Free Training Guide
for f in sys_vendor product_name product_version board_vendor board_name bios_vendor bios_version; do
printf "%-15s: %s\n" "$f" "$(cat /sys/class/dmi/id/$f 2>/dev/null)"
done
This is the fastest, most portable way to get vendor info in scripts — no packages, no sudo for the basics.
Command 3: hostnamectl (Quick One-Liner)
On any systemd-based distribution, hostnamectl gives a tidy summary that includes the hardware vendor and model — no installation needed.
hostnamectl
Sample output:
Static hostname: web01
Icon name: computer-server
Chassis: server
Hardware Vendor: Dell Inc.
Hardware Model: PowerEdge R750
Operating System: Ubuntu 24.04 LTS
Kernel: Linux 6.8.0-40-generic
The Hardware Vendor and Hardware Model lines are exactly what you’re after. This is the quickest way to eyeball vendor info interactively.
Command 4: lshw (Full Hardware Tree)
lshw (list hardware) produces a comprehensive report covering the system, motherboard, CPU, memory, disks, and network — with vendor details at every level.
Install it if needed:
sudo apt install lshw # Debian/Ubuntu
sudo dnf install lshw # RHEL/Fedora
High-level summary
sudo lshw -short
H/W path Device Class Description
=========================================================
system PowerEdge R750 (SKU=...)
/0 bus Motherboard
/0/0 memory BIOS
/0/400 processor Intel(R) Xeon(R) Gold 6338
...
Just the system-level vendor block
sudo lshw -class system
Component-specific vendors
sudo lshw -class disk -class storage # Disk/controller vendors
sudo lshw -class network # NIC vendors
sudo lshw -class memory # Memory details
lshw is ideal when you want vendor information for every component, not just the chassis.
Command 5: lspci and lsusb (Peripheral Vendors)
For the vendors of individual PCI and USB devices — network cards, GPUs, RAID controllers, HBAs — use lspci and lsusb.
lspci
# 01:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection
# 03:00.0 RAID bus controller: Broadcom / LSI MegaRAID ...
For maximum detail on a specific device, use -v (verbose) or -k (show kernel driver):
lspci -v
lspci -k # shows which driver each device uses
For USB devices:
lsusb
# Bus 002 Device 003: ID 0781:5583 SanDisk Corp. Ultra Fit
These are the right tools when you need the vendor of a specific card or peripheral rather than the whole system.
Command 6: inxi (Friendly, Colorful Summary)
inxi is a popular third-party tool that produces a beautifully formatted, human-readable hardware overview — great for a quick full picture.
sudo apt install inxi # Debian/Ubuntu
sudo dnf install inxi # Fedora/EPEL
inxi -M # Machine/vendor info
Machine:
Type: Server System: Dell product: PowerEdge R750 v: N/A
Mobo: Dell model: 0abcde BIOS: Dell v: 1.10.2
For a complete, full-system report:
inxi -Fxz
inxi is the friendliest option for a comprehensive at-a-glance summary, popular on desktops and workstations.
Quick Comparison
| Command | Root Needed | Install Needed | Best For |
|---|---|---|---|
dmidecode | Yes | Usually preinstalled | Authoritative vendor/model/serial |
/sys/class/dmi/id/ | No (basics) | No | Scripting, no dependencies |
hostnamectl | No | No (systemd) | Quick interactive check |
lshw | Yes | Sometimes | Full component-level vendors |
lspci / lsusb | No | Usually preinstalled | Individual card/peripheral vendors |
inxi | No | Yes | Friendly full-system summary |
Which Should You Use?
- Need the definitive manufacturer, model, and serial number? →
sudo dmidecode -t system - Writing a script or working without root? → read
/sys/class/dmi/id/sys_vendorandproduct_name - Just want a quick glance? →
hostnamectl - Need vendor info for every component? →
sudo lshw -short - Chasing down a specific NIC, GPU, or RAID controller? →
lspci -v
Bonus: A Portable Vendor-Info Script
Here’s a small script that prints the key vendor identifiers using only built-in files (no root required for the basics):
#!/bin/bash
echo "System Vendor : $(cat /sys/class/dmi/id/sys_vendor 2>/dev/null)"
echo "Product Name : $(cat /sys/class/dmi/id/product_name 2>/dev/null)"
echo "Board Vendor : $(cat /sys/class/dmi/id/board_vendor 2>/dev/null)"
echo "Board Name : $(cat /sys/class/dmi/id/board_name 2>/dev/null)"
echo "BIOS Vendor : $(cat /sys/class/dmi/id/bios_vendor 2>/dev/null)"
echo "BIOS Version : $(cat /sys/class/dmi/id/bios_version 2>/dev/null)"
Output:
System Vendor : Dell Inc.
Product Name : PowerEdge R750
Board Vendor : Dell Inc.
Board Name : 0ABCDE
BIOS Vendor : Dell Inc.
BIOS Version : 1.10.2
Conclusion
Linux offers several ways to identify your hardware vendor, each suited to a different situation:
dmidecodeis the authoritative source for manufacturer, model, and serial number./sys/class/dmi/id/gives the same basics with no root and no tools — perfect for scripts.hostnamectlis the fastest interactive glance on systemd systems.lshw,lspci, andinxidrill down into component- and peripheral-level vendors.
For most quick checks, start with hostnamectl or dmidecode -t system. When you need to automate, read straight from /sys/class/dmi/id/. Between these, you can identify any system — or any component inside it — in seconds.


