任何使用" .."的野外FTP客户端重命名?

时间:2015-07-09 14:59:53

标签: ftp ftp-client

显然,在实现FTP服务器方面存在一些方面,这些方面留给了RFC(959)的读者。 (就像response to the LIST command一样。)这相当于试图找出其他实现中的普遍共识,并且这样做。

由于没有明确的命令将文件从一个目录移动到另一个目录,我发现这通常是使用rename commands(RNFR,RNTO)完成的。例如,在WinSCP中,如果将文件从/ data / dir / file拖到父目录(..),它就会

RNFR /data/dir/file
RNTO /data/file

在野外是否有任何客户在野外使用相对路径?例如,如果当前工作目录是/ data / dir,是否有任何客户端可以执行此操作?

RNFR file
RNTO ../file

或者服务器通常会使用命令行客户端的相对路径来理解重命名吗?

1 个答案:

答案 0 :(得分:1)

RNFRRNTO显式命令,用于将文件从一个目录移动到另一个目录

因此,您可以使用它们在目录之间移动文件。在* nix操作系统上,重命名和移动是相同的操作(至少只要你使用相同的文件系统)。

两个命令都以pathname为参数,就像大多数其他FTP命令一样(例如CWDDELE)。

RNFR <SP> <pathname> <CRLF>
RNTO <SP> <pathname> <CRLF>

关于pathnameRFC 959在第4.1.3节中说明了

  

的语法            路径名必须符合服务器站点约定(使用            标准默认值适用)

我相信这意味着您可以合理地期望服务器能够理解..中的RNTO,就像服务器了解CWD ..

一样

如果有任何(GUI?)客户端使用此功能?我不会这么说。为什么客户会费心去寻找移动操作的公共根并计算相对路径,如果它只是简单地使用绝对路径?

正如@Remy已经评论过的那样,目录列表格式由RFC 3659中的MLSDMLST命令标准化。

大多数现代FTP服务器都支持这些,除了IIS FTP(无论如何都不称为现代FTP服务器)。