zoukankan      html  css  js  c++  java
  • [转] Linux文件系统之hard link&symbol link

     

    这个图很清楚的表示出硬链接和软链接的方式。

    1.硬链接:

    基本定义:硬链接是有着相同inode号的仅文件名不同的文件(该文件名包含路径信息)。

    理解:如图,hard link和原始file通过同一个inode实现链接。在使用stat/ls -li查看这两个文件名的时候,可以看到他们的inode号是一样的。

    特性:

    文件有相同的inode和data block

    只能对已存在的文件进行创建hard link

    不能交叉文件系统进行创建

    不能对目录进行创建,只能对文件创建

    删除一个hard link文件并不影响其他有相同inode 号的文件,并且该文件也不会被删除,只有等到所有的硬链接都删除了,才删除该inode及其相关data block的信息


    2.软链接:

    基本定义:某文件的数据块中存放的内容是另一文件的路径名的指向(通过实验发现,省去了相同的路径部分)。则该文件就是symbol link。symbol link 有着自己的inode号以及用户数据块。

    理解:如图,symbol link有自己的inode,但是其数据块中的内容是所链接的文件的文件名。

    特性:

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

    相关操作:
    创建硬链接:
    ln 原始文件 硬链接文件
    ln -s 原始文件 软链接文件
    stat或者ls -li 文件名 查看inode号等信息
    find 起始目录 -inum 1000 :从起始目录开始查找inode号为1000的文件
  • 相关阅读:
    oracle重新学习,主要是命令实用,有借鉴其他人博客
    cdn缓存立刻刷新
    python3发送需要双向认证的wss请求
    【2021.08.03】平等交流
    【2021.07.31】正面回应才是面对挑战的最好方式
    【2021.07.28】向晚
    【2021.07.25】过个生日
    【2021.07.17】Asoul——那些无法杀死我的,终会使我变得更加强大
    phaser3微信小游戏2
    eve-ng 配置apache2的虚拟目录
  • 原文地址:https://www.cnblogs.com/qiangxia/p/4365848.html
Copyright © 2011-2022 走看看