zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    程序运行bug查看
    c# webbrowser 的html调用js出错
    c# dll使用注意
    支持ie的时间控件 html
    sql 条件插入
    软件自动更新原理
    c# 数组不能直接=,需要clone
    打包成exe程序
    逆袭大学
    Heritage from father
  • 原文地址:https://www.cnblogs.com/sunada2005/p/3041859.html
Copyright © 2011-2022 走看看