Renci SSH.NET:如何创建符号链接?

3

我目前使用Renci SSH.NET以SFTP协议将文件上传到Unix服务器,并且上传工作正常。然而,我现在想要将文件上传到“符号链接容器”中,并且在另一个目录中创建指向这些文件的符号链接。这是否可行?我还没有找到管理符号链接的类,那么应该如何实现?

2个回答

2
使用 SftpClient.SymbolicLink 方法。
public void SymbolicLink(string path, string linkPath)

请注意,路径的含义可能会很混乱。最常见的SFTP服务器OpenSSH存在漏洞,并且使用路径顺序错误。许多其他SFTP服务器为了兼容性而遵循这个漏洞。但并非所有服务器都是如此。因此,您需要测试您的服务器使用的路径顺序。
请参见:

谢谢Martin,这个方法可行,但是如果我想再次删除链接(不是真正的目标,只是链接)怎么办?SftpClient.Delete会抛出异常(“失败”)。 - Erik
1
它应该可以工作。请发布一个新问题,包含完整的代码和更多信息。 - Martin Prikryl

1
我曾经使用过SSH.net,但是没有找到有关符号链接的内容。不过我发现SSH.net支持自定义命令,因此您可以编写Linux命令(我认为它是ln)来创建符号链接。
在这个网址上,您可以获得一个使用SSH.Net自定义命令的示例如何使用SSH.Net运行多个命令? 也许如果您需要创建许多符号链接,您可以创建一个类或下载源代码并添加一个新方法。
希望这可以帮助您。

谢谢,这确实非常有用,特别是对于SSH.NET直接不支持的命令。 - Erik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接