Linux命令显示硬件信息

从命令行获取计算机内部的详细信息。
685 位读者喜欢这篇文章。
computer screen

Opensource.com

您可能出于多种原因需要查找计算机硬件的详细信息。 例如,如果您需要帮助解决问题并在在线论坛上发帖求助,人们会立即向您询问有关计算机的具体信息。 或者,如果您想升级计算机,您需要知道您拥有什么以及可以拥有什么。 您需要查询您的计算机以发现其规格。

最简单的方法是使用标准的 Linux GUI 程序

  • i-nex 收集硬件信息,并以类似于 Windows 下流行的 CPU-Z 的方式显示。
  • HardInfo 显示硬件规格,甚至包括一组八个流行的基准测试程序,您可以运行这些程序来衡量系统的性能。
  • KInfoCenterLshw 也显示硬件详细信息,并且在许多软件存储库中可用。

或者,您可以打开机箱并读取磁盘、内存和其他设备上的标签。 或者,您可以进入启动时面板,即所谓的 UEFI 或 BIOS 面板。 只需在启动过程中点击适当的程序功能键即可访问它们。 这两种方法为您提供硬件详细信息,但省略了软件信息。

或者,您可以发出 Linux 命令行。 等等……这听起来很困难。 你为什么要这样做?

有时,通过有针对性的命令行很容易找到特定的信息。 也许您没有可用的 GUI 程序,或者不想安装一个。

使用命令行命令的主要原因可能是编写脚本。 无论您使用 Linux shell 还是另一种编程语言,脚本通常都需要编写命令行。

许多用于检测硬件的命令行命令必须在 root 权限下发出。 因此,切换到 root 用户 ID,或者以普通用户 ID 发出命令,并在前面加上 sudo

sudo <the_line_command>

并响应 root 密码的提示。

本文介绍了许多最有用的系统发现命令行命令。 文末的快速参考图表总结了这些命令。

硬件概述

有几个命令行命令可以为您提供计算机硬件的全面概述。

inxi 命令列出有关您的系统、CPU、图形、音频、网络、驱动器、分区、传感器等的详细信息。 当论坛参与者试图帮助他人解决问题时,他们经常要求提供其输出。 它是解决问题的标准诊断方法

inxi -Fxz

-F 标志表示您将获得完整输出,x 添加详细信息,z 掩盖个人身份信息,例如 MAC 和 IP 地址。

hwinfolshw 命令以不同的格式显示大部分相同的信息

hwinfo --short

或者

lshw -short

这两个命令的长形式会输出详尽但难以阅读的输出

hwinfo

或者

lshw

CPU 详细信息

您可以通过命令行了解有关 CPU 的所有信息。 通过发出 lscpu 命令或其近亲 lshw 来查看 CPU 详细信息

lscpu

或者

lshw -C cpu

在这两种情况下,输出的最后几行列出了 CPU 的所有功能。 在这里您可以查明您的处理器是否支持特定功能。

对于所有这些命令,您可以通过使用 grep 命令解析命令输出,来减少冗长并缩小任何答案到单个细节。 例如,要仅查看 CPU 制造商和型号

lshw -C cpu | grep -i product

要仅查看 CPU 的速度(以兆赫兹为单位)

lscpu | grep -i mhz

或者它的 BogoMips 功率等级

lscpu | grep -i bogo

grep 命令上的 -i 标志只是确保您的搜索忽略它搜索的输出是否为大写或小写。

内存

Linux 命令行使您能够收集有关计算机内存的所有可能详细信息。 您甚至可以确定是否可以在不打开机箱的情况下向计算机添加额外的内存。

要列出每个内存条及其容量,请发出 dmidecode 命令

dmidecode -t memory | grep -i size

有关系统内存的更多详细信息,包括每个 RAM 条的类型、大小、速度和电压,请尝试

lshw -short -C memory

您肯定想知道的一件事是您可以在计算机上安装的最大内存

dmidecode -t memory | grep -i max

现在找出是否有任何空闲插槽可以插入额外的内存条。 您可以通过发出以下命令来完成此操作,而无需打开计算机

lshw -short -C memory | grep -i empty

空响应表示所有内存插槽已在使用中。

确定您拥有的视频内存量需要一对命令。 首先,使用 lspci 命令列出所有设备,并将显示的输出限制为您感兴趣的视频设备

lspci | grep -i vga

标识视频控制器的输出行通常看起来像这样

00:02.0 VGA compatible controller: Intel Corporation 82Q35 Express Integrated Graphics Controller (rev 02)

现在重新发出 lspci 命令,将视频设备号作为选定设备引用

lspci -v -s 00:02.0

标识为prefetchable的输出行是系统上的视频 RAM 量

...
Memory at f0100000 (32-bit, non-prefetchable) [size=512K]
I/O ports at 1230 [size=8]
Memory at e0000000 (32-bit, prefetchable) [size=256M]
Memory at f0000000 (32-bit, non-prefetchable) [size=1M]
...

最后,要以兆字节显示当前内存使用情况,请发出

free -m

这告诉您有多少内存是空闲的,有多少内存正在使用,交换区的大小以及是否正在使用。 例如,输出可能如下所示

              total        used        free     shared    buff/cache   available
Mem:          11891        1326        8877      212        1687       10077
Swap:          1999           0        1999

top 命令为您提供有关内存使用的更多详细信息。 它显示当前的整体内存和 CPU 使用情况,还可以按进程 ID、用户 ID 和正在运行的命令对其进行细分。 它显示全屏文本输出

top

磁盘、文件系统和设备

您可以轻松确定您希望了解的有关磁盘、分区、文件系统和其他设备的任何信息。

要显示描述每个磁盘设备的单行

lshw -short -C disk

使用以下命令获取有关任何特定 SATA 磁盘的详细信息,例如其型号和序列号、支持的模式、扇区数等

hdparm -i /dev/sda

当然,如果需要,您应该将 sda 替换为 sdb 或其他设备助记符。

要列出所有具有所有已定义分区的磁盘,以及每个分区的大小,请发出

lsblk

有关更多详细信息,包括扇区数、大小、文件系统 ID 和类型,以及分区起始和结束扇区

fdisk -l

要启动 Linux,您需要识别可挂载的分区到 GRUB 引导加载程序。 您可以使用 blkid 命令找到此信息。 它列出了每个分区的唯一标识符 (UUID) 及其文件系统类型(例如,ext3 或 ext4)

blkid

要列出已挂载的文件系统、其挂载点以及每个文件系统已使用和可用的空间(以兆字节为单位)

df -m

最后,您可以使用以下命令列出所有 USB 和 PCI 总线和设备的详细信息

lsusb

或者

lspci

网络

Linux 提供了大量的网络命令行命令。 这里只是一些。

要查看有关网络卡的硬件详细信息,请发出

lshw -C network

传统上,显示网络接口的命令是 ifconfig

ifconfig -a

但现在很多人使用

ip link show

或者

netstat -i

在阅读输出时,了解常见的网络缩写很有帮助

缩写 含义
lo 环回接口
eth0enp* 以太网接口
wlan0 无线接口
ppp0 点对点协议接口(由拨号调制解调器、PPTP VPN 连接或 USB 调制解调器使用)
vboxnet0vmnet* 虚拟机接口

此表中的星号是通配符,用作系统与系统之间出现的任何字符系列的占位符。

要显示您的默认网关和路由表,请发出以下任一命令

ip route | column -t

或者

netstat -r

软件

让我们以两个显示低级软件详细信息的命令结束。 例如,如果您想知道是否安装了最新的固件怎么办? 此命令显示 UEFI 或 BIOS 的日期和版本

dmidecode -t bios

内核版本是什么?它是 64 位的吗? 网络主机名是什么? 要找出答案,请发出

uname -a

快速参考图表

此图表总结了本文中介绍的所有命令

显示有关所有硬件的信息 inxi -Fxz              --或者--

hwinfo --short     --或者--

lshw -short
显示所有 CPU 信息 lscpu                  --或者--

lshw -C cpu
显示 CPU 功能(例如,PAE、SSE2) lshw -C cpu | grep -i capabilities
报告 CPU 是 32 位还是 64 位 lshw -C cpu | grep -i width
显示当前内存大小和配置 dmidecode -t memory | grep -i size    --或者--

lshw -short -C memory
显示硬件的最大内存 dmidecode -t memory | grep -i max
确定内存插槽是否可用 lshw -short -C memory | grep -i empty

(空答案表示没有可用的插槽)
确定视频内存量 lspci | grep -i vga

然后使用设备号重新发出;

例如: lspci -v -s 00:02.0

VRAM 是prefetchable值。
显示当前内存使用情况 free -m    --或者--

top
列出磁盘驱动器 lshw -short -C disk
显示有关特定磁盘驱动器的详细信息 hdparm -i /dev/sda

(如有必要,替换sda
列出有关磁盘和分区的信息 lsblk (简单)      --或者--

fdisk -l (详细)
列出分区 ID (UUID) blkid
列出已挂载的文件系统、其挂载点、

以及每个文件系统已使用和可用的兆字节数
df -m
列出 USB 设备 lsusb
列出 PCI 设备 lspci
显示网卡详细信息 lshw -C network
显示网络接口 ifconfig -a       --或者--

ip link show   --或者--

netstat -i
显示路由表 ip route | column -t  --或者--

netstat -r
显示 UEFI/BIOS 信息 dmidecode -t bios
显示内核版本、网络主机名等 uname -a

您是否有我遗漏的最喜欢的命令? 请添加评论并分享。

接下来阅读什么
标签
User profile image.
Howard Fosdick 是一位独立顾问,以 DBA/SA 的身份进行实践。他撰写了多本技术书籍、许多文章,并且是一位受欢迎的会议演讲者。

5 条评论

超级有帮助!恭喜 :)

你好,
inxi 似乎是一个非常有用的集成脚本,用于获取各种 Linux 系统信息。

# inxi -V
inxi 2.2.21-00 (2015-05-13)
程序位置:/usr/local/sbin
网站:http://inxi.googlecode.com
IRC:irc.oftc.net 频道:#smxi
论坛:http://techpatterns.com/forums/forum-33.html

inxi - 用于控制台和 IRC 的通用、可移植的系统信息工具。

此程序最初是 Infobash 3.02 的一个分支。
版权 (C) 2005-2007 Michiel de Boer a.k.a. locsmif。
后续更改和修改(在 Infobash 3.02 之后)
版权 (C) 2008-2015 Harald Hope, Scott Rogers, aka h2 &trash80。

#inxi -h

inxi 支持以下选项。您可以将它们组合在一起,或逐个列出。
示例:inxi -v4 -c6 或 inxi -bDc 6。如果您在没有任何参数的情况下启动 inxi,它将显示简短形式。
参数,它将显示简短形式。

如果未使用 -F、-b 或 -v,则以下选项将仅显示选项
行:A、C、D、G、I、M、N、P、R、S、f、i、m、n、o、p、l、u、r、s、t - 您
可以单独或一起使用它们,以仅显示您想看到的行。如果
您将它们与 -v [级别]、-b 或 -F 一起使用,它将显示该的完整输出
行以及所选详细级别的输出。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
输出控制选项
-A 音频/声卡信息。
-b 基本输出,简短形式。类似于 inxi -v 2,仅减去硬盘驱动器名称。
-c 颜色方案。需要方案编号。颜色选择器运行一个颜色
选择器选项在 inxi 启动之前,允许您设置配置
文件选择的值。
支持的颜色方案:0-32 示例:inxi -c 11
每种类型显示器的颜色选择器(注意:irc 和 global 仅显示
安全颜色集)
94 控制台,在 X 之外
95 终端,在 X 中运行 - 比如 xTerm
96 GUI IRC,在 X 中运行 - 比如 Xchat、Quassel、Konversation 等。
97 控制台 IRC 在 X 中运行 - 比如 xTerm 中的 irssi
98 控制台 IRC 不在 X 中
99 全局 - 覆盖/删除所有设置。设置特定删除
全局。
-C CPU 输出,包括每个 CPU 的时钟速度和最大 CPU 速度(如果
可用)。
-d 光驱数据。与 -Dd 相同。另请参见 -x 和 -xx。
-D 完整硬盘信息,不仅包括型号,即:/dev/sda ST380817AS 80.0GB。
另请参见 -x 和 -xx。磁盘总已用百分比包括交换分区
大小。
-f 所有 CPU 标志,触发 -C。不与 -F 一起显示以避免垃圾邮件。ARM
CPU 显示“特性”。
-F inxi 的完整输出。包括所有大写字母行,加上 -s 和
-n。不显示额外的详细选项,如 -d -f -l -m -o -p -r -t -u
-x
-G 显卡信息(卡、显示服务器类型/版本、
分辨率、glx 渲染器、版本)。
-i Wan IP 地址,并显示本地接口(需要 ifconfig 网络
工具)。与 -Nni 相同。出于用户安全原因,不与 -F 一起显示,您
不应粘贴您的本地/wan IP。
-I 信息:进程、正常运行时间、内存、irc 客户端(或 shell 类型)、
inxi 版本。
-l 分区标签。默认值:短分区 -P。对于完整 -p 输出,使用
-pl(或 -plu)。
-m 内存(RAM)数据。物理系统内存阵列、容量、多少个
支持的设备(插槽)和单个内存设备(内存条
等)。对于设备,显示设备定位器、大小、速度、类型
(比如:DDR3)。另请参见 -x、-xx、-xxx
-M 机器数据。主板、Bios,如果存在,则显示系统构建器(比如
联想)。没有所需 /sys 数据的较旧系统/内核可以使用
dmidecode 代替,以 root 身份运行。可以使用 -! 33 强制使用 Dmidecode
-n 高级网卡信息。与 -Nn 相同。显示接口、速度、
mac id、状态等。
-N 网卡信息。使用 -x,显示 PCI BusID,端口号。
-o 未挂载的分区信息(包括 UUID 和 LABEL,如果可用)。
如果您安装了文件,则显示文件系统类型,如果您是 root 用户或者
如果您已添加到 /etc/sudoers(sudo v. 1.7 或更高版本)
示例:ALL = NOPASSWD: /usr/bin/file
-p 完整分区信息(-P 加上所有其他检测到的分区)。
-P 基本分区信息(显示 -v 4 将显示的内容,但没有
额外数据)。显示(如果检测到):/ /boot /home /tmp /usr /var。使用 -p
查看所有已挂载的分区。
-r 发行版存储库数据。支持的存储库类型:APT;PACMAN;PISI;
PORTAGE;PORTS (BSDs);SLACKPKG;URPMQ;YUM;ZYPP。
-R RAID 数据。显示 RAID 设备、状态、级别和组件,以及
使用 -x/-xx 的额外数据。 md-raid:如果设备正在重新同步,则显示重新同步
进度行。
-s 传感器输出(如果已安装/配置传感器):主板/CPU/GPU 温度;
检测到的风扇速度。 GPU 温度仅适用于 Fglrx/Nvidia 驱动程序。 Nvidia
显示 > 1 个屏幕的屏幕编号。
-S 系统信息:主机名、内核、桌面环境(如果在 X 中)、
发行版
-t 进程。需要额外的选项:c(CPU)m(内存)cm(CPU + 内存)。
如果后跟数字 1-20,则显示每个数字的进程数
类型(默认值:5;如果在 IRC 中,最大值:5):-t cm10
确保字母和数字之间没有空格(-t cm10 -
正确,-t cm 10 - 错误)。
-u 分区 UUID。默认值:短分区 -P。对于完整 -p 输出,使用
-pu(或 -plu)。
-v 脚本详细级别。需要详细级别编号。不应
与 -b 或 -F 一起使用
支持的级别:0-7 示例:inxi -v 4
0 简短输出,与:inxi 相同
1 基本详细信息,-S + 基本 CPU + -G + 基本磁盘 + -I。
2 网卡(-N)、机器(-M)数据,显示基本硬盘驱动器
数据(仅名称),以及,如果存在,基本 raid(仅设备,以及
如果未激活,则注明)。类似于:inxi -b
3 高级 CPU(-C)、网络(-n)数据,并打开 -x 高级
数据选项。
4 分区大小/已填充数据 (-P) 对于 (如果存在): /, /home,
/var/, /boot。显示完整磁盘数据 (-D)。
5 声卡 (-A);传感器 (-s)、内存/RAM (-m)、分区
标签 (-l) 和 UUID (-u),光驱的简短形式,标准
raid 数据 (-R)。
6 完整分区 (-p)、未挂载的分区 (-o)、光驱
(-d)、完整 raid;触发 -xx。
7 网络 IP 数据 (-i);触发 -xxx。
-w 本地天气数据/时间。要检查备用位置,请参见
-W。有关其他天气数据选项,请参见 -x、-xx 和 -xxx。
-W 支持的选项:邮政编码;城市、
州/国家;纬度/经度。仅当您想要的天气
在运行 inxi 的机器以外的地方。仅使用 ASCII
字符,将城市/州/国家名称中的空格替换为“+”。
示例:inxi -W new+york,ny
-x 添加以下额外数据(仅适用于详细或行输出,
不是简短形式)
-C CPU 标志、CPU 上的 Bogomips;
-d 额外光驱数据;将修订版本添加到光驱。
-D 如果您已安装 hddtemp,并且您是
root 用户,或者如果您已添加到 /etc/sudoers(sudo v. 1.7 或更高版本),则 HDD 温度与磁盘数据一起显示
示例:ALL = NOPASSWD: /usr/sbin/hddtemp
-G 图形的直接渲染状态(在 X 中)。
-G(对于单个 GPU,nvidia 驱动程序)GPU 正在运行的屏幕编号。
-i LAN 接口 (IF) 设备的 IPv6。
-I 系统 GCC,默认值。 使用 -xx,还会显示其他已安装的 GCC
版本。 如果在控制台中运行,而不是在 IRC 客户端中,则显示 shell
版本号(如果检测到)。 Init/RC 类型和运行级别(如果
可用)。
-m 部件号;最大内存模块大小(如果可用)。
-N -A 版本/端口/驱动程序版本(如果可用),适用于网络/音频;
-N -A -G 网络、音频、图形,显示卡的 PCI 总线 ID/Usb ID 编号。
-R md-raid:显示组件 raid id。添加第二个 RAID 信息行
raid 级别;驱动器上的报告(如 5/5);块;块大小;
位图(如果存在)。重新同步行,显示已同步/总计的块
块。zfs-raid:显示 raid 阵列的完整大小;可用大小;
分配给 RAID 的部分
-S 桌面工具包(如果可用)(仅限 GNOME/XFCE/KDE);内核 gcc
版本
-t 内存使用输出到 CPU (-xt c),以及 CPU 使用输出到内存 (-xt m)。
-w -W 风速和时区(仅限 -w)。
-xx 显示额外的额外数据(仅适用于详细或行输出,而不是
简短形式)
-A 每个音频设备的芯片供应商:产品 ID。
-C 最小 CPU 速度(如果可用)。
-D 磁盘序列号。
-G 每个显卡的芯片供应商:产品 ID。
-I 其他检测到的已安装 GCC 版本(如果存在)。系统
默认运行级别。如果不是
在 IRC 中(如 Konsole 或 Gterm)。添加 Init/RC(如果找到)
版本号。
-m 制造商、序列号、单/双库(如果找到)。
-M 机箱信息、bios rom 大小(仅限 dmidecode),如果数据
任何一个都可用。
-N 每个网卡的芯片供应商:产品 ID。
-R md-raid:Superblock(如果存在);算法、U 数据。添加系统
信息行(内核支持、预读、raid 事件)。如果存在,
添加未使用的设备行。重新同步行,显示进度条。
-S 桌面输出中的显示管理器 (dm),如果在 X 中(如 kdm、gdm3、
lightdm)。
-w -W 湿度、气压。
-@ 11-14 自动将调试器数据 tar.gz 文件上传到
ftp.techpatterns.com。EG: inxi -xx@14
-xxx 显示额外的额外的额外数据(仅适用于详细或行输出,
不是简短形式)
-m 内存总线宽度、数据和总数(如果存在且大于
数据);详情,如果存在,对于类型;模块电压,如果
可用。
-S 桌面输出中的面板/shell 信息,如果在 X 中(如
gnome-shell、cinnamon、mate-panel)。
-w -W 位置(使用 -z/irc 过滤器)、天气观测时间、风
寒、热指数、露点(显示数据额外行
相关的)。
-y 需要额外的选项:整数,80 或更大。设置输出行
width 最大值。覆盖 IRC/终端设置或实际宽度。如果使用
与 -h 一起使用,将 -y 选项放在第一位。 示例:inxi -y 130
-z IP/Mac 地址、位置、用户主目录的安全过滤器
名称。 默认情况下为 IRC 客户端启用。
-Z 输出过滤器的绝对覆盖。 用于调试网络
例如,IRC 中的问题。

其他选项
-h --help 此帮助菜单。
-H 此帮助菜单,外加开发者选项。 请勿在正常操作中使用 dev 选项!
在正常操作中!
--recommends 检查 inxi 应用程序依赖项 + 推荐项,以及
目录,然后显示您需要安装哪些软件包才能
为该功能添加支持。
-U 自动更新脚本。 还会安装/更新手册页。注意:如果
您以 root 身份安装,则必须以 root 身份更新,否则
用户可以。 手册页安装需要 root 用户模式。
-V --version inxi 版本信息。 打印信息然后退出。

调试选项
-% 覆盖缺陷或损坏的数据。
-@ 触发调试器输出。 需要调试级别 1-14(8-10 - 日志记录
的数据)。 小于 8 只是触发屏幕上的 inxi 调试器输出。
1-7 屏幕上的调试器输出
8 基本日志记录
9 完整的文件/系统信息日志记录
10 彩色日志记录。
以下命令创建一个系统数据的 tar.gz 文件,以及将
inxi 输出收集到文件中。 要自动上传调试器数据 tar.gz 文件
至 ftp.techpatterns.com:inxi -xx@ <11-14>
适用于备用 ftp 上传位置
示例:inxi -! ftp.yourserver.com/incoming -xx@ 14
11 带有 /sys 的 xiin 读取的数据文件。
12 带有 xorg conf 和日志数据、xrandr、xprop、xdpyinfo、glxinfo 等。
13 带有来自 dev、disks、partitions 等的数据,以及 xiin 数据文件。
14 所有内容,完整的数据收集。

高级选项
-! 31 关闭输出中的主机名。 如果要显示来自服务器等的输出,则很有用。
-! 32 在输出中打开主机名。 覆盖全局 B_SHOW_HOST='false'
-! 33 强制使用 dmidecode 数据而不是 /sys(如果相关)(-M)。

与其发表评论,或许你应该考虑将这些信息写成 Opensource.com 的文章。

回复 xtotec

有趣的阅读!

谢谢你,Howard。 “让我的生活更轻松。

知识共享许可协议本作品采用知识共享署名-相同方式共享 4.0 国际许可协议授权。
© . All rights reserved.