Linux文件链接

Linux系统中链接分为两种:软连接、硬链接,可以使用 ls -l 命令查看文件链接,其中第一列的第一个字符代表的就是文件的类型;而下面紧跟的数字代表文件的连接数,下面为大家详细讲解一下Linux文件链接。

Linux文件链接

链接概念:

   分为软链接和硬链接,文件类型为 l

   硬链接: ln 源文件 目标文件

   软链接: ln -s 源文件 目标文件(目标文件不能事先存在)

 ln -s /root/ /tmp/root    # 给 /root 目录创建一个软链接到 /tmp目录下
 
 readlink /tmp/root        # 指出链接链向地址
 
 touch test.sh    # 创建测试数据
 
 ln test.sh /tmp/test.sh    # 创建硬链接
 
 ll -i test.sh  /tmp/test.sh     # 检查两个文件的i节点

  img

硬链接:

  硬链接是通过索引节点来进行链接,在linux系统中,多个文件名指向同一个索引节点是正常且允许的,这种情况的文件被称为硬链接,硬链接相当于文件的另外一个入口,建立硬链接防止误删,有备份作用

 ln /etc/hosts /tmp/oldboy.host      #对于这个文件,创建一个硬链接,也可以说创建了一个文件新的入口 /tmp/oldboy.host

链接知识总结:

  1. 具有相同inode节点号的多个文件互为硬链接文件,创建了硬链接相当于文件实体多了入口

  2. 只有删除源文件及对应的所有对应的硬链接文件,文件实体才会被删除,删除源文件的其中一个或几个硬链接,文件实体不会删除。当删除成功时候,该文件位置没有被重新占用或fsck检查之前,文件数据是有可能恢复

  3. 通过给文件创建硬链接,防止重要文件被误删

  4. 硬链接文件时普通文件,可以被rm删除

  5. 静态文件(没有进程进行调用), i_link 为0的时候,文件将被删除

  6. 删除源文件,软链接文件依旧存在,但是找不到文件,会红白闪烁

  7. 多个软链接指向同一个文件,单这些软链接inode不同,属于不同文件

  8. 软链接的文件类型为l,硬链接文件类型和源文件一样

对文件链接:

  1. 文件可以创建硬链接,增加了文件的入口,但是创建硬链接不能跨分区

  2. 文件可以创建软链接,但只能在同级目录,出来同级目录失效

  3. 其实文件名本身就是个硬链接,也是文件入口

对于目录链接

  1. 目录不能创建硬链接,目录可以创建软链接

  2. 目录的软链接在生产场景经常使用,硬链接少用

  3. 每个目录下都会有两个硬链接, . 当前目录, .. 上级目录

链接总结:

  img

  1. 为文件创建硬链接,增加文件读数据入口;为目录创建软链接,可以直接通过软链接进入目录

  2. 删除源文件名,只要还有该源文件的硬链接在,通过硬链接还是可以访问到数据,并没有被删除,为什么?

   img

    当 i_link = 0 和 i_count = 0 的时候,就像把文件数据关进了小黑屋,被回收了,就删除了

  3. 删除软链接,对源文件没有任何的影响,删除源文件名,指向该源文件的软链接失效

  4. 硬链接 指向的inode相同,软链接有自己的 inode 和block

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

137e00002230ad9f26e78-265x300

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部