如果我们有兴趣了解计算机的硬件详细信息,“dmidecode 命令”是 Linux 的首选命令。 硬件信息范围从 BIOS(基本输入/输出系统)信息到内存设备的大小。
当我们跑 dmidecode
在终端上,系统检索 DMI (桌面管理界面)表,其主要目的是为管理软件提供此类关键细节。 在某种程度上,该命令充当 DMI 表的解码器,因此名称为“dmidecode”。
如何运行 dmidecode 命令?
由于序列号和 MAC 地址等硬件信息对系统所有者是机密的,因此此命令需要超级用户权限。 最简单的方法是使用 sudo dmidecode
并输入密码。
另一种方式是切换到root用户 sudo su
或者 sudo -s
. 单击此处了解更多信息 sudo. 输入密码后,终端以root用户运行。 它由主机名前的关键字“root”表示。
标准的 dmidecode 输出是什么样的?
每个表条目都具有以下元素。
DMI 类型
类型编号起着重要作用,因为它可用于通过运行以下命令来提取表中的特定条目。 让我们从基于 dmi 类型使用 dmidecode 命令提取数据开始。
基于DMI类型提取
dmidecode -t 4
每种类型对应于特定类别的信息。 例如,如上图所示,“类型 4”侧重于处理器信息。
有关 DMI 类型的更多信息
要找出类型编号与其分类信息的映射,我们始终可以使用 man 命令参考终端中的手册页。
man dmidecode
向下滚动手册后,您可以找到所有指定的 DMI 类型
使用多种 DMI 类型显示条目
显示多种类型的硬件信息 -t <TYPE NO.>
每次都重复。 例如,要在同一实例中显示底板和机箱信息,我们运行:
dmidecode -t 2 -t 3
或者,
dmidecode -t 2,3
DMI 关键字
除了用 DMI 编号显示详细信息外,我们还可以使用特殊关键字,如“bios”、“memory”等。这可以通过以下方式完成:
dmidecode -t bios
参考上面的DMI Types表,我们可以注意到类型号0和13对应的是BIOS相关信息,因此输出:
为了获得更多关于内置关键字类型的知识,我们可以再次查看手册页。 我们会找到以下关键词:
笔记: dmidecode 中的关键字不区分大小写匹配。 dmidecode -t bios
和 dmidecode -t BiOs
给出相同的输出。 如果提供的参数不是有效的关键字,终端会显示所有有效的关键字。
DMI 字符串
确实还有另一种方法可以显示此类敏感信息——使用字符串。 这些字符串是预定义的并存储一些偏移量,这有助于系统查找其对应的值。 假设我们要检查我们的处理器版本,我们将执行以下命令:
dmidecode -s processor-version
输出:
注意:这些字符串可以根据系统配置提供多个输出。 如果我们输入了一些无效的字符串,终端会显示各种预定义的字符串关键字。
解码另一个设备文件的内容
默认情况下,dmidecode 从 /dev/mem
文件。 想要查询更多的信息。 请参阅此 StackOverflow 问题。 如果我们需要从不同的设备文件解码 DMI 表,我们运行:
dmidecode -d FILENAME
如何转储 dmidecode 数据?
Linux 还提供转储 DMI 表内容的服务,而不是对其进行解码。 此类转储主要用于调试目的,但它也可以帮助我们解码其他系统的 DMI 表。 有两种方法可以使用转储内容 dmidecode
:
十六进制转储 – 此转储的输出包含十六进制格式的数据以及各种字符串。
dmidecode -u -t 0
二进制转储 – 完整的 DMI 表以二进制格式转储到文件中。
dmidecode --dump-bin FILENAME
从二进制转储文件中提取 DMI 数据
您还可以使用以下命令从转储文件中读取二进制数据。
dmidecode --from-dump FILENAME
额外的 dmidecode 命令选项
有一些简单的命令可以使用以下命令提取一些关键信息 dmidecode
.
RAM/s 当前大小:以下命令列出所有内存插槽中的 RAM 大小。
dmidecode -t 17 | grep -i size
笔记: 管道符号 (|
),用于将一个子命令的输出传递给另一个。 在后一个子命令中 grep
是一个搜索工具。 有关详细信息,请参阅此处。
最大内存容量:为了升级系统的RAM,您必须知道系统可以承受的最大容量。 可以通过以下方式知道:
dmidecode -t 16 | grep -i max
核心数和线程数:在多线程环境中,核心数和线程数起着巨大的作用。 为了找出它们的数量,我们运行:
dmidecode -t 4 | grep -iw count
我们总是可以使用“man dmidecode"
对于严谨的细节。 此外,为了理解 dmidecode
选项,您可以输入 "dmidecode -h"
.
结论
我们希望本教程能帮助您详细了解 dmidecode 命令。 不要忘记查看我们最近关于 awk 和 sed 的一些文章。 如果您有任何问题,请随时与我们联系。