• Linux文件属性之软硬连接知识深度详解


    一、链接的概念

           在Linux系统中,链接可分为两种;一种为硬链接(Hard Link),另一个位软连接或符号链接(Symbolic Link or link)。我们在前面讲解过ln这个命令就是创建链接文件的,在默认不带参数的情况下,执行ln命令创建的链接是硬链接。

          如果使用ln -s 创建链接则为软链接,前面文件类型为l(字母为L)的是软链接。

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

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

    1.1 硬链接

          硬链接是指通过索引节点(Inode)来进行链接。在Linux(ext2,ext3,ext4)文件系统中,保存在磁盘分区中的文件不管是什么类型都会给它分配一个编号,这个编号被称为索引节点编号(Index Inode)简称Inode,即在系统中文件的编号。

     硬链接原理图:

    硬链接的创建:

    硬链接是普通文件,因此可以用rm命令删除

    硬链接与复制的区别:

    硬链接是一个文件,复制是不同的文件。

    1.2 软链接

         软链接(Soft Link)也称为符号链接(Symbolic Link)。Linux里的软链接文件就类似与Windows系统中的快捷方式。linux里的软链接文件实际上是一个特殊的文件,文件类型是l。软链接文件实际上可以理解为一个文本文件,这个文件中包含有软链接指向另一源文件的位置信息内容,因此,通过访问这个“快捷方式”就可以迅速定位到软链接所指向的源文件实体。

     从上图可以看到软链接文件的inode不一样,文件类型和权限也不一样。

     

    一道题

     

     解答:

    软链接的创建:

     软链接文件的文件类型为(l),可以用rm命令删除。

    软硬链接的对比:

     由上图可知;

    1、源文件和硬链接的索引节点(inode)相同,和软链接的索引节点不同。

    2、源文件和硬链接的文件类型、权限、个数相同,和软链接的不同。

    1.3链接总结

    文件链接的小结:

    全局结论:删除软链接文件对源文件及硬链接文件无任何影响。

    全局结论:删除硬链接文件对源文件及软链接文件五任何影响。

    全局结论:删除源文件对硬链接没有影响,但是会导致软链接文件失效白字红底闪烁。

    目录链接的小结:

     

     不允许目录创建硬链接:

    一道题:

     1. linux下通过mkdir命令创建一个新目录/dongdaxia/ett ,它的硬链接数是多少,为什么?

    如果在/dongdaxia/ett下面再创建一个目录test。再问/dongdaxia/ett的硬链接数是多少?为什么。

    解答:

    1)

     硬连接数为2,包含本身和  "."

    2)

     

      硬连接数为2,包含本身和  dongdaxia/ett/.  , 还有dongdaxia/ett/test/..

    一道面试题

    官方文档:

  • 相关阅读:
    无线放大器扩展后,无线网络上不了网的问题解决
    可变现净值
    三大PLM厂商
    CF #589 (Div. 2) D. Complete Tripartite 构造
    CF #589 (Div. 2)C. Primes and Multiplication 快速幂+质因数
    BZOJ 4025 二分图 LCT维护最大生成树
    BZOJ3791 作业 动态规划
    luogu 2943 [USACO09MAR]清理Cleaning Up 动态规划
    luogu 4909 [Usaco2006 Mar]Ski Lift 缆车支柱 动态规划
    SP1716 GSS3(线段树+矩阵乘法)
  • 原文地址:https://www.cnblogs.com/dongxu2019/p/11460497.html
Copyright © 2020-2023  润新知