美文网首页Linux这只酷企鹅
硬链接与软链接简略

硬链接与软链接简略

作者: guguaihezi | 来源:发表于2019-10-10 21:07 被阅读0次

    1.概念

    硬链接:给一个文件创建硬链接(hard links)相当于给它取了一个别名,文件的节点(inode)并没有改变,硬链接不占用内存空间。
    ln [源文件] [链接文件]

    echo "this is source file"  >f1
    ln f1 f2        #创建硬链接
    ln -s f1 f3      #创建软链接
    ls  -li      #-l 查看所有文件,-i 查看文件节点
    rm -rf f2   删除链接文件
    

    软链接:给一个文件创建软链接(symbolic links)相当于给它创建了一个快捷方式,这个快捷方式本身也是个文件,有自己的节点,当然也占用一定的磁盘空间。
    ln -s [源文件] [链接文件]

    ls -li
    405209676 -rw-r--r--. 2 usrname root   20 Oct 10 20:52 f1
    405209676 -rw-r--r--. 2 usrname root   20 Oct 10 20:52 f2
    405209665 lrwxrwxrwx. 1 usrname root   2 Oct 10 20:52 f3 -> f1     #第三列的2表示有2个文件名链接到405209676这个inode;软链文件的大小是2字节,其实就是f1文件名的大小。
    

    2.应用上的相同点

    对链接文件内容作的任何更改都会同步到源文件中,反之亦然。
    删除链接文件并不会影响源文件。

    3.应用上的不同点:

    硬链接能防止误删:删除源文件,硬链文件还在,软链文件则同时被删除。
    硬链接文件有两个限制
      1)不允许给目录创建硬链接;
      2)只有在同一文件系统中的文件之间才能创建链接。

    但是创建链接有什么用呢?无非就是和copy相比,少占用内存;多条路径防止误删;和直接引用相比,省去给出路径的繁琐。

    参考:
    https://www.cnblogs.com/itech/archive/2009/04/10/1433052.html

    相关文章

      网友评论

        本文标题:硬链接与软链接简略

        本文链接:https://www.haomeiwen.com/subject/ieqapctx.html