16常用命令 让你学会查询linux硬件信息
小编:动力软件园 时间:2014-05-13 16:34:55
在Linux系统中,有很多命令可以用于查询主机的硬件信息,有些命令仅仅针对于特定的硬件部件,比如cpu,内存等,而有些命令可以查询很多的硬件信息。
这篇帖子简单地带大家了解一下最常用的查询各种硬件信息的命令,其中包括lscpu、hwinfo、lshw、dmidecode、lspci等等。
1. lscpu
lscpu命令可以用来查询处理器cpu的详细信息,只需要简单地输入lscpu即可,如下所示,它本身也没有提供更多选项和功能可供选择。
$ 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:    1 
............ 
NUMA node0 CPU(s):     0-3 
2. lshw - 显示硬件信息列表
这个命令用途广泛,它可以根据你的需求以详细或概要的形式列出许多个不同硬件的参数信息,其中包括cpu,内存,磁盘,usb控制器,网卡等等,lshw实质上是从/proc文件目录下的不同文件中提取对应的硬件信息。
$ sudo lshw -short 
  
H/W path        Device      Class       Description 
=================================================== 
                        system      () 
/0                          bus         DG35EC 
/0/0                        processor   Intel(R) Core(TM)2 Quad CPU    Q8400  @ 2.66GHz 
.........................
/0/3/0.0.0      /dev/cdrom  disk        DVD RW DRU-190A 
3. hwinfo - Hardware Information
hwinfo同样是一个使用非常广泛的硬件信息查询命令,类似于lshw,它同样可以详细或概要地报告多个部件的硬件信息,但不同的是,它有时可以给出比lshw更多的信息。
$ hwinfo --short 
cpu:                                                             
                       Intel(R) Core(TM)2 Quad CPU    Q8400  @ 2.66GHz, 2000 MHz 
                       Intel(R) Core(TM)2 Quad CPU    Q8400  @ 2.66GHz, 2000 MHz 
                       Intel(R) Core(TM)2 Quad CPU    Q8400  @ 2.66GHz, 2666 MHz 
                       Intel(R) Core(TM)2 Quad CPU    Q8400  @ 2.66GHz, 2666 MHz 
keyboard: 
  /dev/input/event2    AT Translated Set 2 keyboard 
mouse: 
  /dev/input/mice      Microsoft Basic Optical Mouse v2.0 
graphics card: 
                       Intel 965G-1 
                       Intel 82G35 Express Integrated Graphics Controller 
sound: 
                       Intel 82801H (ICH8 Family) HD Audio Controller 
4. lspci - 显示pci总线相关信息
lscpi命令可以列出pci总线上信息,以及所有连接到pci总线上的设备信息,比如VGA适配器,显卡,网卡,usb端口,sata控制器等等。
$ lspci 
00:00.0 Host bridge: Intel Corporation 82G35 Express DRAM Controller (rev 03) 
........
可以使用grep命令筛选出特定的设备信息。
$ lspci -v | grep "VGA" -A 12  
5. lsscsi - 列出scsi设备信息
列出scsi/sata设备信息,比如硬盘驱动器,光盘驱动器。
$ lsscsi 
[3:0:0:0]    disk    ATA      ST3500418AS      CC38  /dev/sda  
[4:0:0:0]    cd/dvd  SONY     DVD RW DRU-190A  1.63  /dev/sr0 
6. lsusb - 列出usb总线信息,及设备信息
该命令可以显示USB控制器及连接到控制的设备信息。默认情况下,只显示概要信息,可以通过-v选项指示其显示更多的硬件信息。
$ lsusb 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 
上面信息显示,在该系统中,有一个usb端口正被鼠标占用。
7. Inxi
inxi命令是一个大的bash脚本文件,其通过从不同的信息来源和命令中获取硬件信息,最后能给出一个颜色高亮的,适合于非专业人员阅读的硬件信息报告。
$ inxi -Fx 
8. lsblk - 列出块设备信息
列出所有块设备信息,其中包括硬盘分区信息,以及其他存储设备,如光盘,闪存等。
$ lsblk 
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT 
sda      8:0    0 465.8G  0 disk  
├─sda1   8:1    0    70G  0 part  
├─sda2   8:2    0     1K  0 part  
├─sda5   8:5    0  97.7G  0 part /media/4668484A68483B47 
├─sda6   8:6    0  97.7G  0 part / 
├─sda7   8:7    0   1.9G  0 part [SWAP] 
└─sda8   8:8    0 198.5G  0 part /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1 
sr0     11:0    1  1024M  0 rom 
9. df - 显示文件系统的磁盘空间信息
报告各种挂载的文件系统信息,其中包括挂载点,已用的,可用的磁盘空间。
$ df -H 
Filesystem      Size  Used Avail Use% Mounted on 
/dev/sda6       104G   26G   73G  26% / 
none            4.1k     0  4.1k   0% /sys/fs/cgroup 
......
none            105M   21k  105M   1% /run/user 
/dev/sda8       210G  149G   51G  75% /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1 
/dev/sda5       105G   31G   75G  30% /media/4668484A68483B47 
10. pydf - python版本的df
一个增强型的python版的df命令,可以以不同的颜色显示所查询的信息,看起来比df更好看。
$ pydf 
Filesystem Size Used Avail Use%          Mounted on                                  
/dev/sda6   96G  23G   68G 24.4 [#.....] /                                           
/dev/sda8  195G 138G   47G 70.6 [####..] /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1 
/dev/sda5   98G  28G   69G 29.2 [##....] /media/4668484A68483B47 
11. fdisk
fdisk命令可以用来修改硬盘分区表信息,也可以用来显示硬盘分区表信息
$ sudo fdisk -l 
Disk /dev/sda: 500.1 GB, 500107862016 bytes 
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors 
Units = sectors of 1 * 512512 = 512 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes 
I/O size (minimum/optimal): 512 bytes / 512 bytes 
Disk identifier: 0x30093008 
   Device Boot      Start         End      Blocks   Id  System 
/dev/sda1   *          63   146801969    73400953+   7  HPFS/NTFS/exFAT 
....... 
/dev/sda8       560429056   976771071   208171008   83  Linux 
12. mount
mount命令可以用来挂载设备,当然也可以用来查看系统中设备的挂载情况。
$ mount | column -t 
/dev/sda6    on  /                                            type  ext4             (rw,errors=remount-ro) 
proc         on  /proc                                        type  proc             (rw,noexec,nosuid,nodev) 
sysfs        on  /sys                                         type  sysfs            (rw,noexec,nosuid,nodev) 
......
同样,可以使用grep命令来筛选出想看的文件系统信息。
$ mount | column -t | grep ext 
13. free - 查看RAM信息
查看系统中RAM的使用情况,包括已使用空间,未使用空间,以及总空间。
$ free -m 
             total       used       free     shared    buffers     cached 
Mem:          7975       5865       2110          0         24        622 
-/+ buffers/cache:       5218       2757 
Swap:         1951        921       1030 
14. dmidecode
dmidecode命令不同于其他的命令,它是通过读取SMBOIS数据结构(也称为DMI表)中数据来提取硬件信息。
# 显示处理器信息 
$ sudo dmidecode -t processor 
# 显示内存信息 
$ sudo dmidecode -t memory 
# 显示bios信息 
$ sudo dmidecode -t bios 
查看man手册获取更多信息。
15. /proc 文件系统
在/proc目录下的许多虚拟文件包含了很多有关硬件参数及配置的信息。
CPU、内存信息
# cpu信息 
$ cat /proc/cpuinfo 
# 内存信息 
$ cat /proc/meminfo 
Linux内核信息
$ cat /proc/version 
Linux version 3.11.0-12-generic (buildd@allspice) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu7) ) #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013 
SCSI/Sata设备信息
$ cat /proc/scsi/scsi  
Attached devices: 
.......
  11        0    1048575 sr0 
16. hdparm
hdparm命令可以获取sata设备如硬盘等设备信息。
$ sudo hdparm -i /dev/sda 
/dev/sda: 
Model=ST3500418AS, FwRev=CC38, SerialNo=9VMJXV1N 
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% } 
.......................................
 * signifies the current active mode 
总结
每一个命令在获取信息的方式会稍微有些不同,在查询某一设备时,你也有可能要结合多个命令才能获取你想要的硬件信息。不过,这些命令都可以在大多数的linux发行版中找到,可以很容易地从默认的仓库中获取安装。
 










