我需要将其拖放file_1
到也存在的位置dir_1
。我希望将其覆盖。dir_2
file_1
我可以通过本地机器上的拖放功能执行此操作,但无法再从另一个 FileZilla 目录进行拖放。我收到一条错误:
mv /home/path/file_1.png /home/path2/file_1.png: failure
直到几天前我才能够这样做。然后它最后会显示“重命名成功”。我没有更改任何设置。我使用的是 3.12.0.2 版本。我不认为我最近更新过,但也许我更新过。
上述命令在 shell 中有效,以同一用户登录。我还可以将文件拖到没有同名文件的文件夹中。
这非常重要,因为我喜欢将所有文件上传到临时目录,然后再将它们移动到最终生产目录。这是为了避免上传连接问题影响生产目录中的内容。
附言:只有我一个人遇到这个问题吗?你们有人尝试过 3.12.0.2 版本并且成功了吗?
答案1
我假设您正在使用 SFTP 协议(因为您有 SSH 访问权限,并且从“失败”消息中可以看到下文)。
使用 SFTP 协议时,FileZilla 只是SSH_FXP_RENAME
向 SFTP 服务器发送请求。FileZilla 不会检查目标文件是否已存在,更不用说在重命名源文件之前尝试删除它。
根据SFTP 规范:
如果已存在具有 newpath 指定名称的文件,则会出错。
事实上,如果目标文件已经存在,最广泛使用的 SFTP 服务器实现 OpenSSH 就会使请求失败SSH_FXP_RENAME
。它确实会失败,并显示一个相当神秘的“失败”错误消息,就像OpenSSH SFTP 服务器在很多情况下。
所以我相信它对你来说永远都行不通。除非你之前使用了不同的 SFTP 服务器,这违反了规范。
事实证明您之前使用的是 FTP,而不是 SFTP。