我在 (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