FTP“ls -lt”命令:它如何列出Linux FTP和Windows FTP服务器的文件详细信息?

时间:2012-07-19 04:27:27

标签: linux ftp ftp-client ftpwebrequest ftp-server

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

  1. Linux 上将FTP ls -lt命令用于FTP服务器时,列出了哪些文件?
  2. 是否有任何特定的格式/逻辑,其中所有Linux FTP服务器提供文件列表?例如DateTime标记将始终存在,文件按“修改日期”的降序列出或类似。
  3. Windows 上将FTP ls -lt命令用于FTP服务器时,列出了哪些订单文件?
  4. 是否存在所有Windows FTP服务器提供文件列表的特定格式/逻辑?
  5. 您能指导我一些有助于理解这一点的文档吗?是否有为此定义的标准?
  6. 注意:我尝试在Windows和Linux FTP服务器上执行命令,但我无法找出任何特定的逻辑/格式。

3 个答案:

答案 0 :(得分:8)

ls是一个客户端命令。当您的客户端从用户获得ls -lt时,您向服务器发出LIST命令,由您的客户端来解析返回的数据并按时间对其进行排序。使用LIST命令时,ftp服务器返回的数据类似于ls的输出,但它可能因服务器而异。请参阅:http://cr.yp.to/ftp/list.html

答案 1 :(得分:4)

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

答案 2 :(得分:1)

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

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