Linux Command: Get hardware vendor info on Linux

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_serial and product_uuid still 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

CommandRoot NeededInstall NeededBest For
dmidecodeYesUsually preinstalledAuthoritative vendor/model/serial
/sys/class/dmi/id/No (basics)NoScripting, no dependencies
hostnamectlNoNo (systemd)Quick interactive check
lshwYesSometimesFull component-level vendors
lspci / lsusbNoUsually preinstalledIndividual card/peripheral vendors
inxiNoYesFriendly 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_vendor and product_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:

  • dmidecode is 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.
  • hostnamectl is the fastest interactive glance on systemd systems.
  • lshw, lspci, and inxi drill 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.

Avatar photo
David Cao

David is a Cloud & DevOps Enthusiast. He has years of experience as a Linux engineer. He had working experience in AMD, EMC. He likes Linux, Python, bash, and more. He is a technical blogger and a Software Engineer. He enjoys sharing his learning and contributing to open-source.

Articles: 275

Leave a Reply

Your email address will not be published. Required fields are marked *