/dev/sda1: LABEL="/axs3" UUID="298d198d-aa60-48af-a9f4-638f8f274afa" SEC_TYPE="ext2" TYPE="ext3"
2) # tune2fs -l /dev/sda1 |grep 'UUID'
298d198d-aa60-48af-a9f4-638f8f274afa
3)# ls -l /dev/disk/by-uuid/ |grep sda1 |awk '{print $8}'
298d198d-aa60-48af-a9f4-638f8f274afa
4)#scsi_id -p 0x80/0x83 -s /block/sda1 应该只对SCSI设备有效。
5)# dumpe2fs /dev/sda1 |grep 'UUID'
dumpe2fs 1.39 (29-May-2006)
Filesystem UUID: 298d198d-aa60-48af-a9f4-638f8f274afa
这个命令不建议使用,要是分区比较大,耗时还是比较长的
6)# vol_id /dev/sda1 |grep 'UUID'
ID_FS_UUID=298d198d-aa60-48af-a9f4-638f8f274afa
ID_FS_UUID_ENC=298d198d-aa60-48af-a9f4-638f8f274afa
2、代码生成UUID/GUID(inux & Windows)
请见如下相关文章:
boost uuid: http://blog.csdn.net/ghlfllz/article/details/16881179
uuid in linux vs uuid in window[Parser]: http://http//blog.csdn.net/ghlfllz/article/details/6876181
各种OS中生成UUID的方法: http://linfan.info/blog/2012/04/20/uuid/
GUID是微软对Distributed coumputing environment (DCE) universally unique identifier 的实现,而在Linux下则称作UUID。
通用的GUID的结构如下
typedef struct _GUID {
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data4[8];
} GUID;
举一个例子:
假设一个GUID的格式是这样的 6B29FC40-CA47-1067-B31D-00DD010662DA
其中Data1 是32位,可以看做8个四位十六进制数,对应于上面的6B29FC40
其中Data2 是16位,可以看做4个四位十六进制数,对应于上面的CA47
其中Data3 是16位,可以看做4个四位十六进制数,对应于上面的1067
其中Data4 比较特殊,是8个字节也就可以看做16个四位十六进制数
取其Data4[0],Data4[1]来组成4个四位十六进制数,对应于上面的B31D
取其Data4[2],Data4[3]来组成4个四位十六进制数,对应于上面的00DD
取其Data4[4],Data4[5]来组成4个四位十六进制数,对应于上面的0106
取其Data4[6],Data4[7]来组成4个四位十六进制数,对应于上面的62DA
*注意:四位十六进制数对应一个GUID字符。
具体代码:
#include <string>
#include <stdio.h>
#include <iostream>
using namespace std;
#ifdef WIN32
#include <objbase.h>
#else
#include <uuid/uuid.h>
#endif
GUID CreateGuid()
GUID guid;
#ifdef WIN32
CoCreateGuid(&guid);
#else
uuid_generate(reinterpret_cast<unsigned char *>(&guid));
#endif
return guid;
std::string GuidToString(const GUID &guid)
char buf[64] = {0};
#ifdef __GNUC__
snprintf(
#else // MSVC
_snprintf_s(
#endif
sizeof(buf),
"{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
guid.Data1, guid.Data2, guid.Data3,
guid.Data4[0], guid.Data4[1],
guid.Data4[2], guid.Data4[3],
guid.Data4[4], guid.Data4[5],
guid.Data4[6], guid.Data4[7]);
return std::string(buf);
}
请注意:
windows下需要引用 ole32.lib
在linux下编译时需要链接uuid库(-luuid)
3、参考文章
硬盘分区的UUID(推荐先看该文章)
http://blog.csdn.net/smstong/article/details/46417213
windows 7/2008 查看uuid
http://blog.sina.com.cn/s/blog_483180590100zhn5.html
设备的UUID详解
http://www.51testing.com/html/38/225738-241247.html
Linux & Windows上生成UUID/GUID
http://blog.csdn.net/ghlfllz/article/details/17128393
UUID详解
http://blog.chinaunix.net/uid-26495963-id-3150576.html
1、命令获取uuid1.1、windows系统中获取设备的UUID的方法:在命令提示符下输入wmic 再输入csproduct 或 csproduct list fullwmic:rootcli>csproduct list fullDescription=计算机系统产品IdentifyingNumber=*****Name=*****SKUNumber=UUID=8
Window和
Linux
系统下
获取
U盘
UUID
前言一.Window系统下
获取
U盘
UUID
二.
Linux
系统下
获取
U盘
UUID
方法
一
方法
二
方法
三
①U盘每次格式化后会重新获得
UUID
。
②U盘
UUID
一般是8位字符串。
一.Window系统下
获取
U盘
UUID
找到U盘的盘符(e.g. C/D/E/F…);
打开cmd窗口(按“Win+R”,输入“cmd”,点击“运行”);
在窗口输入盘符+冒号,例如盘符为x,输入“x:”;
继续输入“vol”,就能拿到8位
UUID
值。
UUID
含义是通用唯一识别码 (Universally Unique Identifier),通俗一点就是一个不重复的字符串,有时会把
UUID
作为数据库的一个主键,这样就不用担心主键重复的问题。
SAP中有个专门生成CL_SYSTEM_
UUID
,提供了4个静态
方法
创建生成不同类型的
UUID
:2进制,16进制,64位以及32位
uuid
。
也可以进行不同类型
UUID
之间的相互转换。
UUID
由以下几部分的组合:
(1)当前日期和时间,
UUID
的第一个部分与时间有关,如果你在生成一个
UUID
之后,过几秒又生成一个
UUID
,则第一个部分不同,其余相同。
(2)时钟序列。
(3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。
UUID
的唯一缺陷在于生成的结果串会比较长。关于
UUID
这个标准使用最普遍的是微软的GUID(Globals Unique Identifiers)。在ColdFusion中可以用Create
UUID
()函数很简单地生成
UUID