Aaron K Asked: 2009-05-21 12:58:15 +0800 CST2009-05-21 12:58:15 +0800 CST 2009-05-21 12:58:15 +0800 CST 软(符号)链接和硬链接有什么区别? 772 我听说您现在也可以在 Vista 中创建软链接。那么,在 UNIX/Linux/Vista 上,软(符号)链接和硬链接有什么区别? 使用其中一种是否有优势?还是它们只是服务于两个不同的目的? linux unix filesystems hardlink symlink 3 个回答 Voted Best Answer dmckee --- ex-moderator kitten 2009-05-21T13:12:25+08:002009-05-21T13:12:25+08:00 硬链接传统上共享相同的文件系统结构(unixspeak 中的 inode),而软链接是路径名重定向。 硬链接必须在同一个文件系统上,软链接可以跨文件系统。 即使您移动其中任何一个,硬链接文件也会保持链接(除非您将一个文件移动到另一个文件系统,从而触发复制和删除机制)。如果您移动目标(原始),软链接文件会中断,有时当您移动链接时(您使用的是绝对路径还是相对路径?它仍然有效吗?)。 硬链接文件是平等的,而原始文件在软链接中是特殊的,删除原始文件会删除数据。在删除所有硬链接之前,数据不会消失。 软链接可以指向任何.目标,但大多数操作系统/文件系统不允许硬链接目录以防止文件系统图中的循环(unix 目录中的和..条目除外,它们是硬链接)。 软链接可能需要文件系统漫游工具的特殊支持。阅读readlink (2)。 (mat1t让我想起了一些细节。谢谢。) Matthew Steeples 2009-05-21T13:12:19+08:002009-05-21T13:12:19+08:00 总结是符号/短链接充当第一个文件位置的快捷方式,而硬链接是磁盘上文件的快捷方式。 如果您删除软链接的目标,则该软链接将停止工作,但如果您删除一个硬链接的副本,该文件将保留在磁盘上,直到所有指向它的硬链接都被删除。实际上,所有文件名都是磁盘上文件的硬链接。 也有一定的限制,例如我不认为你可以创建文件夹的硬链接,但你可以创建它们的软链接。软链接也可以指向不同驱动器和分区上的文件/文件夹,而硬链接不能。 Reginald Kincaid 2011-04-19T10:20:48+08:002011-04-19T10:20:48+08:00 MS Windows 系统总是使用软链接(快捷方式)。也就是说,链接只是作为指向文件位置的快捷方式。如果原件的位置被移动,则链接断开。此外,您对快捷方式所做的操作(例如更改权限或更改快捷方式的名称)不会影响实际文件。 所以这个问题始于一个不正确的假设。是的,Vista 使用软链接,但它不是新的,而是 MS 快捷方式。
硬链接传统上共享相同的文件系统结构(unixspeak 中的 inode),而软链接是路径名重定向。
.
目标,但大多数操作系统/文件系统不允许硬链接目录以防止文件系统图中的循环(unix 目录中的和..
条目除外,它们是硬链接)。(mat1t让我想起了一些细节。谢谢。)
总结是符号/短链接充当第一个文件位置的快捷方式,而硬链接是磁盘上文件的快捷方式。
如果您删除软链接的目标,则该软链接将停止工作,但如果您删除一个硬链接的副本,该文件将保留在磁盘上,直到所有指向它的硬链接都被删除。实际上,所有文件名都是磁盘上文件的硬链接。
也有一定的限制,例如我不认为你可以创建文件夹的硬链接,但你可以创建它们的软链接。软链接也可以指向不同驱动器和分区上的文件/文件夹,而硬链接不能。
MS Windows 系统总是使用软链接(快捷方式)。也就是说,链接只是作为指向文件位置的快捷方式。如果原件的位置被移动,则链接断开。此外,您对快捷方式所做的操作(例如更改权限或更改快捷方式的名称)不会影响实际文件。
所以这个问题始于一个不正确的假设。是的,Vista 使用软链接,但它不是新的,而是 MS 快捷方式。