• Linux ln


    1. 简介

      ln 命令用来为文件或目录创建软连接和硬链接,

      命令格式为:ln option   dist    source

      dist 为绝对路径

      Linux中每个文件对应一个存储文件信息的数据结构 inode,文件名相当于指向 inode 的指针;

    2. 硬链接

      为文件创建硬链接就是增加一个指针指向该文件对应的 inode;

      可以为一个文件创建多个硬链接,每个软链接都指向源文件,删除一个硬链接不影响源文件及其他软链接;

      示例:为 a.txt 创建一个硬链接 b.txt,然后向 b.txt 追加信息,然后指向这个 inode 对象的所有文件都发生了变化

      

    2.1 缺点

      不可以在不同文件系统的文件间建立链接;

      只有超级用户才可以为目录创建硬链接;

    2.2 优点

      源文件移动不影响硬链接的使用

    3. 软链接

      将文件B软链接到文件A,文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪一个文件,最终读取的都是文件B;

      软链接依赖源文件,源文件删除后。所有的软链接都无法正常使用,因为软链接本质还是操作链接指向的源文件;

      可以为一个文件创建多个软链接,每个软链接都指向源文件,删除一个软链接不影响源文件及其他软链接;

    3.1 软链接文件

      示例:为 a.txt 创建软连接 b.txt,b.txt 指向a.txt,操作 b.txt 时实际操作的就是a.txt

      

    3.2 软链接目录

      为目录 a 创建 软链接 b,然后拷贝文件到 b,实际是将文件拷贝到 a 目录

       

    3.3 缺点

      软链接文件保存的是源文件的路径,如果源文件目录发生变化,则软链接无法找到源文件

    3.4 优点

      克服了硬链接的缺点

      

  • 相关阅读:
    ISO/IEC 9899:2011 条款6.10.3——宏替换
    ISO/IEC 9899:2011 条款6.10.2——源文件包含
    关于Objective-C新增的__kindof关键字
    ISO/IEC 9899:2011 条款6.10.1——条件包含
    ISO/IEC 9899:2011 条款6.10——预处理指示符
    ISO/IEC 9899:2011 条款6.9.2——外部对象定义
    Objective-C中使用不定参数个数的方法调用
    php添加数据到xml文件的例子
    nginx rewrite重写与防盗链配置
    nginx url自动加斜杠的问题
  • 原文地址:https://www.cnblogs.com/virgosnail/p/12917340.html
Copyright © 2020-2023  润新知