我们在 Linux 下进行开发时,有时也需要知道当前的硬件信息,比如:CPU几核?使用情况?内存大小及使用情况?USB设备是否被识别?等等类似此类问题。下面良许介绍一些常用的硬件查看命令。
lshw
lshw 这个命令是一个比较通用的工具,它可以详细的列出本机的硬件信息。但这个命令并非所有的发行版都有,比如 Fedora 就默认没有,需要自己安装。
lshw 可以从各个 /proc 文件中提取出硬件信息,比如:CPU、内存、usb 控制器、硬盘等。如果不带选项的话,列出的信息将很长,加上 -short 选项时,将只列出概要信息。
[alvin@VM_0_16_centos ~]$ sudo lshw -short#篇幅关系,以下结果有删减H/W path Device Class Description==========================================================systemBochs/0bus Motherboard/0/0memory96KiB BIOS/0/401processor Intel(R) Xeon(R) CPU E5-26xx v4/0/1000memory2GiB System Memory/0/1000/0memory2GiB DIMM RAM/0/100bridge440FX -82441FX PMC [Natoma]/0/100/1bridge82371SB PIIX3 ISA [Natoma/Triton II]/0/100/1.1/0.1.0/dev/cdrom disk QEMU DVD-ROM/0/100/1.2/1usb1 bus UHCI Host Controller/0/100/1.3bridge82371AB/EB/MB PIIX4 ACPI/0/100/4/0/1/dev/vda1 volume49GiB EXT3 volume/0/100/5generic Virtio memory balloon/0/100/5/0generic Virtual I/O device/0/1systemPnP device PNP0b00/0/2input PnP device PNP0303
lscpu
lscpu 可以列出本机的 CPU 的相关信息,该命令没有任何选项及参数。
[alvin@VM_0_16_centos ~]$ lscpuArchitecture: x86_64CPU op-mode(s): 32-bit, 64-bitByte Order: Little EndianCPU(s): 1On-line CPU(s) list: 0Thread(s) per core: 1Core(s) per socket: 1Socket(s): 1NUMA node(s): 1Vendor ID: GenuineIntelCPU family: 6Model: 79Model name: Intel(R) Xeon(R) CPU E5-26xx v4Stepping: 1CPU MHz: 2399.988BogoMIPS: 4799.97Hypervisor vendor: KVMVirtualization type: fullL1d cache: 32KL1i cache: 32KL2 cache: 4096KNUMA node0 CPU(s): 0
lsusb
lsusb 列出与本机相连的所有 USB 设备的信息。默认情况下,只列出概要信息,使用 -v 选项可以列出每一个 USB 口的详细信息。
[alvin@VM_0_16_centos ~]$ lsusbBus001Device003: ID0424:ec00Standard Microsystems Corp. SMSC9512/9514Fast Ethernet AdapterBus001Device002: ID0424:9514Standard Microsystems Corp. SMC9514 HubBus001Device001: ID1d6b:0002Linux Foundation2.0root hub
lsscsi
lsscsi 可以列出诸如硬盘/光驱等 SCSI/SATA 设备信息。
[alvin@VM_0_16_centos ~]$ lsscsi[0:0:1:0] cd/dvd QEMU QEMU DVD-ROM1.2. /dev/sr0
lspci
lspci 列出所有 PCI 总线,以及与 PCI 总线相连的所有设备的详细信息,比如 VGA 适配器、显卡、网络适配器、usb 端口、SATA 控制器等。
[alvin@VM_0_16_centos ~]$ lspci00: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 544600:03.0 Ethernet controller: Red Hat, Inc Virtio network device00:04.0 SCSI storage controller: Red Hat, Inc Virtio block device00:05.0 Unclassified device [00ff]: Red Hat, Inc Virtio memory balloon
df
df 命令可以列出不同分区的大小,使用情况,使用率,挂载点等信息,加上 -h 选项可以以 k, M, G 等单位表示大小,否则默认是字节,不容易阅读。
[alvin@VM_0_16_centos ~]$ df -hFilesystem Size Used AvailUse% Mountedon/dev/vda150G7.5G40G16% /devtmpfs911M0911M0% /devtmpfs920M68K920M1% /dev/shmtmpfs920M364K920M1% /runtmpfs920M0920M0% /sys/fs/cgrouptmpfs184M0184M0% /run/user/0tmpfs184M0184M0% /run/user/1001tmpfs184M0184M0% /run/user/1000
free
free命令可以查看系统中使用的、闲置的和 RAM 的总体数量,一般带上 -m 参数。
[alvin@VM_0_16_centos ~]$free-m total usedfreeshared buff/cache availableMem:1839221156014611400Swap:000