【发布时间】:2009-02-20 15:02:13
【问题描述】:
是否有适用于 Unix 和 Windows 的命令行工具使用相同的算法为两个平台创建 GUIDs?
【问题讨论】:
-
在 Windows 中,您可以使用 powershell 执行此操作,如下所示:
[guid]::newguid()
标签: windows unix command-line guid
是否有适用于 Unix 和 Windows 的命令行工具使用相同的算法为两个平台创建 GUIDs?
【问题讨论】:
[guid]::newguid()
标签: windows unix command-line guid
在 Windows XP 中,您可以在命令窗口中使用以下命令。
uuidgen.exe
【讨论】:
uuidgen 在 Windows 中无法开箱即用;它是 Platform SDK / Windows SDK 的一部分。
""C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x64\uuidgen.exe"。这会在每次调用时创建一个新的随机数 (uuidv4) 并将其写入标准输出。
'e2fsprogs' 项目维护 uuidgen 实用程序。
http://e2fsprogs.sourceforge.net/
它已经在任何 Linux/BSD* 发行版上可用。
对于 Windows,我建议安装 Cygwin,'e2fsprogs' 包可以从那里获得!
作为报告 j4y,此实用程序可在 MAC OS 下使用。
只要运行:
$ uuidgen -r # 基于随机的 UUID/GUID $ uuidgen -t # 基于时间的 UUID/GUID【讨论】:
一些有用的知识:
C#中Guid.ToByteArray()的字节顺序和SQL Server GUID类型为:
{ 3, 2, 1, 0, 5, 4, 7, 6, 8, 9, 10, 11, 12, 13, 14, 15 };
使用 SYS_GUID() 创建并存储为 RAW[16] 的 Oracle GUID 是有序的:
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
您可能会发现这个online GUID converter 很方便。我不确定该来源是否可供您自己使用,但应该不难弄清楚。
【讨论】:
我不知道是否有可用的命令行工具,但你可以简单地用 C# 编写一个(它应该与 Mono 一起运行):
class Program
{
static void Main(string[] args)
{
Console.WriteLine(System.Guid.NewGuid().ToString());
}
}
您可以轻松修改程序以更改 GUID 的格式、将其复制到剪贴板或任何适合您需要的内容。
【讨论】:
有很多 online apps 可以做到这一点。
如果你使用的是PHP,可以使用uniqid函数。
我在http://jug.safehaus.org/ 找到了一个纯 Java 程序来执行此操作。这应该可以在任何可以安装 Java 的地方工作。
【讨论】:
如果你在一个已经有 python 的系统上,你可以简单地在命令行上运行它:
python -c 'import uuid; print(uuid.uuid4())'
(Python 预装在许多 Linux 发行版以及 MacOS 上)
【讨论】: