linux的硬链接和软连接的区别及说明

2023-12-01 0 485
目录
  • linux的硬链接和软连接的区别
    • Linux中有两种链接文件
    • 软链接
    • 硬链接
    • 删除原文件
    • 复制软、硬链接到新的文件
  • 什么是硬链接和软链接
    • 硬链接
    • 软链接
  • 总结

    linux的硬链接和软连接的区别

    Linux中有两种链接文件

    1)软链接(符号链接symbol),等同于Windows中快捷方式

    ln -s 源文件名 符号链接文件名,源文件名和符号链接文件名是主从关系,源被删了,符号链接也就失效了

    eg:ln -s src.c linker.c(linker.c就是src.c的一个符号链接文件);

    2)硬链接,ln 源文件名 符号链接文件名,源文件名和符号链接文件名是并列关系,源被删了,符号链接依然有效。硬链接实际上和源文件在硬盘中是同一个东西,效果类似于硬盘上的一个文件,在文件系统上,在我们看来有好多个文件一样。每次删除一个文件时,只要他还有其他的硬链接存在,这个文件就不会被真正删除。只有等所有的链接文件都删除掉了,这个文件才会被真正从硬盘上删除

    软链接与硬链接的区别(通俗):

    硬链接可认为是一个文件拥有两个文件名;

    而软链接则是系统新建一个链接文件,此文件指向其所要指的文件

    若源文件改名,则软连接不可用(找不到源文件);硬链接可正常访问到源文件;

    修改软连接、硬链接和源文件,访问三者都是同步变化的。

    软链接

    首先,我建立link_test.txt的测试文件,建立软连接指向测试文件

    ln -s 源文件 软连接

    linux的硬链接和软连接的区别及说明

    查看软连接的内容和源文件内容一样,接着编辑了软连接后,查看软连接和原测试文件

    linux的硬链接和软连接的区别及说明

    说明编辑软连接就是编辑原文件。测试删除软连接后原文件正常,删除源文件后软连接失效。

    同样,当我们修改任何一个软链接文件都会使内容发生改变,文件都保持同步变化。我们也可以看到软链接只有18Kb并不会占用磁盘空间。它只是一个原文件的引用,当我们将原文件删除以后,引用将会失效。

    硬链接

    ln 源文件 硬连接

    建立硬链接后发现,硬链接的大小和原文件一样,并且索引节点号也一样。当我们改变硬链接的文件内容时,同样也会改变原文件的内容。

    linux的硬链接和软连接的区别及说明

    linux的硬链接和软连接的区别及说明

    改变原文件内容,软硬链接内容也都同步改变:

    linux的硬链接和软连接的区别及说明

    删除原文件

    软连接失效,硬链接正常

    linux的硬链接和软连接的区别及说明

    复制软、硬链接到新的文件

    当我们用cp命令复制软链接时,我们复制的是原文件,而不是一个软链接。

    复制软、硬链接后,对复制文件修改,都不会影响原文件。

    linux的硬链接和软连接的区别及说明

    什么是硬链接和软链接

    硬链接

    由于 Linux 下的文件是通过索引节点(inode)来识别文件,硬链接可以认为是一个指针, 指向文件索引节点的指针,系统并不为它重新分配 inode 。每添加一个一个硬链接,文件的链接 数就加 1 。

    不足:

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

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

    软链接

    软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符 号链接。因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件 进行链接。

    不足:

    因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下移到其他目录 中,再访问链接文件,系统就找不到了,而硬链接就没有这个缺陷,你想怎么移就怎么移; 还有它要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。

    实际场景下,基本是使用软链接。

    总结区别如下:

    硬链接不可以跨分区,软件链可以跨分区。

    硬链接指向一个 inode 节点,而软链接则是创建一个新的 inode 节点。

    删除硬链接文件,不会删除原文件,删除软链接文件,会把原文件删除。

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持悠久资源网。

    收藏 (0) 打赏

    感谢您的支持,我会继续努力的!

    打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
    点赞 (0)

    悠久资源 Linux服务器 linux的硬链接和软连接的区别及说明 https://www.u-9.cn/server/linux/510.html

    常见问题

    相关文章

    发表评论
    暂无评论
    官方客服团队

    为您解决烦忧 - 24小时在线 专业服务