通常,你也许不需要知道你使用了什么样的硬件 — 你也许拥有的是一台来自比较小一点公司的组装机或者一台二手机。本月,我将介绍你可以用来查看你安装的硬件的工具。 第一步,使用lshw — 列举硬件工具。如果你使用普通用户执行,它会警告你需要使用root执行。因此,以sudo lshw执行。你将可以看到屏幕上显示你系统的信息。第一段将是常规信息,看起来就像下面这样:

jbernard-eeepc
 description: Notebook
 product: 700
 vendor: ASUSTeK Computer INC.
 version: 0129
 serial: EeePC-1234567890
 width: 32 bits
 capabilities: smbios-2.5 dmi-2.5 smp-1.4 smp
 configuration: boot=normal chassis=notebook
 cpus=1 uuid=XXXXXX-XXXXX-XXXXX-XXXXX

这是我在我的ASUS EeePC执行的结果。你可以看到生产商是ASUSTeK, BIOS的版本是0129, 以及这是一台32位的单一CPU机器。更多的信息以下面的分类来说明:

core
 firmware - motherboard and BIOS information
 cpu - CPU information
  cache - cache information
 memory - memory information
  bank - specific bank memory information
 pci - PCI bus information
  display - PCI display adapter
  multimedia - PCI audio adapter
  pci - other PCI devices
  network - PCI network adapter
 usb - USB devices
 ide - IDE information
  disk - individual disks
  volume - volumes on this disk

对于多少信息可用的想法,以下内存段显示了我的EeePC的内存信息:

*-memory
 description: System Memory
 physical id: 1f
 slot: System board or motherboard
 size: 512MiB
 *-bank
  description: DIMM DDR2 Synchronous 400 MHz (2.5 ns)
  product: PartNum0
  vendor: Manufacturer0
  physical id: 0
  serial: SerNum0
  slot: DIMM0
  size: 512MiB
  width: 64 bits
  clock: 400MHz (2.5ns)

这是一个基本的集中成一个命令的工具,执行一次,它可以得到系统的所有信息。但是,如果你只想知道指定子系统的信息,怎么办呢?其实是有一整套的工具的,当你需要一些指定的信息或者想在一个脚本做一些系统查询时,这些工具将更有用。 你也许只想看看CPU,lscpu工具提供了类似如下的输出:

Architecture: i686
CPU op-mode(s): 32-bit
CPU(s): 1
Thread(s) per core: 1
Core(s) per socket: 1
CPU socket(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 13
Stepping: 8
CPU MHz: 571.427

你可以从中看出生产厂家,是否是32位还是64位的,准确的版本和型号,以及当前CPU频率。 如果你想知道你的显卡是否被X11支持,或者你是否需要第三方驱动,你可以使用lspci。该工具给出了所有插在你的PCI总线的设备的信息。输出类似下面:

00:02.0 VGA compatible controller: Intel Corporation
 Mobile 915GM/GMS/910GML Express Graphics Controller (rev 04)
00:02.1 Display controller: Intel Corporation
 Mobile 915GM/GMS/910GML Express Graphics Controller (rev 04)

这个信息显示了在我的EeePC上的显卡控制器是一个Intel控制器。因此,如果你想,你现在就可以到Google搜索关于你的显卡的信息以及怎样最大限度的配置它。如果你想看看你系统上的USB设备,那么可以使用lsusb。在我的EeePC上,拥有一个SD卡,显示如下:

Bus 001 Device 002: ID 0951:1606 Kingston Technology

如果你对硬盘子系统感兴趣,你可以使用blkid工具来查看。该工具打印出所有可用的文件系统,类似如下的输出:

/dev/sda1: UUID=“XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX” TYPE=“ext2”
/dev/sda2: UUID=“XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX” TYPE=“swap”
/dev/sda3: UUID=“XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX” TYPE=“ext2”
/dev/sdb1: UUID=“XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX” TYPE=“ext2”

用这个工具,你可以了解到什么设备可用以及什么文件系统正用在它们上面。如果你想在*/etc/fstab*里的条目使用UUID,那相关联的UUID是可用的。

现在你知道你的系统使用了什么样的硬件,最后需要检查的是看看是否你的内核实际上正在使用可用硬件。在大部分现在的发行版本中,内核是被编译来使用模块的。你可以使用lsmod命令来查看哪个模块被加载了。你将得到像下面的一个别表:

agpgart  31788 2 drm,intel_agp
lp  7028 0
video  17375 1 i915
output  1871 1 video

你可以看到agpgart模块拥有31788字节的大小,以及被drm和intel_agp模块使用。

现在,希望你可以配置和优化你的硬件,使你最大的使用它们。如果你发现有其他的工具这里没有提到,我很愿意得知它们。