cygwin (1.7.x) 是否理解 Windows NTFS 连接点(由 Win7/2008 中的 mklink 或 sysinternals 的 junction.exe 创建)?
它们与“ln -s”创建的符号链接有何不同?
cygwin (1.7.x) 是否理解 Windows NTFS 连接点(由 Win7/2008 中的 mklink 或 sysinternals 的 junction.exe 创建)?
它们与“ln -s”创建的符号链接有何不同?
是的,Cygwin 1.7 确实理解 NTFS 连接点以及 NTFS 符号链接(如 Vista 中所介绍的)。它们显示为 Cygwin 程序的符号链接,因此例如删除此类链接只会删除链接而不是指向的文件。
Cygwin 在创建 Cygwin 符号链接时不使用 NTFS 符号链接的原因是只允许提升的管理员创建它们(除非更改注册表设置)并且它们没有所有必需的 POSIX 语义。
Cygwin 的符号链接只不过是一个说明链接所在位置的文件。当您从 Windows cmd 提示符查看其中的内容时,您会发现以下内容:
C:\>type c:\cygwin\bin\emacs
!<symlink> ■/ e t c / a l t e r n a t i v e s / e m a c s
C:\>
AFAIK,Window 的 NTFS 连接点完全不同。我希望由于它们是在文件系统层完成的,cygwin 不会看到它们与任何其他文件/目录有什么不同。
话虽如此,我还要说我没有玩过NTFS连接点,所以YMMV。