是否有任何jsch ChannelSftp的功能像命令'cp'一样工作

时间:2012-10-31 06:47:13

标签: rename jsch cp

现在,我正在使用jsch-0.1.41,通过ChannelSftp在远程linux服务器上运行资源。我发现没有函数提供类似于shell命令“cp”的功能。现在我要复制一个文件从一个目录到另一个,这两个目录都是linux服务器上的远程目录。

我的演讲中有任何错误的观点,请指出。谢谢。

1 个答案:

答案 0 :(得分:0)

SFTP协议不提供这样的命令,因此JSch的ChannelSftp也不提供它。

您基本上有两种选择:

  • 使用getput的组合,即下载文件并重新上传。您可以在没有本地存储的情况下执行此操作(只需将其中一个流连接到另一个),但这仍然需要通过网络将数据移动两次(并加密/解密两次),这在实际上并不是必需的。只有在其他方式不起作用时才使用此功能。

  • 不要使用SFTP,而是使用exec通道在服务器上执行复制命令。在unix服务器上,此命令通常在cp的Windows服务器上命名为copy。 (如果服务器管理员以某种方式将您的帐户限制为仅限SFTP访问,则无效。)