Linux下收集系統(tǒng)和硬件信息的10個(gè)實(shí)用命令
譯文【51CTO.com快譯】知道Linux系統(tǒng)在什么樣的硬件部件上運(yùn)行始終是個(gè)好的做法,這可以幫助你在系統(tǒng)上安裝程序包和驅(qū)動(dòng)程序時(shí),處理兼容問題。
圖1:Linux下檢查硬件和系統(tǒng)信息的10個(gè)命令
因此在這篇技巧文章中,我們將介紹幾個(gè)實(shí)用命令,它們可以幫助你獲取關(guān)于Linux系統(tǒng)和硬件部件的信息。
1.如何查看Linux系統(tǒng)的信息
如果僅僅想知道系統(tǒng)名稱,你可以使用不帶任何參數(shù)選項(xiàng)符的uname命令(會(huì)輸出系統(tǒng)信息),或者使用uname -s命令(輸出系統(tǒng)的內(nèi)核名稱)。
- tecmint@tecmint ~ $ uname
- Linux
想查看網(wǎng)絡(luò)主機(jī)名稱,使用帶“-n”參數(shù)選項(xiàng)符的uname命令,如下所示。
- tecmint@tecmint ~ $ uname -n
- tecmint.com
想獲得關(guān)于內(nèi)核版本的信息,使用“-v”參數(shù)選項(xiàng)符。
- tecmint@tecmint ~ $ uname -v
- #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014
想獲得關(guān)于內(nèi)核發(fā)行版的信息,使用“-r”參數(shù)選項(xiàng)符。
- tecmint@tecmint ~ $ uname -r
- 3.13.0-37-generic
想輸出你系統(tǒng)的硬件名稱,使用“-m”參數(shù)選項(xiàng)符:
- tecmint@tecmint ~ $ uname -m
- x86_64
只要運(yùn)行“uname -a”命令,所有這些信息可以一下子輸出,所下所示。
- tecmint@tecmint ~ $ uname -a
- Linux tecmint.com 3.13.0-37-generic #64-Ubuntu SMP Mon
- Sep 22 21:28:38 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
2.如何查看Linux系統(tǒng)的硬件信息
你在這里可以使用lshw工具,收集關(guān)于硬件部件(比如處理器、磁盤、內(nèi)存和USB控制器等)的大量信息。
lshw是一個(gè)比較小巧的工具,你在獲取信息時(shí),沒有幾個(gè)選項(xiàng)需要結(jié)合使用。lshw提供的信息從不同的/proc文件收集而來。
請(qǐng)注意:務(wù)必要記住一點(diǎn),lshw命令只能由超級(jí)用戶(根用戶)或sudo用戶來執(zhí)行。
想輸出關(guān)于你Linux系統(tǒng)硬件的信息,運(yùn)行這個(gè)命令。
- tecmint@tecmint ~ $ sudo lshw
- tecmint.com
- description: Notebook
- product: 20354 (LENOVO_MT_20354_BU_idea_FM_Lenovo Z50-70)
- vendor: LENOVO
- version: Lenovo Z50-70
- serial: 1037407803441
- width: 64 bits
- capabilities: smbios-2.7 dmi-2.7 vsyscall32
- configuration: administrator_password=disabled boot=normal chassis=notebook family=IDEAPAD frontpanel_password=disabled keyboard_password=disabled power-on_password=disabled sku=LENOVO_MT_20354_BU_idea_FM_Lenovo Z50-70 uuid=E4B1D229-D237-E411-9F6E-28D244EBBD98
- *-core
- description: Motherboard
- product: Lancer 5A5
- vendor: LENOVO
- physical id: 0
- version: 31900059WIN
- serial: YB06377069
- slot: Type2 - Board Chassis Location
- *-firmware
- description: BIOS
- vendor: LENOVO
- physical id: 0
- version: 9BCN26WW
- date: 07/31/2014
- size: 128KiB
- capacity: 4032KiB
- capabilities: pci upgrade shadowing cdboot bootselect edd int13floppynec int13floppytoshiba int13floppy360 int13floppy1200 int13floppy720 int13floppy2880 int9keyboard int10video acpi usb biosbootspecification uefi
- ......
如果使用-short選項(xiàng),可以輸出硬件信息的摘要。
- tecmint@tecmint ~ $ sudo lshw -short
- H/W path Device Class Description
- =====================================================
- system 20354 (LENOVO_MT_20354_BU_idea_FM_Lenovo Z50-70)
- /0 bus Lancer 5A5
- /0/0 memory 128KiB BIOS
- /0/4 processor Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz
- /0/4/b memory 32KiB L1 cache
- /0/4/c memory 256KiB L2 cache
- /0/4/d memory 3MiB L3 cache
- /0/a memory 32KiB L1 cache
- /0/12 memory 8GiB System Memory
- /0/12/0 memory DIMM [empty]
- /0/12/1 memory DIMM [empty]
- /0/12/2 memory 8GiB SODIMM DDR3 Synchronous 1600 MHz (0.6 ns)
- /0/12/3 memory DIMM [empty]
- /0/100 bridge Haswell-ULT DRAM Controller
- /0/100/2 display Haswell-ULT Integrated Graphics Controller
- /0/100/3 multimedia Haswell-ULT HD Audio Controller
- ...
如果你想將輸出生成為一個(gè)html文件,可以使用選項(xiàng)-html。
- tecmint@tecmint ~ $ sudo lshw -html > lshw.html
圖2:生成HTML格式的Linux硬件信息
#p#
3.如何查看Linux處理器的信息
想查看關(guān)于處理器的信息,可使用lscpu命令,因?yàn)樗@示了來自sysfs和/proc/cpuinfo的關(guān)于處理器架構(gòu)的信息,比如處理器數(shù)量、核心、處理器系列型號(hào)、處理器緩存和線程等。
- tecmint@tecmint ~ $ lscpu
- Architecture: x86_64
- CPU op-mode(s): 32-bit, 64-bit
- Byte Order: Little Endian
- CPU(s): 4
- On-line CPU(s) list: 0-3
- Thread(s) per core: 2
- Core(s) per socket: 2
- Socket(s): 1
- NUMA node(s): 1
- Vendor ID: GenuineIntel
- CPU family: 6
- Model: 69
- Stepping: 1
- CPU MHz: 768.000
- BogoMIPS: 4788.72
- Virtualization: VT-x
- L1d cache: 32K
- L1i cache: 32K
- L2 cache: 256K
- L3 cache: 3072K
- NUMA node0 CPU(s): 0-3
4.如何收集Linux塊設(shè)備的信息
塊設(shè)備是硬盤和閃驅(qū)等之類的存儲(chǔ)設(shè)備。lsblk命令可以用來報(bào)告關(guān)于塊設(shè)備的信息,如下所示。
- tecmint@tecmint ~ $ lsblk
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
- sda 8:0 0 931.5G 0 disk
- ├─sda1 8:1 0 1000M 0 part
- ├─sda2 8:2 0 260M 0 part /boot/efi
- ├─sda3 8:3 0 1000M 0 part
- ├─sda4 8:4 0 128M 0 part
- ├─sda5 8:5 0 557.1G 0 part
- ├─sda6 8:6 0 25G 0 part
- ├─sda7 8:7 0 14.7G 0 part
- ├─sda8 8:8 0 1M 0 part
- ├─sda9 8:9 0 324.5G 0 part /
- └─sda10 8:10 0 7.9G 0 part [SWAP]
- sr0 11:0 1 1024M 0 rom
如果你想查看系統(tǒng)上的所有塊設(shè)備,那么加上-a選項(xiàng)。
- tecmint@tecmint ~ $ lsblk -a
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
- sda 8:0 0 931.5G 0 disk
- ├─sda1 8:1 0 1000M 0 part
- ├─sda2 8:2 0 260M 0 part /boot/efi
- ├─sda3 8:3 0 1000M 0 part
- ├─sda4 8:4 0 128M 0 part
- ├─sda5 8:5 0 557.1G 0 part
- ├─sda6 8:6 0 25G 0 part
- ├─sda7 8:7 0 14.7G 0 part
- ├─sda8 8:8 0 1M 0 part
- ├─sda9 8:9 0 324.5G 0 part /
- └─sda10 8:10 0 7.9G 0 part [SWAP]
- sdb 8:16 1 0 disk
- sr0 11:0 1 1024M 0 rom
- ram0 1:0 0 64M 0 disk
- ram1 1:1 0 64M 0 disk
- ram2 1:2 0 64M 0 disk
- ram3 1:3 0 64M 0 disk
- ram4 1:4 0 64M 0 disk
- ram5 1:5 0 64M 0 disk
- ram6 1:6 0 64M 0 disk
- ram7 1:7 0 64M 0 disk
- ram8 1:8 0 64M 0 disk
- ram9 1:9 0 64M 0 disk
- loop0 7:0 0 0 loop
- loop1 7:1 0 0 loop
- loop2 7:2 0 0 loop
- loop3 7:3 0 0 loop
- loop4 7:4 0 0 loop
- loop5 7:5 0 0 loop
- loop6 7:6 0 0 loop
- loop7 7:7 0 0 loop
- ram10 1:10 0 64M 0 disk
- ram11 1:11 0 64M 0 disk
- ram12 1:12 0 64M 0 disk
- ram13 1:13 0 64M 0 disk
- ram14 1:14 0 64M 0 disk
- ram15 1:15 0 64M 0 disk
5.如何輸出USB控制器的信息
lsusb命令可用于報(bào)告關(guān)于USB控制器及與之相連的所有設(shè)備的信息。
- tecmint@tecmint ~ $ lsusb
- Bus 001 Device 002: ID 8087:8000 Intel Corp.
- Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
- Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
- Bus 002 Device 005: ID 0bda:b728 Realtek Semiconductor Corp.
- Bus 002 Device 004: ID 5986:0249 Acer, Inc
- Bus 002 Device 003: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
- Bus 002 Device 002: ID 045e:00cb Microsoft Corp. Basic Optical Mouse v2.0
- Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
你可以使用-v選項(xiàng),生成關(guān)于每個(gè)USB設(shè)備的詳細(xì)信息。
- tecmint@tecmint ~ $ lsusb -v
6.如何輸出PCI設(shè)備的信息
PCI設(shè)備可能包括USB端口、顯卡和網(wǎng)絡(luò)適配器等。lspci工具用來生成關(guān)于你系統(tǒng)上所有PCI控制器以及與之相連的設(shè)備的信息。
想輸出關(guān)于PCI設(shè)備的信息,可運(yùn)行下面這個(gè)命令。
- tecmint@tecmint ~ $ lspci
- 00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 0b)
- 00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
- 00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
- 00:14.0 USB controller: Intel Corporation Lynx Point-LP USB xHCI HC (rev 04)
- 00:16.0 Communication controller: Intel Corporation Lynx Point-LP HECI #0 (rev 04)
- 00:1b.0 Audio device: Intel Corporation Lynx Point-LP HD Audio Controller (rev 04)
- 00:1c.0 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 3 (rev e4)
- 00:1c.3 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 4 (rev e4)
- 00:1c.4 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 5 (rev e4)
- 00:1d.0 USB controller: Intel Corporation Lynx Point-LP USB EHCI #1 (rev 04)
- 00:1f.0 ISA bridge: Intel Corporation Lynx Point-LP LPC Controller (rev 04)
- 00:1f.2 SATA controller: Intel Corporation Lynx Point-LP SATA Controller 1 [AHCI mode] (rev 04)
- 00:1f.3 SMBus: Intel Corporation Lynx Point-LP SMBus Controller (rev 04)
- 01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 10)
- 02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter
- 03:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 840M] (rev a2)
使用-t選項(xiàng),生成樹狀格式的輸出。
- tecmint@tecmint ~ $ lspci -t
- -[0000:00]-+-00.0
- +-02.0
- +-03.0
- +-14.0
- +-16.0
- +-1b.0
- +-1c.0-[01]----00.0
- +-1c.3-[02]----00.0
- +-1c.4-[03]----00.0
- +-1d.0
- +-1f.0
- +-1f.2
- \-1f.3
使用-v選項(xiàng),生成關(guān)于每個(gè)所連接設(shè)備的詳細(xì)信息。
- tecmint@tecmint ~ $ lspci -v
- 00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 0b)
- Subsystem: Lenovo Device 3978
- Flags: bus master, fast devsel, latency 0
- Capabilities:
- 00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b) (prog-if 00 [VGA controller])
- Subsystem: Lenovo Device 380d
- Flags: bus master, fast devsel, latency 0, IRQ 62
- Memory at c3000000 (64-bit, non-prefetchable) [size=4M]
- Memory at d0000000 (64-bit, prefetchable) [size=256M]
- I/O ports at 6000 [size=64]
- Expansion ROM at [disabled]
- Capabilities:
- Kernel driver in use: i915
- .....
#p#
7.如何輸出SCSI設(shè)備的信息
想查看你的所有SCSI/SATA設(shè)備,使用lsscsi命令,如下所示。如果你沒有安裝lsscsi工具,運(yùn)行下面這個(gè)命令即可安裝它。
- $ sudo apt-get install lsscsi [on Debian derivatives]
- # yum install lsscsi [On RedHat based systems]
- # dnf install lsscsi [On Fedora 21+ Onwards]
安裝完畢后,運(yùn)行l(wèi)sscsi命令,如下所示:
- tecmint@tecmint ~ $ lsscsi
- [0:0:0:0] disk ATA ST1000LM024 HN-M 2BA3 /dev/sda
- [1:0:0:0] cd/dvd PLDS DVD-RW DA8A5SH RL61 /dev/sr0
- [4:0:0:0] disk Generic- xD/SD/M.S. 1.00 /dev/sdb
使用-s選項(xiàng),顯示設(shè)備的大小。
- tecmint@tecmint ~ $ lsscsi -s
- [0:0:0:0] disk ATA ST1000LM024 HN-M 2BA3 /dev/sda 1.00TB
- [1:0:0:0] cd/dvd PLDS DVD-RW DA8A5SH RL61 /dev/sr0 -
- [4:0:0:0] disk Generic- xD/SD/M.S. 1.00 /dev/sdb -
8.如何輸出關(guān)于SATA設(shè)備的信息
你可以使用hdparm實(shí)用工具,找到關(guān)于系統(tǒng)上SATA設(shè)備的一些信息,如下所示。在下面這個(gè)例子中,我使用了實(shí)為系統(tǒng)上硬盤的塊設(shè)備/dev/sda1。
- tecmint@tecmint ~ $ sudo hdparm /dev/sda1
- /dev/sda1:
- multcount = 0 (off)
- IO_support = 1 (32-bit)
- readonly = 0 (off)
- readahead = 256 (on)
- geometry = 56065/255/63, sectors = 2048000, start = 2048
想輸出關(guān)于設(shè)備結(jié)構(gòu)在柱面、磁頭、扇區(qū)、大小和起始偏移量等方面的信息,使用-g選項(xiàng)。
- tecmint@tecmint ~ $ sudo hdparm -g /dev/sda1
- /dev/sda1:
- geometry = 56065/255/63, sectors = 2048000, start = 2048
9.如何輸出Linux文件系統(tǒng)的信息
想收集關(guān)于文件系統(tǒng)分區(qū)的信息,可以使用fdisk命令。雖然fdisk命令的主要功能是改動(dòng)文件系統(tǒng)分區(qū),但是它也可以用來查看關(guān)于文件系統(tǒng)上不同分區(qū)的信息。
你可以輸出分區(qū)信息,如下所示。記得以超級(jí)用戶的身份運(yùn)行該命令,否則你看不到任何輸出。
- tecmint@tecmint ~ $ sudo fdisk -l
- WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.
- Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
- 255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
- Units = sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 4096 bytes
- I/O size (minimum/optimal): 4096 bytes / 4096 bytes
- Disk identifier: 0xcee8ad92
- Device Boot Start End Blocks Id System
- /dev/sda1 1 1953525167 976762583+ ee GPT
- Partition 1 does not start on physical sector boundary.
10.如何獲取關(guān)于硬件部件的信息
你還可以使用dmidecode實(shí)用工具來獲取硬件信息,只要從DMI表讀取數(shù)據(jù)。
想輸出關(guān)于內(nèi)存的信息,以超級(jí)用戶的身份運(yùn)行該命令。
- tecmint@tecmint ~ $ sudo dmidecode -t memory
- # dmidecode 2.12
- # SMBIOS entry point at 0xaaebef98
- SMBIOS 2.7 present.
- Handle 0x0005, DMI type 5, 24 bytes
- Memory Controller Information
- Error Detecting Method: None
- Error Correcting Capabilities:
- None
- Supported Interleave: One-way Interleave
- Current Interleave: One-way Interleave
- Maximum Memory Module Size: 8192 MB
- Maximum Total Memory Size: 32768 MB
- Supported Speeds:
- Other
- Supported Memory Types:
- Other
- Memory Module Voltage: Unknown
- Associated Memory Slots: 4
- 0x0006
- 0x0007
- 0x0008
- 0x0009
- Enabled Error Correcting Capabilities:
- None
- ...
想輸出關(guān)于系統(tǒng)的信息,運(yùn)行該命令。
- tecmint@tecmint ~ $ sudo dmidecode -t system
- # dmidecode 2.12
- # SMBIOS entry point at 0xaaebef98
- SMBIOS 2.7 present.
- Handle 0x0001, DMI type 1, 27 bytes
- System Information
- Manufacturer: LENOVO
- Product Name: 20354
- Version: Lenovo Z50-70
- Serial Number: 1037407803441
- UUID: 29D2B1E4-37D2-11E4-9F6E-28D244EBBD98
- Wake-up Type: Power Switch
- SKU Number: LENOVO_MT_20354_BU_idea_FM_Lenovo Z50-70
- Family: IDEAPAD
- ...
想輸出關(guān)于BIOS的信息,運(yùn)行該命令。
- tecmint@tecmint ~ $ sudo dmidecode -t bios
- # dmidecode 2.12
- # SMBIOS entry point at 0xaaebef98
- SMBIOS 2.7 present.
- Handle 0x0000, DMI type 0, 24 bytes
- BIOS Information
- Vendor: LENOVO
- Version: 9BCN26WW
- Release Date: 07/31/2014
- Address: 0xE0000
- Runtime Size: 128 kB
- ROM Size: 4096 kB
- Characteristics:
- PCI is supported
- BIOS is upgradeable
- BIOS shadowing is allowed
- Boot from CD is supported
- Selectable boot is supported
- EDD is supported
- Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
- Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
- 5.25"/360 kB floppy services are supported (int 13h)
- 5.25"/1.2 MB floppy services are supported (int 13h)
- 3.5"/720 kB floppy services are supported (int 13h)
- 3.5"/2.88 MB floppy services are supported (int 13h)
- 8042 keyboard services are supported (int 9h)
- CGA/mono video services are supported (int 10h)
- ACPI is supported
- USB legacy is supported
- BIOS boot specification is supported
- Targeted content distribution is supported
- UEFI is supported
- BIOS Revision: 0.26
- Firmware Revision: 0.26
- ...
想輸出關(guān)于處理器的信息,運(yùn)行該命令。
- tecmint@tecmint ~ $ sudo dmidecode -t processor
- # dmidecode 2.12
- # SMBIOS entry point at 0xaaebef98
- SMBIOS 2.7 present.
- Handle 0x0004, DMI type 4, 42 bytes
- Processor Information
- Socket Designation: U3E1
- Type: Central Processor
- Family: Core i5
- Manufacturer: Intel(R) Corporation
- ID: 51 06 04 00 FF FB EB BF
- Signature: Type 0, Family 6, Model 69, Stepping 1
- Flags:
- ...
結(jié)束語
你可以使用另外許多方法來獲取關(guān)于系統(tǒng)硬件部件的信息。這些命令大都使用/proc目錄中的文件來獲取系統(tǒng)信息。
但愿你覺得本文很實(shí)用,如果你想添加更多的信息,或者在使用上述命令中遇到了什么困難,歡迎留言交流。
原文標(biāo)題:10 Useful Commands to Collect System and Hardware Information in Linux,作者:Aaron Kili
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】