听枫小站
Linux下收集系统和硬件信息的10个实用命令(1) linux查看硬件信息
2016-7-21 楼台听枫雨


知道Linux系统在什么样的硬件部件上运行始终是个好的做法,这可以帮助你在系统上安装程序包和驱动程序时,处理兼容问题。



Linux下收集系统和硬件信息的10个实用命令(1)_linux查看硬件信息



图1:Linux下检查硬件和系统信息的10个命令



因此在这篇技巧文章中,我们将介绍几个实用命令,它们可以帮助你获取关于Linux系统和硬件部件的信息。



1.如何查看Linux系统的信息



如果仅仅想知道系统名称,你可以使用不带任何参数选项符的uname命令(会输出系统信息),或者使用uname -s命令(输出系统的内核名称)。






  1. tecmint@tecmint~$uname







  2. Linux





想查看网络主机名称,使用带“-n”参数选项符的uname命令,如下所示。






  1. tecmint@tecmint~$uname-n







  2. tecmint.com





想获得关于内核版本的信息,使用“-v”参数选项符。






  1. tecmint@tecmint~$uname-v







  2. #64-UbuntuSMPMonSep2221:28:38UTC2014





想获得关于内核发行版的信息,使用“-r”参数选项符。






  1. tecmint@tecmint~$uname-r







  2. 3.13.0-37-generic





想输出你系统的硬件名称,使用“-m”参数选项符:






  1. tecmint@tecmint~$uname-m







  2. x86_64





只要运行“uname -a”命令,所有这些信息可以一下子输出,所下所示。






  1. tecmint@tecmint~$uname-a







  2. Linuxtecmint.com3.13.0-37-generic#64-UbuntuSMPMon







  3. Sep2221:28:38UTC2014x86_64x86_64x86_64GNU/Linux





2.如何查看Linux系统的硬件信息



你在这里可以使用lshw工具,收集关于硬件部件(比如处理器、磁盘、内存和USB控制器等)的大量信息。



lshw是一个比较小巧的工具,你在获取信息时,没有几个选项需要结合使用。lshw提供的信息从不同的/proc文件收集而来。



请注意:务必要记住一点,lshw命令只能由超级用户(根用户)或sudo用户来执行。



想输出关于你Linux系统硬件的信息,运行这个命令。






  1. tecmint@tecmint~$sudo lshw







  2. tecmint.com



  3. description:Notebook



  4. product:20354(LENOVO_MT_20354_BU_idea_FM_LenovoZ50-70)



  5. vendor:LENOVO



  6. version:LenovoZ50-70



  7. serial:1037407803441



  8. width:64bits



  9. capabilities:smbios-2.7dmi-2.7vsyscall32



  10. configuration:administrator_password=disabledboot=normalchassis=notebookfamily=IDEAPADfrontpanel_password=disabledkeyboard_password=disabledpower-on_password=disabledsku=LENOVO_MT_20354_BU_idea_FM_LenovoZ50-70uuid=E4B1D229-D237-E411-9F6E-28D244EBBD98



  11. *-core



  12. description:Motherboard



  13. product:Lancer5A5



  14. vendor:LENOVO



  15. physicalid:0



  16. version:31900059WIN



  17. serial:YB06377069



  18. slot:Type2-BoardChassisLocation



  19. *-firmware



  20. description:BIOS



  21. vendor:LENOVO



  22. physicalid:0



  23. version:9BCN26WW



  24. date:07/31/2014



  25. size:128KiB



  26. capacity:4032KiB



  27. capabilities:pciupgradeshadowingcdbootbootselecteddint13floppynecint13floppytoshibaint13floppy360int13floppy1200int13floppy720int13floppy2880int9keyboardint10videoacpiusbbiosbootspecificationuefi



  28. ......





如果使用-short选项,可以输出硬件信息的摘要。






  1. tecmint@tecmint~$sudo lshw -short







  2. H/WpathDeviceClassDescription



  3. =====================================================



  4. system20354(LENOVO_MT_20354_BU_idea_FM_LenovoZ50-70)



  5. /0busLancer5A5



  6. /0/0memory128KiBBIOS



  7. /0/4processorIntel(R)Core(TM)i5-4210UCPU@1.70GHz



  8. /0/4/bmemory32KiBL1cache



  9. /0/4/cmemory256KiBL2cache



  10. /0/4/dmemory3MiBL3cache



  11. /0/amemory32KiBL1cache



  12. /0/12memory8GiBSystemMemory



  13. /0/12/0memoryDIMM[empty]



  14. /0/12/1memoryDIMM[empty]



  15. /0/12/2memory8GiBSODIMMDDR3Synchronous1600MHz(0.6ns)



  16. /0/12/3memoryDIMM[empty]



  17. /0/100bridgeHaswell-ULTDRAMController



  18. /0/100/2displayHaswell-ULTIntegratedGraphicsController



  19. /0/100/3multimediaHaswell-ULTHDAudioController



  20. ...





如果你想将输出生成为一个html文件,可以使用选项-html。






  1. tecmint@tecmint~$sudolshw-html>lshw.html





Linux下收集系统和硬件信息的10个实用命令(1)_linux查看硬件信息



图2:生成HTML格式的Linux硬件信息






Linux下收集系统和硬件信息的10个实用命令(1)_linux查看硬件信息



3.如何查看Linux处理器的信息



想查看关于处理器的信息,可使用lscpu命令,因为它显示了来自sysfs和/proc/cpuinfo的关于处理器架构的信息,比如处理器数量、核心、处理器系列型号、处理器缓存和线程等。






  1. tecmint@tecmint~$lscpu







  2. Architecture:x86_64



  3. CPUop-mode(s):32-bit,64-bit



  4. ByteOrder:LittleEndian



  5. CPU(s):4



  6. On-lineCPU(s)list:0-3



  7. Thread(s)percore:2



  8. Core(s)persocket:2



  9. Socket(s):1



  10. NUMAnode(s):1



  11. VendorID:GenuineIntel



  12. CPUfamily:6



  13. Model:69



  14. Stepping:1



  15. CPUMHz:768.000



  16. BogoMIPS:4788.72



  17. Virtualization:VT-x



  18. L1dcache:32K



  19. L1icache:32K



  20. L2cache:256K



  21. L3cache:3072K



  22. NUMAnode0CPU(s):0-3





4.如何收集Linux块设备的信息



块设备是硬盘和闪驱等之类的存储设备。lsblk命令可以用来报告关于块设备的信息,如下所示。






  1. tecmint@tecmint~$lsblk







  2. NAMEMAJ:MINRMSIZEROTYPEMOUNTPOINT



  3. sda8:00931.5G0disk



  4. ├─sda18:101000M0part



  5. ├─sda28:20260M0part/boot/efi



  6. ├─sda38:301000M0part



  7. ├─sda48:40128M0part



  8. ├─sda58:50557.1G0part



  9. ├─sda68:6025G0part



  10. ├─sda78:7014.7G0part



  11. ├─sda88:801M0part



  12. ├─sda98:90324.5G0part/



  13. └─sda108:1007.9G0part[SWAP]



  14. sr011:011024M0rom





如果你想查看系统上的所有块设备,那么加上-a选项。






  1. tecmint@tecmint~$lsblk -a







  2. NAMEMAJ:MINRMSIZEROTYPEMOUNTPOINT



  3. sda8:00931.5G0disk



  4. ├─sda18:101000M0part



  5. ├─sda28:20260M0part/boot/efi



  6. ├─sda38:301000M0part



  7. ├─sda48:40128M0part



  8. ├─sda58:50557.1G0part



  9. ├─sda68:6025G0part



  10. ├─sda78:7014.7G0part



  11. ├─sda88:801M0part



  12. ├─sda98:90324.5G0part/



  13. └─sda108:1007.9G0part[SWAP]



  14. sdb8:1610disk



  15. sr011:011024M0rom



  16. ram01:0064M0disk



  17. ram11:1064M0disk



  18. ram21:2064M0disk



  19. ram31:3064M0disk



  20. ram41:4064M0disk



  21. ram51:5064M0disk



  22. ram61:6064M0disk



  23. ram71:7064M0disk



  24. ram81:8064M0disk



  25. ram91:9064M0disk



  26. loop07:000loop



  27. loop17:100loop



  28. loop27:200loop



  29. loop37:300loop



  30. loop47:400loop



  31. loop57:500loop



  32. loop67:600loop



  33. loop77:700loop



  34. ram101:10064M0disk



  35. ram111:11064M0disk



  36. ram121:12064M0disk



  37. ram131:13064M0disk



  38. ram141:14064M0disk



  39. ram151:15064M0disk





5.如何输出USB控制器的信息



lsusb命令可用于报告关于USB控制器及与之相连的所有设备的信息。






  1. tecmint@tecmint~$lsusb







  2. Bus001Device002:ID8087:8000IntelCorp.



  3. Bus001Device001:ID1d6b:0002LinuxFoundation2.0roothub



  4. Bus003Device001:ID1d6b:0003LinuxFoundation3.0roothub



  5. Bus002Device005:ID0bda:b728RealtekSemiconductorCorp.



  6. Bus002Device004:ID5986:0249Acer,Inc



  7. Bus002Device003:ID0bda:0129RealtekSemiconductorCorp.RTS5129CardReaderController



  8. Bus002Device002:ID045e:00cbMicrosoftCorp.BasicOpticalMousev2.0



  9. Bus002Device001:ID1d6b:0002LinuxFoundation2.0roothub





你可以使用-v选项,生成关于每个USB设备的详细信息。






  1. tecmint@tecmint~$lsusb -v





6.如何输出PCI设备的信息



PCI设备可能包括USB端口、显卡和网络适配器等。lspci工具用来生成关于你系统上所有PCI控制器以及与之相连的设备的信息。



想输出关于PCI设备的信息,可运行下面这个命令。






  1. tecmint@tecmint~$lspci







  2. 00:00.0Hostbridge:IntelCorporationHaswell-ULTDRAMController(rev0b)



  3. 00:02.0VGAcompatiblecontroller:IntelCorporationHaswell-ULTIntegratedGraphicsController(rev0b)



  4. 00:03.0Audiodevice:IntelCorporationHaswell-ULTHDAudioController(rev0b)



  5. 00:14.0USBcontroller:IntelCorporationLynxPoint-LPUSBxHCIHC(rev04)



  6. 00:16.0Communicationcontroller:IntelCorporationLynxPoint-LPHECI#0(rev04)



  7. 00:1b.0Audiodevice:IntelCorporationLynxPoint-LPHDAudioController(rev04)



  8. 00:1c.0PCIbridge:IntelCorporationLynxPoint-LPPCIExpressRootPort3(reve4)



  9. 00:1c.3PCIbridge:IntelCorporationLynxPoint-LPPCIExpressRootPort4(reve4)



  10. 00:1c.4PCIbridge:IntelCorporationLynxPoint-LPPCIExpressRootPort5(reve4)



  11. 00:1d.0USBcontroller:IntelCorporationLynxPoint-LPUSBEHCI#1(rev04)



  12. 00:1f.0ISAbridge:IntelCorporationLynxPoint-LPLPCController(rev04)



  13. 00:1f.2SATAcontroller:IntelCorporationLynxPoint-LPSATAController1[AHCImode](rev04)



  14. 00:1f.3SMBus:IntelCorporationLynxPoint-LPSMBusController(rev04)



  15. 01:00.0Ethernetcontroller:RealtekSemiconductorCo.,Ltd.RTL8111/8168/8411PCIExpressGigabitEthernetController(rev10)



  16. 02:00.0Networkcontroller:RealtekSemiconductorCo.,Ltd.RTL8723BEPCIeWirelessNetworkAdapter



  17. 03:00.03Dcontroller:NVIDIACorporationGM108M[GeForce840M](reva2)





使用-t选项,生成树状格式的输出。






  1. tecmint@tecmint~$lspci -t







  2. -[0000:00]-+-00.0



  3. +-02.0



  4. +-03.0



  5. +-14.0



  6. +-16.0



  7. +-1b.0



  8. +-1c.0-[01]----00.0



  9. +-1c.3-[02]----00.0



  10. +-1c.4-[03]----00.0



  11. +-1d.0



  12. +-1f.0



  13. +-1f.2



  14. \-1f.3





使用-v选项,生成关于每个所连接设备的详细信息。






  1. tecmint@tecmint~$lspci -v







  2. 00:00.0Hostbridge:IntelCorporationHaswell-ULTDRAMController(rev0b)



  3. Subsystem:LenovoDevice3978



  4. Flags:busmaster,fastdevsel,latency0



  5. Capabilities:







  6. 00:02.0VGAcompatiblecontroller:IntelCorporationHaswell-ULTIntegratedGraphicsController(rev0b)(prog-if00[VGAcontroller])



  7. Subsystem:LenovoDevice380d



  8. Flags:busmaster,fastdevsel,latency0,IRQ62



  9. Memoryatc3000000(64-bit,non-prefetchable)[size=4M]



  10. Memoryatd0000000(64-bit,prefetchable)[size=256M]



  11. I/Oportsat6000[size=64]



  12. ExpansionROMat[disabled]



  13. Capabilities:



  14. Kerneldriverinuse:i915



  15. .....





Linux下收集系统和硬件信息的10个实用命令(1)_linux查看硬件信息



7.如何输出SCSI设备的信息



想查看你的所有SCSI/SATA设备,使用lsscsi命令,如下所示。如果你没有安装lsscsi工具,运行下面这个命令即可安装它。






  1. $sudo apt-get install lsscsi[onDebianderivatives]



  2. #yum install lsscsi[OnRedHatbasedsystems]



  3. #dnf install lsscsi[OnFedora21+Onwards]





安装完毕后,运行lsscsi命令,如下所示:






  1. tecmint@tecmint~$lsscsi







  2. [0:0:0:0]diskATAST1000LM024HN-M2BA3/dev/sda



  3. [1:0:0:0]cd/dvdPLDSDVD-RWDA8A5SHRL61/dev/sr0



  4. [4:0:0:0]diskGeneric-xD/SD/M.S.1.00/dev/sdb





使用-s选项,显示设备的大小。






  1. tecmint@tecmint~$lsscsi -s







  2. [0:0:0:0]diskATAST1000LM024HN-M2BA3/dev/sda1.00TB



  3. [1:0:0:0]cd/dvdPLDSDVD-RWDA8A5SHRL61/dev/sr0-



  4. [4:0:0:0]diskGeneric-xD/SD/M.S.1.00/dev/sdb-





8.如何输出关于SATA设备的信息



你可以使用hdparm实用工具,找到关于系统上SATA设备的一些信息,如下所示。在下面这个例子中,我使用了实为系统上硬盘的块设备/dev/sda1。






  1. tecmint@tecmint~$sudo hdparm /dev/sda1







  2. /dev/sda1:



  3. multcount=0(off)



  4. IO_support=1(32-bit)



  5. readonly=0(off)



  6. readahead=256(on)



  7. geometry=56065/255/63,sectors=2048000,start=2048





想输出关于设备结构在柱面、磁头、扇区、大小和起始偏移量等方面的信息,使用-g选项。






  1. tecmint@tecmint~$sudo hdparm -g/dev/sda1







  2. /dev/sda1:



  3. geometry=56065/255/63,sectors=2048000,start=2048





9.如何输出Linux文件系统的信息



想收集关于文件系统分区的信息,可以使用fdisk命令。虽然fdisk命令的主要功能是改动文件系统分区,但是它也可以用来查看关于文件系统上不同分区的信息。



你可以输出分区信息,如下所示。记得以超级用户的身份运行该命令,否则你看不到任何输出。






  1. tecmint@tecmint~$sudo fdisk -l







  2. WARNING:GPT(GUIDPartitionTable)detectedon'/dev/sda'!Theutilfdiskdoesn'tsupportGPT.UseGNUParted.











  3. Disk/dev/sda:1000.2GB,1000204886016bytes



  4. 255heads,63sectors/track,121601cylinders,total1953525168sectors



  5. Units=sectorsof1*512=512bytes



  6. Sectorsize(logical/physical):512bytes/4096bytes



  7. I/Osize(minimum/optimal):4096bytes/4096bytes



  8. Diskidentifier:0xcee8ad92







  9. DeviceBootStartEndBlocksIdSystem



  10. /dev/sda111953525167976762583+eeGPT



  11. Partition1doesnotstartonphysicalsectorboundary.





10.如何获取关于硬件部件的信息



你还可以使用dmidecode实用工具来获取硬件信息,只要从DMI表读取数据。



想输出关于内存的信息,以超级用户的身份运行该命令。






  1. tecmint@tecmint~$sudo dmidecode-t memory







  2. #dmidecode2.12



  3. #SMBIOSentrypointat0xaaebef98



  4. SMBIOS2.7present.







  5. Handle0x0005,DMItype5,24bytes



  6. MemoryControllerInformation



  7. ErrorDetectingMethod:None



  8. ErrorCorrectingCapabilities:



  9. None



  10. SupportedInterleave:One-wayInterleave



  11. CurrentInterleave:One-wayInterleave



  12. MaximumMemoryModuleSize:8192MB



  13. MaximumTotalMemorySize:32768MB



  14. SupportedSpeeds:



  15. Other



  16. SupportedMemoryTypes:



  17. Other



  18. MemoryModuleVoltage:Unknown



  19. AssociatedMemorySlots:4



  20. 0x0006



  21. 0x0007



  22. 0x0008



  23. 0x0009



  24. EnabledErrorCorrectingCapabilities:



  25. None



  26. ...





想输出关于系统的信息,运行该命令。






  1. tecmint@tecmint~$sudodmidecode-tsystem







  2. #dmidecode2.12



  3. #SMBIOSentrypointat0xaaebef98



  4. SMBIOS2.7present.







  5. Handle0x0001,DMItype1,27bytes



  6. SystemInformation



  7. Manufacturer:LENOVO



  8. ProductName:20354



  9. Version:LenovoZ50-70



  10. SerialNumber:1037407803441



  11. UUID:29D2B1E4-37D2-11E4-9F6E-28D244EBBD98



  12. Wake-upType:PowerSwitch



  13. SKUNumber:LENOVO_MT_20354_BU_idea_FM_LenovoZ50-70



  14. Family:IDEAPAD



  15. ...





想输出关于BIOS的信息,运行该命令。






  1. tecmint@tecmint~$sudodmidecode-tbios







  2. #dmidecode2.12



  3. #SMBIOSentrypointat0xaaebef98



  4. SMBIOS2.7present.







  5. Handle0x0000,DMItype0,24bytes



  6. BIOSInformation



  7. Vendor:LENOVO



  8. Version:9BCN26WW



  9. ReleaseDate:07/31/2014



  10. Address:0xE0000



  11. RuntimeSize:128kB



  12. ROMSize:4096kB



  13. Characteristics:



  14. PCIissupported



  15. BIOSisupgradeable



  16. BIOSshadowingisallowed



  17. BootfromCDissupported



  18. Selectablebootissupported



  19. EDDissupported



  20. JapanesefloppyforNEC98001.2MBissupported(int13h)



  21. JapanesefloppyforToshiba1.2MBissupported(int13h)



  22. 5.25"/360kBfloppyservicesaresupported(int13h)



  23. 5.25"/1.2MBfloppyservicesaresupported(int13h)



  24. 3.5"/720kBfloppyservicesaresupported(int13h)



  25. 3.5"/2.88MBfloppyservicesaresupported(int13h)



  26. 8042keyboardservicesaresupported(int9h)



  27. CGA/monovideoservicesaresupported(int10h)



  28. ACPIissupported



  29. USBlegacyissupported



  30. BIOSbootspecificationissupported



  31. Targetedcontentdistributionissupported



  32. UEFIissupported



  33. BIOSRevision:0.26



  34. FirmwareRevision:0.26



  35. ...





想输出关于处理器的信息,运行该命令。






  1. tecmint@tecmint~$sudodmidecode-tprocessor







  2. #dmidecode2.12



  3. #SMBIOSentrypointat0xaaebef98



  4. SMBIOS2.7present.







  5. Handle0x0004,DMItype4,42bytes



  6. ProcessorInformation



  7. SocketDesignation:U3E1



  8. Type:CentralProcessor



  9. Family:Corei5



  10. Manufacturer:Intel(R)Corporation



  11. ID:51060400FFFBEBBF



  12. Signature:Type0,Family6,Model69,Stepping1



  13. Flags:



  14. ...





结束语



你可以使用另外许多方法来获取关于系统硬件部件的信息。这些命令大都使用/proc目录中的文件来获取系统信息。



但愿你觉得本文很实用,如果你想添加更多的信息,或者在使用上述命令中遇到了什么困难,欢迎留言交流。



原文标题:10 Useful Commands to Collect System and Hardware Information in Linux,作者:Aaron Kili

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容