文章有点长,但列举获取linux系统软硬件信息方法:dmidecode
xsobi 2024-11-24 00:27 1 浏览
简介
dmidecode是一个从DMI表读取数据并以人类可读的格式打印数据的工具。dmidecode也称为桌面管理接口表(Desktop Management Interface table, 简称DMI)解码器。 DMI表包含系统硬件的详细信息,例如序列号、BIOS版本、内存、处理器等。
用户可以在任何Linux系统(如Ubuntu、Linux Mint、Debian、RHEL、CentOS和Fedora) 中使用dmidecode命令。
示例
执行dmidecode需要root权限。dmidecode的基本语法:
$ sudo dmidecode [option]
当dmidecode命令执行成功,将打印下面的详细信息:
Handle:它是允许记录相互引用的唯一标识符。
Type:提供有关计算机的信息,系统、底板、机箱、处理器等。一个数字Value表示每个元素。例如,如果类型为b,则表示该记录包含BIOS信息。
Size:显示每个记录的大小。每条记录包含一个4字节的头(2字节为句柄,1字节为类型,1字节为大小)。记录数据使用其余部分。
Decoded values:它包含信息取决于记录的类型。BIOS信息包括供应商、版本、发布日期、ROM大小等详细信息。
DMI 类型列表
Type Information
--------------------------------------------
0 BIOS
1 System
2 Baseboard
3 Chassis
4 Processor
5 Memory Controller
6 Memory Module
7 Cache
8 Port Connector
9 System Slots
10 On Board Devices
11 OEM Strings
12 System Configuration Options
13 BIOS Language
14 Group Associations
15 System Event Log
16 Physical Memory Array
17 Memory Device
18 32-bit Memory Error
19 Memory Array Mapped Address
20 Memory Device Mapped Address
21 Built-in Pointing Device
22 Portable Battery
23 System Reset
24 Hardware Security
25 System Power Controls
26 Voltage Probe
27 Cooling Device
28 Temperature Probe
29 Electrical Current Probe
30 Out-of-band Remote Access31 Boot Integrity Services
32 System Boot
33 64-bit Memory Error
34 Management Device
35 Management Device Component
36 Management Device Threshold Data
37 Memory Channel
38 IPMI Device
39 Power Supply
40 Additional Information
41 Onboard Devices Extended Information
42 Management Controller Host Interface
1 使用dmidecode从设备文件读取内存
可以使用参数-d 或者 --dev-mem 从设备文件读取内存信息。默认的文件为 /dev/mem。
命令格式:
$ sudo dmidecode -d FILE
或者
$ sudo dmidecode --dev-mem FILE
示例:
yunzhong@iZt4na5bkc7wj6h41i2d35Z:~$ sudo dmidecode -d /dev/mem
... 内容太多,忽略
Handle 0x1000, DMI type 16, 23 bytes
Physical Memory Array
Location: Other
Use: System Memory
Error Correction Type: Multi-bit ECC
Maximum Capacity: 1 GB
Error Information Handle: Not Provided
Number Of Devices: 1
Handle 0x1100, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: Unknown
Size: 1024 MB
Form Factor: DIMM
Set: None
Locator: DIMM 0
Bank Locator: Not Specified
Type: RAM
Type Detail: Other
Speed: Unknown
Manufacturer: Alibaba Cloud
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Rank: Unknown
Configured Memory Speed: Unknown
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown
... 内容太多,忽略
2 列举可用的TYPE 列表
TYPE可以是DMI类型号,也可以是逗号分隔的类型号列表,或者是以下列表中的关键字:bios, system, baseboard(主板),chassis(机箱), processor(处理器), memory(内存), cache(缓存), connector(连接器), slot(插槽)。
示例:
yunzhong@iZt4na5bkc7wj6h41i2d35Z:~$ dmidecode --type sysem
Invalid type keyword: sysem
Valid type keywords are:
bios
system
baseboard
chassis
processor
memory
cache
connector
slot
3 DMI type和type id之间的映射关系
Keyword Types
------------------------------
bios 0, 13
system 1, 12, 15, 23, 32
baseboard 2, 10, 41
chassis 3
processor 4
memory 5, 6, 16, 17
cache 7
connector 8
slot 9
4 通过type ID 显示信息
在前一节中,我们获得了各个受支持类型的TYPE ID。您可以使用-t或——type选项与类型ID一起获取该组件的更多信息。显示指定DMI类型的信息。如果没有提供类型ID或提供的信息无效,则打印有效关键字列表并报错退出。
命令格式:
$ sudo dmidecode -t type_ID
或者
$ sudo dmidecode --type type_ID
示例,获得机箱信息:
yunzhong@iZt4na5bkc7wj6h41i2d35Z:~$ sudo dmidecode --type 3
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.
Handle 0x0300, DMI type 3, 21 bytes
Chassis Information
Manufacturer: Alibaba Cloud
Type: Other
Lock: Not Present
Version: pc-i440fx-2.1
Serial Number: Not Specified
Asset Tag: Not Specified
Boot-up State: Safe
Power Supply State: Safe
Thermal State: Safe
Security Status: Unknown
OEM Information: 0x00000000
Height: Unspecified
Number Of Power Cords: Unspecified
Contained Elements: 0
5 使用TYPE关键字显示系统信息
在上一节,我们使用TYPE ID来获得信息,也可以使用关键字。
命令格式:
$ sudo dmidecode -t keyword
示例:
yunzhong@iZt4na5bkc7wj6h41i2d35Z:~$ sudo dmidecode -t memory
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.
Handle 0x1000, DMI type 16, 23 bytes
Physical Memory Array
Location: Other
Use: System Memory
Error Correction Type: Multi-bit ECC
Maximum Capacity: 1 GB
Error Information Handle: Not Provided
Number Of Devices: 1
Handle 0x1100, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: Unknown
Size: 1024 MB
Form Factor: DIMM
...
6 显示bois信息
命令格式:
$ sudo dmidecode -t bios
或者
$ sudo dmidecode --type bios
示例:
yunzhong@iZt4na5bkc7wj6h41i2d35Z:~$ sudo dmidecode --type bios
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: SeaBIOS
Version: 449e491
Release Date: 04/01/2014
Address: 0xE8000
Runtime Size: 96 kB
ROM Size: 64 kB
Characteristics:
BIOS characteristics not supported
Targeted content distribution is supported
BIOS Revision: 0.0
7 显示系统信息
用户可以使用此命令获取有关系统的制造商、产品名称、版本和序列号的信息。
命令格式:
$ sudo dmidecode -t system
或者
$ sudo dmidecode --type system
示例:
yunzhong@iZt4na5bkc7wj6h41i2d35Z:~$ sudo dmidecode --type system
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.
Handle 0x0100, DMI type 1, 27 bytes
System Information
Manufacturer: Alibaba Cloud
Product Name: Alibaba Cloud ECS
Version: pc-i440fx-2.1
Serial Number: b50ef0de-ce13-4bb1-9530-3018ca8c55ff
UUID: b50ef0de-ce13-4bb1-9530-3018ca8c55ff
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: Not Specified
Handle 0x2000, DMI type 32, 11 bytes
System Boot Information
Status: No errors detected
8 获得主板信息
通过指定type,我们可以查主板信息。
命令格式:
$ sudo dmidecode -t baseboard
或者
$ sudo dmidecode --type baseboard
示例,尴尬的是,阿里云主机貌似没有主板信息:
yunzhong@iZt4na5bkc7wj6h41i2d35Z:~$ sudo dmidecode -t baseboard
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.
9 获得机箱信息
命令格式:
sudo dmidecode -t chassis
示例:
yunzhong@iZt4na5bkc7wj6h41i2d35Z:~$ sudo dmidecode -t chassis
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.
Handle 0x0300, DMI type 3, 21 bytes
Chassis Information
Manufacturer: Alibaba Cloud
Type: Other
Lock: Not Present
Version: pc-i440fx-2.1
Serial Number: Not Specified
Asset Tag: Not Specified
Boot-up State: Safe
Power Supply State: Safe
Thermal State: Safe
Security Status: Unknown
OEM Information: 0x00000000
Height: Unspecified
Number Of Power Cords: Unspecified
Contained Elements: 0
10 dmidecode命令使用DMI字符串关键字显示信息
用户可以使用-s或——string选项指定DMI字符串关键字来显示信息。如果keyword未提供或无效,则打印有效关键字列表并报错退出。
下面的列表是有效的关键字:
bios-vendor
bios-version
bios-release-date
system-manufacturer
system-product-name
system-version
system-serial-number
system-uuid
system-family
baseboard-manufacturer
baseboard-product-name
baseboard-version
baseboard-serial-number
baseboard-asset-tag
chassis-manufacturer
chassis-type
chassis-version
chassis-serial-number
chassis-asset-tag
processor-family
processor-manufacturer
processor-version
processor-frequency
命令格式:
$ sudo dmidecode -s KEYWORD
或者
$ sudo dmidecode --string KEYWORD
示例:
yunzhong@iZt4na5bkc7wj6h41i2d35Z:~$ sudo dmidecode -s bios-vendor
SeaBIOS
yunzhong@iZt4na5bkc7wj6h41i2d35Z:~$ sudo dmidecode -s bios-version
449e491
yunzhong@iZt4na5bkc7wj6h41i2d35Z:~$ sudo dmidecode -s system-version
pc-i440fx-2.1
11 获得bios 版本
使用上面的示例,传递bios-version,可以获得bios版本信息。
yunzhong@iZt4na5bkc7wj6h41i2d35Z:~$ sudo dmidecode -s bios-version
449e491
12 获得bios 发版日期
yunzhong@iZt4na5bkc7wj6h41i2d35Z:~$ sudo dmidecode --string bios-release-date
04/01/2014
13 获得linux硬件的系统产品名称
yunzhong@iZt4na5bkc7wj6h41i2d35Z:~$ sudo dmidecode --string system-product-name
Alibaba Cloud ECS
14 获得linux硬件序列号
yunzhong@iZt4na5bkc7wj6h41i2d35Z:~$ sudo dmidecode --string system-serial-number
b50ef0de-ce13-4bb1-9530-3018ca8c55ff
15 获得处理器信息
yunzhong@iZt4na5bkc7wj6h41i2d35Z:~$ sudo dmidecode --string processor-version
pc-i440fx-2.1
16 获得处理器频率
命令还是这个命令,阿里云并没有返回信息。云计算厂商也真是狗...
yunzhong@iZt4na5bkc7wj6h41i2d35Z:~$ sudo dmidecode --string processor-frequency
Unknown
17 隐藏部分信息
使用-q或——quiet选项可以隐藏输出中的一些信息。隐藏了未知的、不活动的和特定OEM的条目。它也不显示元数据和处理引用。
命令格式:
$ sudo dmidecode -q
或者
$ sudo dmidecode --quiet
示例:
yunzhong@iZt4na5bkc7wj6h41i2d35Z:~$ sudo dmidecode -qt 17
Memory Device
Total Width: Unknown
Data Width: Unknown
Size: 1024 MB
Form Factor: DIMM
Set: None
Locator: DIMM 0
Bank Locator: Not Specified
Type: RAM
Type Detail: Other
Speed: Unknown
Manufacturer: Alibaba Cloud
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Rank: Unknown
Configured Memory Speed: Unknown
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown
yunzhong@iZt4na5bkc7wj6h41i2d35Z:~$ sudo dmidecode -t 17
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.
Handle 0x1100, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: Unknown
Size: 1024 MB
Form Factor: DIMM
Set: None
Locator: DIMM 0
Bank Locator: Not Specified
Type: RAM
Type Detail: Other
Speed: Unknown
Manufacturer: Alibaba Cloud
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Rank: Unknown
Configured Memory Speed: Unknown
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown
18 使用dmidecode命令将信息转储为16进制形式
-u或——dump选项不解码表内容,而是将内容转储为十六进制。每个表项的字符串值以十六进制和ASCII两种方式显示。它对调试很有帮助。
命令格式:
$ sudo dmidecode -u
或者
$ sudo dmidecode --dump
示例:
yunzhong@iZt4na5bkc7wj6h41i2d35Z:~$ sudo dmidecode -ut 3
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.
Handle 0x0300, DMI type 3, 21 bytes
Header and Data:
03 15 00 03 01 01 02 00 00 03 03 03 02 00 00 00
00 00 00 00 00
Strings:
41 6C 69 62 61 62 61 20 43 6C 6F 75 64 00
"Alibaba Cloud"
70 63 2D 69 34 34 30 66 78 2D 32 2E 31 00
"pc-i440fx-2.1"
19 使用dmidecode命令将DMI数据转储到文件中
可以使用此命令将DMI数据转储到二进制格式的文件中。
命令格式:
$ sudo dmidecode --dump-bin filename
示例:
yunzhong@iZt4na5bkc7wj6h41i2d35Z:/tmp$ sudo dmidecode --dump-bin dmitemp
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.
9 structures occupying 429 bytes.
Table at 0x000F5860.
# Writing 429 bytes to dmitemp.
# Writing 31 bytes to dmitemp.
20 使用dmidecode命令从二进制文件中读取数据
上面例子生成的文件,可以通过from-dump读取显示。
命令格式:
$ sudo dmidecode --from-dump filename
示例:
yunzhong@iZt4na5bkc7wj6h41i2d35Z:/tmp$ sudo dmidecode --from-dump dmitemp
# dmidecode 3.2
Reading SMBIOS/DMI data from file dmitemp.
SMBIOS 2.8 present.
9 structures occupying 429 bytes.
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: SeaBIOS
Version: 449e491
...
相关推荐
- 好用的云函数!后端低代码接口开发,零基础编写API接口
-
前言在开发项目过程中,经常需要用到API接口,实现对数据库的CURD等操作。不管你是专业的PHP开发工程师,还是客户端开发工程师,或者是不懂编程但懂得数据库SQL查询,又或者是完全不太懂技术的人,通过...
- 快速上手:Windows 平台上 cURL 命令的使用方法
-
在工作流程中,为了快速验证API接口有效性,团队成员经常转向直接执行cURL命令的方法。这种做法不仅节省时间,而且促进了团队效率的提升。对于使用Windows系统的用户来说,这里有一套详细...
- 使用 Golang net/http 包:基础入门与实战
-
简介Go的net/http包是构建HTTP服务的核心库,功能强大且易于使用。它提供了基本的HTTP客户端和服务端支持,可以快速构建RESTAPI、Web应用等服务。本文将介绍ne...
- #小白接口# 使用云函数,人人都能编写和发布自己的API接口
-
你只需编写简单的云函数,就可以实现自己的业务逻辑,发布后就可以生成自己的接口给客户端调用。果创云支持对云函数进行在线接口编程,进入开放平台我的接口-在线接口编程,设计一个新接口,设计和配置好接口参...
- 极度精神分裂:我家没有墙面开关,但我虚拟出来了一系列开关
-
本内容来源于@什么值得买APP,观点仅代表作者本人|作者:iN在之前和大家说过,在iN的家里是没有墙面开关的。...
- window使用curl命令的注意事项 curl命令用法
-
cmd-使用curl命令的注意点前言最近在cmd中使用curl命令来测试restapi,发现有不少问题,这里记录一下。在cmd中使用curl命令的注意事项json不能由单引号包括起来json...
- Linux 系统curl命令使用详解 linuxctrl
-
curl是一个强大的命令行工具,用于在Linux系统中进行数据传输。它支持多种协议,包括HTTP、HTTPS、FTP等,用于下载或上传数据,执行Web请求等。curl命令的常见用法和解...
- Tornado 入门:初学者指南 tornados
-
Tornado是一个功能强大的PythonWeb框架和异步网络库。它最初是为了处理实时Web服务中的数千个同时连接而开发的。它独特的Web服务器和框架功能组合使其成为开发高性能Web...
- PHP Curl的简单使用 php curl formdata
-
本文写给刚入PHP坑不久的新手们,作为工具文档,方便用时查阅。CURL是一个非常强大的开源库,它支持很多种协议,例如,HTTP、HTTPS、FTP、TELENT等。日常开发中,我们经常会需要用到cur...
- Rust 服务器、服务和应用程序:7 Rust 中的服务器端 Web 应用简介
-
本章涵盖使用Actix提供静态网页...
- 我给 Apache 顶级项目提了个 Bug apache顶级项目有哪些
-
这篇文章记录了给Apache顶级项目-分库分表中间件ShardingSphere提交Bug的历程。说实话,这是一次比较曲折的Bug跟踪之旅。10月28日,我们在GitHub上提...
- linux文件下载、服务器交互(curl)
-
基础环境curl命令描述...
- curl简单使用 curl sh
-
1.curl--help#查看关键字2.curl-A“(添加user-agent<name>SendUser-Agent<name>toserver)”...
- 常用linux命令:curl 常用linux命令大全
-
//获取网页内容//不加任何选项使用curl时,默认会发送GET请求来获取内容到标准输出$curlhttp://www.baidu.com//输出<!DOCTYPEh...
- 三十七,Web渗透提高班之hack the box在线靶场注册及入门知识
-
一.注册hacktheboxHackTheBox是一个在线平台,允许测试您的渗透技能和代码,并与其他类似兴趣的成员交流想法和方法。它包含一些不断更新的挑战,并且模拟真实场景,其风格更倾向于CT...
- 一周热门
- 最近发表
-
- 好用的云函数!后端低代码接口开发,零基础编写API接口
- 快速上手:Windows 平台上 cURL 命令的使用方法
- 使用 Golang net/http 包:基础入门与实战
- #小白接口# 使用云函数,人人都能编写和发布自己的API接口
- 极度精神分裂:我家没有墙面开关,但我虚拟出来了一系列开关
- window使用curl命令的注意事项 curl命令用法
- Linux 系统curl命令使用详解 linuxctrl
- Tornado 入门:初学者指南 tornados
- PHP Curl的简单使用 php curl formdata
- Rust 服务器、服务和应用程序:7 Rust 中的服务器端 Web 应用简介
- 标签列表
-
- grid 设置 (58)
- 移位运算 (48)
- not specified (45)
- patch补丁 (31)
- strcat (25)
- 导航栏 (58)
- context xml (46)
- scroll (43)
- element style (30)
- dedecms模版 (53)
- vs打不开 (29)
- nmap (30)
- webgl开发 (24)
- parse (24)
- c 视频教程下载 (33)
- paddleocr (28)
- listview排序 (33)
- firebug 使用 (31)
- transactionmanager (30)
- characterencodingfilter (33)
- getmonth (34)
- commandtimeout (30)
- hibernate教程 (31)
- label换行 (33)
- curlpost (31)