Unix操作系统有很多值得学习的地方,这里我们主要介绍Unix操作系统中的硬链接与符号链接的区别,大家一起来学习下吧!硬链接典型的特征就是,所有文件的i节点号是一样的;硬链接不是文件拷贝,只是增加了一个i节点链接(或者说增加了一个入口指针),所有的硬链接都是权力(权限,大小)均等的,修改任意一个,其他也被修改。
i节点结构中有一个很重要的字段就是链接数。所以删除一个文件,不一定就会真的释放其i节点,删除文件其实是在目录文件中,根据文件名找到对应的i节点,先把i节点链接数减一,再删除目录结构中文件记录,当且仅当i节点接数为0时,才真的释放对应的i节点。
总结一下硬链接与符号链接的区别:
1、硬链接是通过i节点来关联文件;
不同的文件系统都有自己独立的i节点,所以硬链接不能跨越文件系统,不能指向目录;
2、符号链接是通过文件名来关联文件;
即便是原文件删除,符号链接依然可以存在,但是指向是空。只是可以独立于原文件而存在,新建文件后可以自动指向新的文件。符号链接可以跨越文件系统,可以指向目录。
3、硬链接用ln创建,符号链接用ln -s创建;
4、符号链接类似windows里的快捷方式,硬链接有点类似共享;
5、lstat()可以获取链接文件本身的信息,stat()函数获取指向文件的信息。
Unix操作系统的链接的知识,我们就讲解到这里了。
【编辑推荐】