Sib*_*Lin 5 macos smb symlink afp
在Mac上,我有一个共享文件夹,〜\ Documents.有两个子文件夹,Data和Data_2011,前者包含过去几年文件的文件夹,后者包含自2011年1月1日以来已更新的Data文件夹中文件夹的符号链接.链接是使用标准创建的ln -s命令.
当我在Windows计算机上安装共享文档文件夹时,链接工作.当我使用smb在Linux上安装时,链接可以正常工作.当我直接在托管Mac上使用这些链接时,它们可以正常工作.但是,当我从远程Mac安装Documents文件夹时,软链接被破坏.为了清楚起见,我通过转到Finder>连接到服务器> afp://xxx.xxx.xx.xx/或smb://xxx.xxx.xx.xx/Documents来挂载Documents文件夹
有关如何在与远程Mac共享时使这些软链接正常工作的任何想法?
-Sibo
Mac OS 文件共享将符号链接公开为实际符号链接。
如果我使用 AFP 或 SMB 将一台 Mac 连接到另一台 Mac,我可以确认这一点。
请注意,符号链接是由客户端解析的 - 即使在非文件共享的情况下,这也意味着符号链接中的相对路径可能很棘手,在涉及网络文件共享的情况下,这意味着客户端计算机需要能够查看目标文件(目标文件也必须位于共享并挂载的文件夹中),并且路径需要相同。
例如,如果我在主目录中创建一个名为“foo”的文本文件,然后执行“ln -s foo symlink”来创建一个名为 symlink 的链接,然后从第二台计算机挂载该主目录并执行“ls - l”它显示为“symlink@ -> foo”,如果我cat该文件我可以读取它。但是,如果我将符号链接创建为“ln -s /Users/matt/foo symlink”,则在第二台计算机上 ls -l 将其显示为“symlink@ -> /Users/matt/foo”,并且 cat 说“cat:符号链接:没有这样的文件或目录”。这是因为在第二台计算机上, /Users/matt 是一个本地主目录,不包含名为 foo 的文件(如果包含,解析符号链接的任何内容都会看到本地 foo,而不是从第一台计算机共享的 foo) 。
所以基本上:您可以使用“ls -l”来查看符号链接指向的位置,并注意客户端计算机将解析符号链接并尝试打开具有该名称的任何文件,这可能是也可能不是您所期望的。
(您的测试在 Linux 计算机而不是 Mac 上运行的原因可能是 Linux 计算机安装了更多网络共享或具有不同的名称,这样符号链接目标名称在 Linux 计算机上是有效的文件名,但在 Mac 上则不是。 )
| 归档时间: |
|
| 查看次数: |
6354 次 |
| 最近记录: |