uuid - Man Page
Universally Unique Identifier Command-Line Tool
Examples (TL;DR)
- Generate a UUIDv1 (based on time and system's hardware address, if present):
uuid
- Generate a UUIDv4 (based on random data):
uuid -v 4
- Generate multiple UUIDv4 identifiers at once:
uuid -v 4 -n number_of_uuids
- Generate a UUIDv4 and specify the output format:
uuid -v 4 -F BIN|STR|SIV
- Generate a UUIDv4 and write the output to a file:
uuid -v 4 -o path/to/file
- Generate a UUIDv5 (based on the supplied object name) with a specified namespace prefix:
uuid -v 5 ns:DNS|URL|OID|X500 object_name
- Decode a given UUID:
uuid -d uuid
Version
OSSP uuid 1.6.2 (04-Jul-2008)
Synopsis
uuid [-v version] [-m] [-n count] [-1] [-F format] [-o filename] [namespace name]
Description
OSSP uuid is a ISO-C:1999 application programming interface (API) and corresponding command line interface (CLI) for the generation of DCE 1.1, ISO/IEC 11578:1996 and IETF RFC-4122 compliant Universally Unique Identifier (UUID). It supports DCE 1.1 variant UUIDs of version 1 (time and node based), version 3 (name based, MD5), version 4 (random number based) and version 5 (name based, SHA-1). Additional API bindings are provided for the languages ISO-C++:1998, Perl:5 and PHP:4/5. Optional backward compatibility exists for the ISO-C DCE-1.1 and Perl Data::UUID APIs.
UUIDs are 128 bit numbers which are intended to have a high likelihood of uniqueness over space and time and are computationally difficult to guess. They are globally unique identifiers which can be locally generated without contacting a global registration authority. UUIDs are intended as unique identifiers for both mass tagging objects with an extremely short lifetime and to reliably identifying very persistent objects across a network.
This is the command line interface (CLI) of OSSP uuid. For a detailed description of UUIDs see the documentation of the application programming interface (API) in uuid(3).
Options
- -v version
Sets the version of the generated DCE 1.1 variant UUID. Supported are version "
1
“, ”3
“, ”4
“ and ”5
“. The default is ”1
".For version 3 and version 5 UUIDs the additional command line arguments namespace and name have to be given. The namespace is either a UUID in string representation or an identifier for internally pre-defined namespace UUIDs (currently known are "
ns:DNS
“, ”ns:URL
“, ”ns:OID
“, and ”ns:X500
"). The name is a string of arbitrary length.- -m
Forces the use of a random multi-cast MAC address when generating version 1 UUIDs. By default the real physical MAC address of the system is used.
- -n count
Generate count UUIDs instead of just a single one (the default).
- -1
If option -n is used with a count greater than
1
, then this option can enforce the reset the UUID context for each generated UUID. This makes no difference for version3
,4
and5
UUIDs. But version1
UUIDs are based on the previously generated UUID which is remembered in the UUID context of the API. Option -1 deletes the remembered UUID on each iteration.- -F format
Representation format for importing or exporting an UUID. The following (case insensitive) format identifiers are currently recognized:
- BIN (binary representation)
This is the raw 128 bit network byte order binary representation of a UUID. Example is the octet stream
0xF8 0x1D 0x4F 0xAE 0x7D 0xEC 0x11 0xD0 0xA7 0x65 0x00 0xA0 0xC9 0x1E 0x6B 0xF6
.- STR (string representation)
This is the 36 character hexadecimal ASCII string representation of a UUID. Example is the string "
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
".- SIV (single integer value representation)
This is the maximum 39 character long single integer value representation of a UUID. Example is the string "
329800735698586629295641978511506172918
".
- -o filename
Write output to filename instead of to stdout.
- -r
This is equivalent to -F BIN.
- -d
Decode a given UUID (given as a command line argument or if the command line argument is "
-
" the UUID is read from stdin) and dump textual information about the UUID.
Examples
# generate DCE 1.1 v1 UUID (time and node based) $ uuid -v1 01c47915-4777-11d8-bc70-0090272ff725 # decode and dump DCE 1.1 v1 UUID (time and node based) $ uuid -d 01c47915-4777-11d8-bc70-0090272ff725 encode: STR: 01c47915-4777-11d8-bc70-0090272ff725 SIV: 2349374037528578887923094374772111141 decode: variant: DCE 1.1, ISO/IEC 11578:1996 version: 1 (time and node based) content: time: 2004-01-15 16:22:26.376322.1 UTC clock: 15472 (usually random) node: 00:90:27:2f:f7:25 (global unicast) # generate DCE 1.1 v3 UUID (name based) $ uuid -v3 ns:URL http://www.ossp.org/ 02d9e6d5-9467-382e-8f9b-9300a64ac3cd # decode and dump DCE 1.1 v3 UUID (name based) $ uuid -d 02d9e6d5-9467-382e-8f9b-9300a64ac3cd encode: STR: 02d9e6d5-9467-382e-8f9b-9300a64ac3cd SIV: 3789866285607910888100818383505376205 decode: variant: DCE 1.1, ISO/IEC 11578:1996 version: 3 (name based, MD5) content: 02:D9:E6:D5:94:67:08:2E:0F:9B:93:00:A6:4A:C3:CD (not decipherable: MD5 message digest only) # generate DCE 1.1 v4 UUID 4 (random data based) $ uuid -v4 eb424026-6f54-4ef8-a4d0-bb658a1fc6cf # decode and dump DCE 1.1 v4 UUID 4 (random data based) $ uuid -d eb424026-6f54-4ef8-a4d0-bb658a1fc6cf encode: STR: eb424026-6f54-4ef8-a4d0-bb658a1fc6cf SIV: 312712571721458096795100956955942831823 decode: variant: DCE 1.1, ISO/IEC 11578:1996 version: 4 (random data based) content: EB:42:40:26:6F:54:0E:F8:24:D0:BB:65:8A:1F:C6:CF (no semantics: random data only)
See Also
Referenced By
ossp-uuid(3), OSSP::uuid(3), uuid-config(1).