小智 46
硬链接和软链接之间的不同语义使它们适用于不同的事物。
硬链接:
符号链接(软链接)
ls -l
将显示符号链接指向的路径)Law*_*ceC 19
这两种类型的链接的目的是提供一种方法,使文件同时出现在两个位置。这有很多用途。10 次中有 9 次您想使用符号链接。
符号链接或“符号链接”有点像 Windows 快捷方式。符号链接的内容是指向文件/目录实际位置的指针。如果您删除真实文件,符号链接将变为“悬空”,并且不起作用。删除符号链接不会删除真实文件。您可以根据需要拥有多个指向单个文件(甚至其他符号链接)的符号链接。
但是,与 Windows 不同的是,它们在文件系统级别上工作,而不是在 shell 或应用程序级别上工作,因此几乎任何应用程序都会按预期“遵循”符号链接。 ls -al
可以用作查看符号链接“指向”何处的快速方法。
硬链接甚至可以在较低级别上工作。硬链接是文件的实际物理文件系统级目录条目。从技术上讲,目录条目是一个硬链接,因此每个文件在某个目录中至少有一个硬链接。硬链接与其指向的文件不是分开的;如果一个文件在不同的目录中有多个硬链接,那么在rm
所有硬链接都消失之前,使用类似工具删除硬链接并不会真正删除该文件。
我想不出使用硬链接的情况是常见的,甚至是需要的,除非您有意防止文件被删除或正在对分区或其他文件系统相关的事情做一些奇怪的低级工作。编辑:不过,这个问题的其他答案中有很好的想法!
gee*_*aur 13
硬链接对于基于磁盘的备份机制非常有用,因为您可以为每个备份拥有一个完整的目录树,同时为未更改的文件共享空间——并且文件系统会跟踪引用计数,因此当最后一次引用到给定的版本因为空间原因备份已过期/删除而消失,它使用的空间会自动回收。出于同样的原因,一些邮件客户端也将其用于归档到多个文件夹的邮件。