Lesson6 Linux 硬链接与软链接 ln
发布日期:2021-05-07 03:26:08 浏览次数:24 分类:精选文章

本文共 1146 字,大约阅读时间需要 3 分钟。

一、 硬链接:

 1.  硬链接的概念:Linux中文件的存储实际分为 数据区域(data block)和元数据区域 (metadata)。元数据包括比如创建时间、修改时间、文件大小、属主、归属的用户组、读写权限、数据所在block号等,其中inode 也是 元数据 的一部分。

在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都会给它分配一个编号,就是inode,是文件或者目录在一个文件系统中的唯一标识。

使用多个文件名指向同一个inode,这种链接就成为硬链接。( 和 变量名 与 内存地址 的关系异曲同工)

2.  硬链接的特性:

只能对已经存在的文件进行创建,不能交叉文件系统,不能对目录进行创建。(只限同一文件系统中的普通文件)

只要文件的索引节点还有一个以上的链接,只删除其中一个链接并不影响索引节点本身和其他的链接。只有当最后一个链接被删除后,当有新数据要存储到磁盘上时,被删除的文件的数据块及目录的链接才会被释放,空间被新数据暂用覆盖。这样就允许一个文件拥有多个有效路径名,用户就可以建立硬链接到重要的文件,防止“误删”源数据。

3.  硬链接的创建:ln -d filename link   (无选项默认创建硬链接)

对 filea 创建一个硬链接 fileb

 

发现 filea 与 fileb 指向同一个 inode

 删除其中一个硬链接,不影响文件数据

PS:一般情况下,目录的 link 数 = 子目录数 +2   (包括.和..) 

二、 软链接:

1.  软链接的概念:软链接也叫符号链接,类似于windows系统中的快捷方式。

软链接就是一个普通文件,用户数据块中存放的内容是另一文件的路径名的指向,通过这个方式可以快速定位到软连接所指向的源文件实体。软链接可对文件或目录创建。软链接有着自己的 inode 号以及用户数据块。

2.  软链接的特性:

  • 软链接有自己的文件属性及权限等 
  • 可对不存在的文件或目录创建软链接
  • 软链接可交叉文件系统;
  • 软链接可对文件或目录创建;
  • 创建软链接时,链接计数不会增加;
  • 删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接,若被指向路径文件被重新创建,死链接可恢复为正常的软链接。

3.  软链接的创建:ln -s filename link

一旦建立了符号连接,删除操作删除的是符号连接文件,其它所有操作都将访问符号连接所引用的文件。

对 filea 建立一个软链接 text.link

可以看到  text.link 指向文件 filea

可以看到 cat 操作的对象不是 link 文件,而是 filea

 如果有安装桌面程序,将 link 文件移动到桌面,即可像 windows 上一样双击打开

 

上一篇:Lesson7 Linux 文件权限的管理 chmod、umask
下一篇:Lesson5 Linux 文件归档与压缩命令 tar、compress、uncompress

发表评论

最新留言

感谢大佬
[***.8.128.20]2025年03月26日 14时37分20秒