linux - 将多个文件从一个目录移动到远程 sftp 服务器上的另一个目录

标签 linux bash command rename sftp

我正在使用以下命令连接到我的远程 sftp:

sftp user@host

接下来输入密码后,我得到 sftp 提示,即

sftp>

我的工作是将多个 文件从目录A 移动到目录B。 我可以通过重命名命令来做到这一点,但一次只能有一个文件。 是否有任何命令/语法可以将文件列表从目录 A 移动到目录 B。如下所示:

rename /A/file1 /A/file2 B/

补充一下,我只能通过命令行使用 sftp 协议(protocol)来完成,而不是像 fileZilla 或 winscp 这样的任何工具。

最佳答案

您已在评论中指出您正试图避免向 SFTP 服务器发出多个请求的任何事情。

最广泛实现的 SFTP 协议(protocol)版本是 Version 3, draft 02 .值得注意的是,这是由 OpenSSH 实现的版本,OpenSSH 是使用最广泛的 SFTP 服务器软件。那个版本的协议(protocol)没有提到通配符,command to rename a file将单个文件或目录从旧名称重命名为新名称。

任何重命名多个文件的客户端都必须对每个文件发出一个重命名操作,之前可能有一个或多个操作来获取要重命名的文件名。客户端可以为用户提供一个命令来重命名多个文件(或拖放选项,或其他),但在 SFTP 协议(protocol)级别,它必须为每个文件至少发出一个 SFTP 请求。

关于linux - 将多个文件从一个目录移动到远程 sftp 服务器上的另一个目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51136086/

相关文章:

c - 在位数组中找到第一个零

linux - grep:如何将匹配捕获到变量中?

linux - 如何删除正在连续写入的文件的旧内容?

linux - 在 shell 脚本中保存预定后台进程的终端输出

linux - 如何合并文件中的特定列?

html - 浏览器从标准输入读取 HTML

linux - 在没有 printf 的 NASM 中打印 ARGC

windows - 在unix中获取windows中bat文件的返回值?

objective-c - 如何在一致的环境中循环使用 NSTask 运行终端命令?

linux - 使用shell脚本删除文件夹内容