将 Windows 符号链接解释为 Linux 符号链接

将 Windows 符号链接解释为 Linux 符号链接

我在 (Windows) 网络安装位置上有一堆文件。其中许多文件是 Windows 的符号链接。

我可以做些什么来告诉 Ubuntu 正确地解释这些 Windows 符号链接?这些符号链接中的指针显示如下。

l--------- 1 acc acc 0 Dec 18 12:40 file.txt -> /??/D:/path/to/file.txt

即使我可以通过编程做类似下面的事情也能实现我的目标:

if path.contains("/??/D:/") {
    path = path.replace("/??/D:/", "/mnt/share/")
}

我不想更改符号链接的内容,因为它们仍被我的 Windows 机器上的其他服务使用。

编辑我之所以要这样做,是因为我在 Ubuntu 上有一个应用程序,我将它指向 (Windows) 网络共享上的符号链接,但由于 Linux 和 Windows 中的符号链接结构不同,它们无法成功找到目标文件。目标文件位于同一共享中,权限不是问题。

答案1

假设??符号链接目标中的 实际上是??,您可以轻松地为符号链接提供它们所要求的内容。也就是说,只需创建一个名为 的目录/??/D:sudo mkdir -p '/??/D:'不要忘记单引号以防止?:被解释为特殊字符)。然后执行以使sudo mount -o bind /mnt/share '/??/D:'的内容/mnt/share也可以在 处访问/??/D:

如果这能满足您的要求,您可以通过添加此行使其永久生效/etc/fstab

/mnt/share /??/D: auto bind 0 0

相关内容