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

nan*_*oft 5 linux bash sftp command rename

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

sftp user@host
Run Code Online (Sandbox Code Playgroud)

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

sftp>
Run Code Online (Sandbox Code Playgroud)

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

rename /A/file1 /A/file2 B/
Run Code Online (Sandbox Code Playgroud)

只是补充一下,我必须仅使用 sftp 协议通过命令行来完成此操作,而不是使用 fileZilla 或 wincp 等任何工具。

Kev*_*ire 0

没有mv使用 sftp 的命令。正如您所说,唯一的解决方案是使用rename.


作为终端中的解决方法,您可以在 python 中使用ftputil。它有一个重命名功能:

rename(source, target)
Run Code Online (Sandbox Code Playgroud)

它重命名 FTP 服务器上的源文件(或目录)。

这样,您可以轻松连接到服务器、列出目录并创建循环来重命名列出的文件。