详解软链接和硬链接
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详解软链接和硬链接相关的知识,希望对你有一定的参考价值。
?1、将分区分成等大小的block块,一般为4k,用来记录文件的数据
?2、在分区起始位置建一个i节点表,里面包含文件元数据(
-rw-r--r--. 1 root root 0 May 19 14:53 f1
文件类型、权限、所属着、创建时间等)和inode节点号,在同一个分区中i节点是唯一的,每一个文件都有不同的i节点。
[[email protected] data]#ln txt txt.hard # 创建硬链接
[[email protected] data]#ll -i
total 8
67 -rw-r--r--. 2 root root 9 May 19 15:46 txt
67 -rw-r--r--. 2 root root 9 May 19 15:46 txt.hard
- 使用ll -i可查看文件inode,txt和txt.hard
有相同的节点号,这也是就是说明硬链接和原文件是同一个,相当于一间房子的2个门,删除其中一个不影响里面的数据 - 不同分区同一个inode号对应的文件不同,这就要求硬链接不能跨分区
- 目录存放的是目录下的文件名和文件inode号之间的映射,如果子目录对父目录设置硬链接会产生递归,硬链接不能对目录使用
[[email protected] data]#ln -s txt txt.soft #创建软链接
[[email protected] data]#ll -i
total 4
67 -rw-r--r--. 1 root root 9 May 19 15:46 txt
68 lrwxrwxrwx. 1 root root 3 May 19 16:00 txt.soft -> txt
[[email protected] data]#echo 111 >> txt.soft
[[email protected] data]#cat txt.soft
12312xxx
111
[[email protected] data]#cat txt
12312xxx
111
可以看到软链接和原文件inode不一样,他们是不同文件,修改软链接原文件也改变,删除原文件软链接不可用,作用类似windows中的快捷方式,一个符号链接的内容是它引用文件的名称
可以对目录进行
可以跨分区
指向的是另一个文件的路径;
其大小为指向的路径字符串的长度;不增加或减少目标文件inode的引用计数
软链接访问文件 --> 链接文件对应的inode -->链接文件的block记录的是源文件的inode --> 源文件inode --> 源文件数据
- 总结硬链接和软链接区别
- 本质:硬链接:同一个文件多个名字,软链接是不同文件
- 能否跨分区: 软链接可以跨分区
- 能否用于目录:软连接可用于目录
- inode号:硬链接inode相同,软链inode不同
- 链接数:创建硬链接会增加链接数
- 文件类型 :软链接是链接文件,硬链接是普通文件
- 相对路径:软件链接相对路径是相对链接文件路径,不是相对当前目录的路径 可参考截图file1在/目录下
以上是关于详解软链接和硬链接的主要内容,如果未能解决你的问题,请参考以下文章