When developing in Linux, we sometimes need to know the current hardware information, such as: CPU cores? Usage? Memory size and usage? Are USB devices recognized? And so on and so forth. Here are some common hardware view commands.

lshw

The LSHW command is a general tool that lists the hardware information of the machine in detail. However, this command is not available on all distributions; Fedora, for example, does not have it by default and you need to install it yourself.

LSHW can extract hardware information from various /proc files, such as CPU, memory, USB controller, hard disk, etc. Without the option, the list is long, and with the -short option, only the summary is listed.

[alvin@VM_0_16_centos ~]$sudo LSHW -short # The following results have cut H/W path Device Class Description = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = system Bochs / 0 bus  Motherboard /0/0 memory 96KiB BIOS /0/401 processor Intel(R) Xeon(R) CPU E5-26xx v4 /0/1000 memory 2GiB System Memory /0/1000/0 memory 2GiB DIMM RAM /0/100 bridge 440FX - 82441FX PMC [Natoma] /0/100/1 bridge 82371SB PIIX3 ISA [Natoma/Triton II] /0/100/1.1/0.1.0 /dev/cdrom disk QEMU DVD-ROM /0/100/1.2/1 USB1 bus UHCI Host Controller /0/100/1.3 bridge 82371AB/EB/MB PIIX4 ACPI /0/100/4/0/1 /dev/vda1 volume 49GiB EXT3 volume /0/100/5 generic Virtio memory balloon /0/100/5/0 generic Virtual I/O device /0/1 system PnP device PNP0b00 /0/2 input PnP device PNP0303Copy the code

lscpu

The lscpu command lists the CPU information of the local host without any options or parameters.

[alvin@VM_0_16_centos ~]$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 79
Model name:            Intel(R) Xeon(R) CPU E5-26xx v4
Stepping:              1
CPU MHz:               2399.988
BogoMIPS:              4799.97
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              4096K
NUMA node0 CPU(s):     0Copy the code

lsusb

Lsusb lists information about all USB devices connected to the unit. By default, only the summary information is listed. Use the -v option to list the details of each USB port.

[alvin@VM_0_16_centos ~]$ lsusb Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub Bus 001 Device 001: ID 1D6b :0002 Linux Foundation 2.0 Root HubCopy the code

lsscsi

Lsscsi Lists SCSI and SATA device information, such as hard disks or drives.

[alvin@VM_0_16_centos ~]$lsscsi [0:0:1:0] CD/DVD QEMU QEMU DVD-ROM 1.2. /dev/sr0Copy the code

lspci

The LSPCI lists all PCI buses and details of all devices connected to the PCI bus, such as VGA adapters, graphics cards, network adapters, USB ports, SATA controllers, and so on.

[alvin@VM_0_16_centos ~]$lspCI 00:00.0 Host bridge: Intel Corporation 440FX-82441FX PMC [Natoma] (Rev 02) 00:01.0 ISA Bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] 00:01.1 IDE Interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II] 00:01.2 USB Controller: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton II] (Rev 01) 00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (Rev 03) 00:02.0 VGA Compatible Controller: Cirrus Logic GD 5446 00:03.0 Ethernet Controller: Red Hat, Inc Virtio Network Device 00:04.0 SCSI Storage Controller: Red Hat, Inc Virtio Block Device 00:05.0 Unclassified Device [00FF]: Red Hat, Inc Virtio Memory BalloonCopy the code

df

The df command lists the size, usage, usage, mount point and other information of different partitions. With the -h option, the size can be expressed in k, M, G, etc. Otherwise, the default is byte, which is not easy to read.

[alvin@VM_0_16_centos ~]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        50G  7.5G   40G  16% /
devtmpfs        911M     0  911M   0% /dev
tmpfs           920M   68K  920M   1% /dev/shm
tmpfs           920M  364K  920M   1% /run
tmpfs           920M     0  920M   0% /sys/fs/cgroup
tmpfs           184M     0  184M   0% /run/user/0
tmpfs           184M     0  184M   0% /run/user/1001
tmpfs           184M     0  184M   0% /run/user/1000Copy the code

free

The free command displays the total amount of used, idle, and RAM in the system, usually with the -m parameter.

[alvin@VM_0_16_centos ~]$ free -m
              total        used        free      shared  buff/cache   available
Mem:           1839         221         156           0        1461        1400
Swap:             0           0           0Copy the code

Finally, recently, many friends asked me for Linux learning roadmap, so I stayed up for a month in my spare time according to my own experience, and sorted out an e-book. Whether you are interviewing or self-improvement, I believe will help you! The directory is as follows:

Free to everyone, just ask everyone to point to me!

Ebook | Linux development learning roadmap

Also hope to have a small partner can join me, do this e-book more perfect!

Have a harvest? Hope the old iron people come to a triple whammy, give more people to see this article

Recommended reading:

  • Dry goods | programmers advanced architect necessary resources free of charge
  • Artifact | support resource site search