9

我正在编写至少应该适用于 Windows 和 Linux FTP 的 FTP 客户端。但在我继续之前,我想回答这些问题。

  1. Linuxls -lt上的 FTP 服务器使用FTP 命令时,文件的排列顺序是什么?
  2. 是否有所有 Linux FTP 服务器都提供文件列表的特定格式/逻辑?例如,日期时间戳将始终存在,并且文件按“修改日期”或类似内容的降序排列。
  3. Windowsls -lt上的 FTP 服务器使用FTP 命令时,文件的排列顺序是怎样的?
  4. 是否有所有 Windows FTP 服务器都提供文件列表的特定格式/逻辑?
  5. 你能指导我看一些有助于理解这一点的文档吗?有没有为此定义的标准?

注意:我在 Windows 和 Linux FTP 服务器上尝试了命令,但我无法弄清楚任何特定的逻辑/格式。

4

3 回答 3

8

ls是客户端命令。当您的客户端ls -lt从用户那里获取信息时,您向服务器发出LIST命令,由您的客户端解析返回的数据并按时间排序。使用该LIST命令时 ftp 服务器返回的数据与 的输出类似ls,但可能因服务器而异。见:http ://cr.yp.to/ftp/list.html

于 2012-07-19T04:59:38.647 回答
4

FTP ls / dir 命令的格式取决于服务器实现。您不太可能依赖 ftp 中的 ls -lt 命令的顺序。一些服务器实现可能会给你名字顺序,其他的可能会给你时间顺序。

于 2012-07-19T04:51:06.010 回答
1

较新的 FTP 服务器应该有望实现 RFC 3659,尤其是MLSD 和 MLST命令。这些命令的响应格式——用于以机器可解析的格式列出文件和目录——由 RFC 严格定义,因此在底层平台/操作系统之间应该是相同的。

不幸的是,MLSD/MLST 命令在处理响应格式时,不能保证列表中文件的顺序;这是您的客户需要处理的事情。

于 2016-01-18T02:29:33.333 回答