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

标识为可预取的的输出行是系统上的显存量

...
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

显存是可预取的值。
显示当前内存使用情况 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 OR 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 - 您
行: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 和全局仅显示
安全颜色集)
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 总线 ID、端口号。
-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
类型(默认值: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 额外的光驱数据; 向光驱添加 rev 版本。
-D 硬盘温度与磁盘数据,如果您安装了 hddtemp,如果您是
root 用户,或者如果您已添加到 /etc/sudoers(sudo v. 1.7 或更高版本)
示例:ALL = NOPASSWD: /usr/sbin/hddtemp
-G 图形(在 X 中)的直接渲染状态。
-G(对于单个 gpu,nvidia 驱动程序)gpu 运行所在的屏幕编号。
-i IPv6 以及 LAN 接口 (IF) 设备。
-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),则为 shell 信息添加父程序(或 tty)。 添加 Init/RC(如果找到)
默认运行级别。 如果不是在 IRC 中(如 Konsole 或 Gterm),则为 shell 信息添加父程序(或 tty)。 添加 Init/RC(如果找到)
版本号。
-m 制造商、序列号、单/双 bank(如果找到)。
-M 机箱信息,bios rom 大小(仅限 dmidecode),如果数据
两者都可用。
-N 每个网卡的芯片供应商:产品 ID。
-R md-raid:超级块(如果存在); 算法,U 数据。 添加系统
信息行(内核支持、预读、raid 事件)。 如果存在,
添加未使用的设备行。 重新同步行,显示进度条。
-S 桌面输出中的显示管理器 (dm)(如果在 X 中)(如 kdm、gdm3、
lightdm)。
-w -W 湿度、气压。
-@ 11-14 自动将调试器数据 tar.gz 文件上传到
ftp.techpatterns.com。 例如:inxi -xx@14
-xxx 显示额外的额外额外数据(仅适用于详细或行输出,
不适用于简短形式)
-m 内存总线宽度、数据和总计(如果存在且大于
数据); 详细信息(如果存在),用于类型; 模块电压(如果
可用)。
-S 桌面输出中的面板/shell 信息(如果在 X 中)(如
gnome-shell、cinnamon、mate-panel)。
-w -W 位置(使用 -z/irc 过滤器)、天气观测时间、风
寒、热指数、露点(显示数据额外的行,其中
相关)。
-y 必需的额外选项:整数,80 或更大。 设置输出行
最大宽度。 覆盖 IRC/终端设置或实际宽度。 如果使用
与 -h 一起使用,请将 -y 选项放在首位。 示例:inxi -y 130
-z IP/Mac 地址、位置、用户主目录的安全过滤器
名称。 irc 客户端默认开启。
-Z 输出过滤器的绝对覆盖。 例如,对于调试联网很有用
irc 中的问题。

附加选项
-h --help 此帮助菜单。
-H 此帮助菜单,加上开发者选项。 请勿使用开发者选项
在正常操作中!
--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、磁盘、分区等的数据,外加 xiin 数据文件。
14 所有内容,完整数据收集。

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

与其说是评论,不如考虑将此信息变成 Opensource.com 的一篇文章。

回复 作者 xtotec

有趣的阅读!

谢谢你,Howard。 '让我的工作更轻松了。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.