2012-07-19 90 views
8

我正在寫FTP客戶端,至少應該適用於Windows和Linux FTP。在我繼續之前,我想回答這些問題。FTP「ls -lt」命令:它如何列出Linux FTP和Windows FTP服務器的文件詳細信息?

  1. 在其中,當FTP ls -lt命令用於在Linux的 FTP服務器的順序列出文件?
  2. 是否有任何特定的格式/邏輯所有Linux FTP服務器提供的文件列表?例如DateTime郵票將永遠在那裏,文件以「日期修改」或類似的降序排列。
  3. 當FTP ls -lt命令用於Windows上的FTP服務器時,列出了哪些命令文件?
  4. 是否有任何特定的格式/邏輯所有Windows FTP服務器提供的文件列表?
  5. 你能指導我閱讀一些有助於理解的文檔嗎?有沒有爲此定義任何標準?

注意:我試過在Windows和Linux FTP服務器上的命令,但是我找不出任何特定的邏輯/格式。

+1

我可以知道人們爲此低估了這個問題嗎?至少在投票時提及原因,以便提問者將來可以避免同樣的錯誤。 – Learner 2012-07-19 05:45:05

回答

8

ls是一個客戶端命令。當您的客戶端從用戶獲得ls -lt時,您會向服務器發出LIST命令,並由客戶端解析返回的數據並按時間對其進行排序。當您使用LIST命令時,由ftp服務器返回的數據與ls的輸出類似,但它可能因服務器而異。請參閱:http://cr.yp.to/ftp/list.html

4

FTP ls/dir命令的格式取決於服務器實現。你不太可能依靠ftp中的ls -lt命令的順序。一些服務器實現可能會給你命名,其他人可能會給你時間順序。

1

較新的FTP服務器應該有望實現RFC 3659,特別是MLSD and MLST命令。這些命令的響應格式 - 用於列出文件和目錄,採用機器可分析的格式 - 由RFC嚴格定義,因此在底層平臺/操作系統中應該是相同的。

不幸的是,MLSD/MLST命令在處理響應格式時,並不保證列表中文件的排序;這是你的客戶需要處理的事情。