详解软链接和硬链接-流年似水

Windows Windows 2个月前 (08-15) 9次浏览 未收录 0个评论 扫描二维码

区分软链接和硬链接前先来学习下i节点和block数据块 一块分区要想使用需要做2步操作: ?1、将分区分成等大小的block块,一般为4k,用来记录文件的数据 ?2、在分区起始位置建一个i节点表,里面包含文件元数据(
-rw-r--r--. 1 root root 0 May 19 14:53 f1 文件类型、权限、所属着、创建时间等)和inode节点号,在同一个分区中i节点是唯一的,每一个文件都有不同的i节点。 访问一个文件需要先查找i节点表,然后寻找数据块。假设有一个dir文件夹,下面有file1、file2,dir对应的数据块中保存的只有file1、file2的名称和i节点,其数据有file1、file2对应i节点去数据块中搜索。一个目录是目录下的文件名和文件inode号之间的映射
详解软链接和硬链接-流年似水 硬链接:

[root@centos1 data]#ln txt txt.hard # 创建硬链接
[root@centos1 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号之间的映射,如果子目录对父目录设置硬链接会产生递归,硬链接不能对目录使用 软链接或者叫做符号链接:

[root@centos1 data]#ln -s txt txt.soft #创建软链接
[root@centos1 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
[root@centos1 data]#echo 111 >> txt.soft
[root@centos1 data]#cat txt.soft 
12312xxx
111
[root@centos1 data]#cat txt
12312xxx
111

详解软链接和硬链接-流年似水

可以看到软链接和原文件inode不一样,他们是不同文件,修改软链接原文件也改变,删除原文件软链接不可用,作用类似windows中的快捷方式,一个符号链接的内容是它引用文件的名称可以对目录进行 可以跨分区 指向的是另一个文件的路径; 其大小为指向的路径字符串的长度;不增加或减少目标文件inode的引用计数

软链接访问文件 –> 链接文件对应的inode –>链接文件的block记录的是源文件的inode –> 源文件inode –> 源文件数据

总结硬链接和软链接区别 本质:硬链接:同一个文件多个名字,软链接是不同文件 能否跨分区: 软链接可以跨分区 能否用于目录:软连接可用于目录 inode号:硬链接inode相同,软链inode不同 链接数:创建硬链接会增加链接数 文件类型 :软链接是链接文件,硬链接是普通文件 相对路径:软件链接相对路径是相对链接文件路径,不是相对当前目录的路径 可参考截图file1在/目录下
详解软链接和硬链接-流年似水

喜欢 (0)
[]
分享 (0)
关于作者:
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址