• linux的软连接和硬连接


    一、hard link(硬连接或实际连接)

    如图1所示,硬连接文件名指向被连接文件内容对应的inode号。当文件1删除时,因为文件内容1对应的inode号仍有其他的连接,所以文件内容1不会被删除,仍可通过硬连接文件名2来访问。

    从图2可知,文件1和硬连接文件名2均指向同一个inode。

    硬连接不能跨文件系统,不能连接到目录。为什么不能连接到目录呢?这是因为hard link连接到目录时,连接的数据需要连同被连接目录下面的所有数据都建立连接,举例来说,如果要将/etc使用硬连接创建一个/etc_hd的目录时,那么在/etc_hd下面的所有文件名同时都与/etc下面的文件名要创建硬连接,而不仅仅连接/etc_hd和/etc而已。另外,未来如果需要在/etc下面创建新文件,连带的,/etc_hd下面的数据又得要创建一次hard link,因此造成环境相当大的复杂度。所以目前暂不支持硬连接目录。

    图1 硬连接与软连接

    图2 硬连接文件名和原文件名均指向同一个inode

    二、软连接(符号连接)

    如图1所示,软连接文件名指向被连接文件名对应的inode号。当文件1删除时,因为文件内容1对应的inode号没有其他的连接,所以文件内容1将被删除。通过软连接文件名3访问将无法访问原文件的内容。

    从图3可知,文件1和软连接文件名2指向不同的inode。

    图3 软连接文件名和原文件名指向不同的inode

  • 相关阅读:
    自制游戏Zombie代码
    HNOI2020总结
    20200615题解:继续扮演
    20200611题解:树网的核
    历次考试总结
    寒假总结和省选大体规划
    每日总结
    有一种感动叫ACM(记WJMZBMR在成都赛区开幕式上的讲话)
    递推求欧拉函数的最简单的详解
    总结一些好用的C++小技巧
  • 原文地址:https://www.cnblogs.com/sunada2005/p/3041859.html
Copyright © 2020-2023  润新知