当前位置:首页>Linux>linux utmpdump命令分享

linux utmpdump命令分享

  • 2026-08-23 20:31:02
linux utmpdump命令分享

一去不返,便一去不返。

一,什么是utmpdump 

https://man.he.net/man1/uuidparse

uuidparse -- 一个解析唯一标识符的实用程序

uuidparse 是一个用于解析通用唯一标识符(UUID) 的命令行工具。它可以接收来自命令行参数或标准输入的 UUID 字符串(以空白字符分隔),并分析其 变体(variant) 和 类型(type),帮助用户理解 UUID 的生成方式和规范来源。

该工具属于 util-linux 软件包,常用于调试、验证或处理 UUID 相关数据。

二,参数信息

[root@master ~]# uuidparse -h用法: uuidparse [options] <uuid ...>选项: -J, --json              使用 JSON 输出格式 -n, --noheadings       don't print headings -o, --output <list>    COLUMNS to display (see below) -r, --raw              使用原始输出格式 -h, --help             显示此帮助 -V, --version          显示版本可用的输出列:     UUID  unique identifier  VARIANT  variant name     TYPE  类型名称     TIME  时间戳更多信息请参阅 uuidparse(1)。

三,支持的变体(Variants

1、支持的变体(Variants

变体值
说明
NCS
Network Computing System 标识符,最早的 UUID 形式。
DCE
Open Software Foundation (OSF) 的 DCE(Distributed Computing   Environment)UUID。这是目前最常见、符合 RFC 4122 的标准格式。
Microsoft
Microsoft   Windows 平台使用的 GUID(Globally Unique Identifier),与 DCE 兼容但字节序可能不同。
other
未知或无效的变体,通常表示输入格式错误或非标准   UUID。

2、支持的类型(Types)

类型值
说明
nil
全零   UUID(00000000-0000-0000-0000-000000000000),用于表示“无”或“空”标识符。
time-based
基于时间戳的   DCE UUID(版本 1)。
DCE
同 time-based,强调使用 MAC 地址和时间生成(即 RFC   4122 版本 1)。
name-based
基于名称   + MD5 哈希生成的 UUID(RFC 4122 版本 3)。
random
随机生成的   UUID(RFC 4122 版本 4),最常见于现代系统。
sha1-based
基于名称   + SHA-1 哈希生成的 UUID(RFC 4122 版本 5)。
unknown
无法识别的类型,通常因格式错误或版本字段无效导致

3、什么是 UUID 变体(Variant)?

UUID 并非只有一种格式。历史上,不同的组织和系统提出了各自的“唯一标识符”方案。为了兼容和区分这些方案,UUID 标准(尤其是 RFC 4122)引入了 variant 字段 —— 它位于 UUID 的第 9 个字节(即第 17 个十六进制字符,形如 xxxxxxxx-xxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx 中的 N 的高几位)。

通过检查这个字段的二进制位,可以判断该 UUID 属于哪个“变体家族”。以标准 UUID 为例:

[root@master ~]# uuidgen8b169bec-4afb-40b9-aadf-31e682f7f14a                   |                   17位是a'a' 的二进制:1010高两位:10 → 符合 DCE 变体(10xx)因此:variant = DCE    

如何确定是DEC呢

查阅资料可知,变体的可能值:

0xxx → 旧版 NCS(已废弃)10xx → RFC 4122(DCE 变体,常用)110x → 微软 GUID(兼容 RFC 4122)111x → 保留未来使用

17字符
二进制(高两位)
变体类型
8 (1000)
10
RFC   4122
9 (1001)
10
RFC   4122
a (1010)
10
RFC   4122
b (1011)
10
RFC   4122
c (1100)
11
微软   GUID
e (1110)
11
保留未来使用

总结

变体
实际意义
NCS
历史遗留,基本不用
DCE
✅   现代标准 UUID(RFC 4122),最常见
Microsoft
理论存在,字符串形式下通常仍显示为   DCE
other
❌   无效或非标准输入

四,例子

# 基本用法(解析单个 UUID)[root@master ~]# uuidparse 550e8400-e29b-41d4-a716-446655440000UUID                                  VARIANT TYPE       TIME550e8400-e29b-41d4-a716-446655440000  DCE     random     #解析多个 UUID[root@master ~]# uuidparse f47ac10b-58cc-4372-a567-0e02b2c3d479 6ba7b810-9dad-11d1-80b4-00c04fd430c8UUID                                  VARIANT TYPE       TIMEf47ac10b-58cc-4372-a567-0e02b2c3d479  DCE     random     6ba7b810-9dad-11d1-80b4-00c04fd430c8  DCE     time-based 1998-02-05 06:13:53,151182+08:00#使用 JSON 格式输出(-J 选项)[root@master ~]# uuidparse -J 550e8400-e29b-41d4-a716-446655440000{   "uuids": [      {"uuid":"550e8400-e29b-41d4-a716-446655440000""variant":"DCE""type":"random""time":null}   ]}#自定义输出列(-o 选项)[root@master ~]# uuidparse -o UUID,VARIANT,TYPE 550e8400-e29b-41d4-a716-446655440000UUID                                  VARIANT TYPE550e8400-e29b-41d4-a716-446655440000  DCE     random#原始输出格式(-r 选项)[root@master ~]# uuidparse -r 550e8400-e29b-41d4-a716-446655440000UUID VARIANT TYPE TIME550e8400-e29b-41d4-a716-446655440000 DCE random #解析时间戳类型的 UUID[root@master ~]# uuidparse 6ba7b810-9dad-11d1-80b4-00c04fd430c8UUID                                  VARIANT TYPE       TIME6ba7b810-9dad-11d1-80b4-00c04fd430c8  DCE     time-based 1998-02-05 06:13:53,151182+08:00#解析随机生成的 UUID(版本 4)[root@master ~]# uuidparse $(uuidgen | grep -o -E '[0-9a-f-]{36}')UUID                                  VARIANT TYPE       TIME498a06d5-3ca3-45e1-839c-e649a32ddab5  DCE     random     

关键字段说明

  1. VARIANT
    :UUID 的变体类型(通常是 RFC 4122)。
  2. TYPE:UUID 的生成方式,例如:nil (0):全零 UUID。dce_time (1):基于时间戳的 UUID(如 6ba7b810-...)。dce_version4 (4):随机生成的 UUID(如 f47ac10b-...)。
  3. TIME:仅对时间戳类型的 UUID 有效,显示生成时间。

补充说明:

注意事项

  • 输入必须符合标准 UUID 字符串格式(8-4-4-4-12 十六进制,带连字符)。
  • 大小写不敏感(A-F 与 a-f 均可)。
  • 若输入包含无效 UUID,对应行将显示 other / unknown
  • Microsoft GUID 在字节序上可能与标准 UUID 不同,但 uuidparse 按字符串解析,不进行字节序转换。
报告问题与获取软件Bug 反馈:https://github.com/karelzak/util-linux/issues软件来源:uuidparse 属于 util-linux 工具包官方下载地址:https://www.kernel.org/pub/linux/utils/util-linux/作者:Sami Kerola <kerolasa@iki.fi>

五,总结

在日常以下场景中可能用到

  • 验证 UUID 格式:快速判断输入是否为合法 UUID。

  • 分析 UUID 来源:区分是时间生成、随机生成还是基于名称哈希。

  • 自动化脚本处理:结合 -J 或 -r 选项,集成到 CI/CD 或日志分析流程中。

  • 调试系统日志:当系统记录了 UUID 但需了解其生成机制时。

uuidparse 是一个轻量、高效的 UUID 分析工具,能够快速识别 UUID 的变体和类型,适用于开发、运维和安全审计等多种场景。通过灵活的输出格式(表格、JSON、原始文本),能帮助我们无缝集成到各类自动化流程中,是处理 UUID 数据的实用工具。

最后的最后(Last but not least),欢迎交流:

关注公众号留言,或者在下方直接留言:

最新文章

随机文章