「这是我参与11月更文挑战的第1天,活动详情查看:2021最后一次更文挑战」。
Linux中的软硬链接
软链接指向文件,其保存的是路径,硬链接则是创建一个inode指向某个数据区块,所以删除源文件后软链接会提示访问不了该文件,硬链接的话还能访问。
其实Linux中的链接类似于Windows中的快捷方式,不过具体的话还是有一些偏差。Linux 中常用它来解决一些库版本的问题,通常也会将一些目录层次较深的文件链接到一个更易访问的目录中。
软链接
软链接保存了其代表的文件的绝对路径,是另外一种文件,在硬盘上有独立的区块,访问时替换自身路径。软链接在源文件被删除后就会失效,而且软链接占用的空间大小一般和设定的软链接的名字长度有关,因为其记录的就是一个源文件的路径。
此外软链接可以跨文件系统,可以对目录进行链接,而且可以对一个不存在的文件名进行链接。
硬链接
硬链接的话和其类似于一个指向源文件inode的指针,指向硬盘中的文件,所以源文件如果被删除了,硬链接不会失效。
创建了一个硬链接,只相当于创了一个目录块,存储具体内容的数据块没有改变,只是多了一个对他的引用。如上图所示,其文件大小和源文件大小一致,此外其引用为2,代表该块区域被两个节点引用,现在我们再加一个硬链接,得到结果如下图,我们可以发现其引用变成了3,而当引用变为0的时候磁盘才会把该区域给真正删除,这也是为什么源文件删除了,但是硬链接还能访问到文件的原因。
结语
以上便是这一次要介绍的软硬链接,感觉有用的话可以点个赞哦!