一尘不染

从Windows访问Cygwin符号链接

linux

我对Cygwin很陌生。我创建了一个符号链接,如下所示

$ ln -s /var/www /cygdrive/d/foo

当我D通过Windows 检查驱动器时,我看到一个名为的系统文件foo。有没有办法使fooWindows充当文件夹而不是系统文件?


阅读 465

收藏
2020-06-07

共1个答案

一尘不染

从来没听说过。Cygwin不会将操作系统更新为具有符号链接,而是允许您从Cygwin Shell中“伪造”符号链接。您可以将外壳设置为使用Windows
LNK文件,该文件可以执行您想要的操作,但是…

Cygwin文档中

使用cygutils创建快捷方式

另一个问题区域是在Unix样式的链接(将一个文件链接到另一个文件)和Microsoft
.lnk文件(它们提供文件的快捷方式)之间。乍一看,它们看起来很相似,但实际上却完全不同。默认情况下,Cygwin不会将符号链接创建为.lnk文件,但是可以选择这样做,请参见“
CYGWIN环境变量”一节。这些symlink
.lnk文件与Windows创建的.lnk文件兼容,但是它们仍然不同。它们不包括标准Microsoft快捷方式中可用的许多信息,例如工作目录,图标等。cygutils程序包包括用于创建标准本机Microsoft
.lnk文件的mkshortcut实用程序。

但这就是问题所在。如果Cygwin像处理任何其他符号链接一样处理这些本机快捷方式,则无法将Microsoft
.lnk文件存档到tar存档中并将所有信息保留在其中。解压缩后,这些快捷方式将丢失所有额外的信息,并且与标准Cygwin符号链接没有什么不同。因此,对这两种类型的链接有不同的对待。不幸的是,这意味着创建和使用符号链接的通常Unix方法不适用于本机Windows快捷方式。

2020-06-07