什么是Linux *** 作系统文件链接

什么是Linux *** 作系统文件链接,第1张

链接是指在电子计算机程序的各模块之间传递参数和控制命令,并把它们组成一个可执行的整体的过程。为解决文件的共享使用,Linux系统中将链接分为两种:一种是硬链接,另一种是符号链接,又叫做软链接,接下来我们看看相关的内容介绍。

硬链接

硬链接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号。在Linux中,多个文件名指向同一索引节点是存在的,比如A和B的硬链接,则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问。

硬链接的作用是允许一个文件拥有多个有效路径名,这样用户可以建立硬链接到重要文件,以防止误删的功能。其原因是因为对应目录的索引节点有一个以上的链接。只删除一个链接并不影响索引节点本身和其它的链接,只有当最后一个链接被删除后,文件的数据块及目录的链接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬链接文件均被删除。

软链接

软链接也被称之为符号链接,也叫做软链接。软链接文件类似于Windows的快捷方式,它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。比如:A是B的软链接,A的目录项中的inode节点号与B的目录项中的inode节点号不相同,A和B指向的是两个不同的inode,继而指向两块不同的数据块。但是A的数据块中存放的只是B的路径名。A和B之间是主从关系,如果B被删除了,A仍然存在,但指向的是一个无效的链接。

由 1 号inode 读取到连结档的内容仅有档名,根据档名链接到正确的目录去取得目标文件的inode ,

最终就能够读取到正确的数据了。

创建软连接,从下图可以看出软连接的大小是11个字节,对比/etc/passwd和passwdlns可知他们不是同一个文件。

对指向文件的的软连接 :使用cp oldfilename newfilename ,是对软连接指向的文件进行复制,属性和大小都和指向文件相同。

如果只是想复制软连接可以使用:cp -d filename1 filename2

复制指向目录的软连接 :

使用cp -r dir1 dir2 可以看出对于指向目录的软连接的复制是对软连接复制的。

如果我就是相同过软连接复制目录下的全部文件,该如何呢?

使用rm删除文件结果如下,可以看到删除的是软连接文件。

使用rm删除软连接指向的源文件,赶紧将备份的passwd文件还原。

对于目录的删除是对软连接进行删除还是目标目录:

在目录后不加/是对软连接进行 *** 作:

在目录后加上/是对连接目录进行删除:下图可以看出/tmp/testdir的大小已经变成了6了,删除了目录里的全部文件。

对软连接改变权限会对源文件有什么样的影响 :不管是文件软连接还是目录软连接,对软连接进行修改权限,修改的是目标文件和目录的权限


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/5930684.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-08
下一篇 2023-03-08

发表评论

登录后才能评论

评论列表(0条)

保存