overview

文件系统由两部分组成:

  • 数据块:存储文件的内容

  • 索引节点:存储文件的信息

    https://i.loli.net/2019/04/29/5cc6fc85612e7.jpg

是两个文件的链接,只是一个 shortcut(如 Windows 的快捷方式)

  • 如果删除软链,并不会影响到实际的文件,但是删除实际的文件,软链将会失效

  • 软链可以跨越不同文件系统(主机),只要不同主机中相应的资源存在

  • 软链可以链接文件或者文件夹

  • 软链的文件系统标识是 l,表示这是个软链,例如在 Linux 下使用 ll 的命令,可以看到软链为 lrwxr-xr-x 1 user staff 13B Mar 6 15:51 softlink -> test/softlink

    创建软链的方法: ln -s <source> <linkname>

硬链是实际文件的副本,硬链和被链接的文件共享一个索引节点

  • 如果原文件被删除,硬链仍然可以访问原文件,直到所有指向原文件的硬链都被删除了

  • 硬链不能跨越文件系统,因为他们共享一个索引节点,硬链指向的是硬件的路径而不是目录树

  • 硬链只能链接文件而不能链接目录

  • 原文件与硬链之间的关系是平等的

  • 使用硬链可以方便实现 copy on write 的场景,他能保存文件的副本

  • 硬链作为一个普通的文件,所以在文件系统的标识为 -

    创建硬链的方法: ln <source> <linkname>