我们在Linux下开发的时候,有时候需要知道当前的硬件信息,比如:CPU是几核的?用法?内存大小和使用情况?USB设备是否被识别?等等等等。下面就对一些常用的硬件查看命令做一个很好的介绍。lshwlshw这个命令是一个比较通用的工具,可以详细列出机器的硬件信息。但此命令并非在所有发行版中都可用。比如Fedora默认是没有的,需要自己安装。lshw可以从各种/proc文件中提取硬件信息,如:CPU、内存、usb控制器、硬盘等,如果没有选项,列出的信息会很长。添加-short选项后,将仅列出摘要信息。[alvin@VM_0_16_centos~]$sudolshw-short#关于长度,已经删除了以下结果H/WpathDeviceClassDescription=============================================================systemBochs/0busMotherboard/0/0memory96KiBBIOS/0/401processorIntel(R)Xeon(R)CPUE5-26xxv4/0/1000memory2GiBSystemMemory/0/1000/0memory2GiBDIMMRAM/0/100bridge440FX-82441FXPMC[Natoma]/0/100/1bridge82371SBPIIX3ISA[Natoma/TritonII]/0/100/1.0/dev/0.1.1.cdDVDromdisk/0QEMU100/1.2/1usb1busUHCIHostController/0/100/1.3bridge82371AB/EB/MBPIIX4ACPI/0/100/4/0/1/dev/vda1volume49GiBEXT3volume/0/100/5genericVirtiomemoryballoon/0/100system/5/0genericVirtualI/Odevice/odevice/0/1/0/2inputPnPdevicePNP0303lscpulscpu可以列出本地CPU的相关信息,该命令没有任何选项和参数。[alvin@VM_0_16_centos~]$lscpuArchitecture:x86_64CPUop-mode(s):32-bit,64-bitByteOrder:LittleEndianCPU(s):1On-lineCPU(s)list:0Thread(s)percore:1Core(s)persocket:1Socket(s):1NUMAnode(s):1VendorID:GenuineIntelCPUfamily:6Model:79Modelname:Intel(R)Xeon(R)CPUE5-26xxv4Stepping:1CPUMHz:2399.988BogoMIPS:4799.97Hypervisor供应商:KVMVirtualizationtype:fullL1dcache:32KL1icache:32KLUMACKbaches4()列出本机连接的所有USB设备信息。默认情况下,仅列出摘要信息,使用-v选项列出每个USB端口的详细信息。[alvin@VM_0_16_centos~]$lsusbBus001Device003:ID0424:ec00StandardMicrosystemsCorp.SMSC9512/9514FastEthernetAdapterBus001Device002:ID0424:9514StandardMicrosystemsCorp.SMC9514HubBus001Device001:ID1d6b:0002LinuxFoundation2.0roothublsscsilsscsi可以列出诸如硬盘/光驱等SCSI/SATA设备信息。[alvin@VM_0_16_centos~]$lsscsi[0:0:1:0]cd/dvdQEMUQEMUDD-ROM1.2./dev/sr0lspcilspci列出所有PCI总线,以及连接到PCI总线的所有设备的详细信息,例如VGA适配器、显卡、网络适配器、usb端口,SATA控制器等[alvin@VM_0_16_centos~]$lspci00:00.0Hostbridge:IntelCorporation440FX-82441FXPMC[Natoma](rev02)00:01.0ISAbridge:IntelCorporation82371SBPIIX3ISA[Natoma/TritonII]00:01.1IDEinterface:IntelCorporation82371SBPIIX3IDE[Natoma/TritonII]00:01.2USBcontroller:IntelCorporation82371SBPIIX3USB[Natoma/TritonII](rev01)00:01.3Bridge:IntelCorporation82371AB/EB/MBPIIX4ACPI(rev03)00:02.0VGAcompatiblecontroller:CirrusLogicGD544600:03.0Ethernetcontroller:RedHat,IncVirtionetworkdevice00:04.0SCSIstoragecontroller:RedHat,IncVirtioblockdevice00:05.0Unclassifieddevice[00ff]:RedHat,IncVirtiomemoryballoondfdf该命令可以列出不同分区的大小、使用情况、使用率、挂载点等信息。加上-h选项,可以用k、M、G等单位表示大小,否则默认为bytes,不易读取。[alvin@VM_0_16_centos~]$df-hFilesystemSizeUsedAvailUse%Mountedon/dev/vda150G7.5G40G16%/devtmpfs911M0911M0%/devtmpfs920M68K920M1%/dev/shmtmpfs920M364K920M1%/runtmpfs920M0920M0%/sys/fs/cgrouptmpfs184M0184M0%/run/user/0tmpfs184M0184M0%/run/user/1001tmpfs184M0184M0%/run/user/1000freefree命令可以查看系统中的已用总量、空闲总量和RAM总量,一般要带-m参数。[alvin@VM_0_16_centos~]$free-mtotalusedfreesharedbuff/cacheavailableMem:1839221156014611400Swap:000
