在Linux根目录下创建一个文件夹myusr,流程上和你去登记户口一样的:一个人出生后,会有一个唯一的身份z号码,来标识你,伴随你一生,哪怕后面你改名字、改性别、改年龄,身份zID都是不变的。同样的道理,你创建一个文件,内核也会用一个唯一的ID来标识它,文件创建成功后,无论你如何修改文件名,修改文件的读写权限,修改文件的时间戳,标识这个文件的ID也是不变的,是固定死的。
内核一般会使用一个inode结构体来标识这个文件,在这个inode结构体中,存放了文件的各种信息:文件大小、文件权限、文件的创建者、文件数据在磁盘上的存储地址。所有文件的inode存放到磁盘的一个固定区域:inode table,这个区域是在格式化磁盘的时候创建的,inode table中的inode的个数决定了你在这个磁盘分区(使用文件系统格式化后的)上能创建文件的最大个数。
linux中有UUID,保存在文件/sys/class/dmi/id/product_uuid中,可以使用cat等命令查看,如:
sudo cat /sys/class/dmi/id/product_uuidUUID说明:
UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的API。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。
UUID由以下几部分的组合:
(1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。
(2)时钟序列。
(3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。
UUID的唯一缺陷在于生成的结果串会比较长。关于UUID这个标准使用最普遍的是微软的GUID(Globals Unique Identifiers)。在ColdFusion中可以用CreateUUID()函数很简单地生成UUID,其格式为:xxxxxxxx-xxxx- xxxx-xxxxxxxxxxxxxxxx(8-4-4-16),其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。而标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12),可以从cflib 下载CreateGUID() UDF进行转换。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)