菜鸟科技网

FTP MDTM命令如何获取文件修改时间?

MDTM 是什么?

MDTMMoDifiTiMe 的缩写,它是 FTP 协议中的一个命令,用于从 FTP 服务器上获取远程文件的最后修改时间

FTP MDTM命令如何获取文件修改时间?-图1
(图片来源网络,侵删)

当你连接到 FTP 服务器后,可以使用 MDTM 命令查询某个特定文件是在什么时候被最后修改的。

MDTM 命令的语法

MDTM 命令的基本语法如下:

MDTM <文件名>
  • <文件名>:你需要查询修改时间的文件名,如果文件名中包含空格,通常需要用引号()括起来。

MDTM 命令的工作流程

当你发送 MDTM 命令后,FTP 服务器会执行以下操作:

  1. 接收命令:服务器解析你发送的 MDTM <文件名> 命令。
  2. 检查文件:服务器检查你指定的文件是否存在,以及你是否有权限读取该文件的元数据。
  3. 返回响应
    • 成功:如果文件存在且你有权限,服务器会返回一个以 213 开头的状态码,并在后面跟上文件的最后修改时间。
    • 失败:如果文件不存在、你没有权限或发生其他错误,服务器会返回一个错误码,
      • 550:文件不存在或不可访问("No such file or directory")。
      • 450:文件暂时不可访问。
      • 500:语法错误,无法识别的命令。

响应格式

成功时,MDTM 的响应格式遵循 FTP 协议的标准,具体格式如下:

FTP MDTM命令如何获取文件修改时间?-图2
(图片来源网络,侵删)
213 <YYYYMMDDHHMMSS[.sss]>
  • 213:表示成功返回文件时间信息。
  • YYYYMMDDHHMMSS[.sss]:这是核心的时间信息。
    • YYYY:4位年份 (2025)
    • MM:2位月份 (10 for October)
    • DD:2位日期 (26)
    • HH:2位小时,使用24小时制 (14 for 2 PM)
    • MM:2位分钟 (30)
    • SS:2位秒 (45)
    • [.sss]:可选部分,表示毫秒,并非所有服务器都支持。

示例: 如果服务器返回: 213 20251026143045

这表示该文件在 2025年10月26日 14:30:45 (UTC时间) 被最后修改。

重要提示:FTP 协议本身不指定时间戳是 UTC 还是本地时间,在实践中,绝大多数 FTP 服务器返回的时间戳都是 协调世界时

实际使用示例

假设你已经通过 ftp 命令连接到了一个服务器,并且当前目录下有一个名为 report.txt 的文件。

FTP MDTM命令如何获取文件修改时间?-图3
(图片来源网络,侵删)
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r--   1 0        0              1234 Oct 26 14:30 report.txt
226 Directory send ok.
ftp> mdtm report.txt
213 20251026143045
ftp> mdtm non_existent_file.txt
550 non_existent_file.txt: No such file or directory.
ftp> quit
221 Goodbye.

相关命令

MDTM 命令通常与其他 FTP 命令结合使用,特别是:

  • LIST (ls):列出目录内容。LIST 命令的输出(尤其是在被动模式下)通常会包含文件的修改时间、大小和权限等信息。MDTM 提供了一种更精确、可编程的方式来单独获取时间戳,而不需要解析 LIST 命令的文本输出。
  • SIZE:获取远程文件的大小。MDTMSIZE 是一对常用的命令,用于在传输前检查文件的元数据。
  • MDTM 的写操作:虽然 MDTM 主要用于读取时间,但 FTP 协议也支持一个用于设置文件修改时间的命令,其语法为 MDTM <YYYYMMDDHHMMSS> <文件名>,这个写操作的命令支持度并不像读操作那样广泛,很多服务器可能不支持或不允许客户端随意修改文件时间戳。
特性 描述
命令名称 MDTM (MoDifiTiMe)
功能 获取远程 FTP 服务器上文件的最后修改时间。
语法 MDTM <文件名>
成功响应 213 <YYYYMMDDHHMMSS[.sss]>
时间格式 YYYYMMDDHHMMSS,通常为 UTC 时间。
主要用途 在脚本和自动化任务中,用于检查文件是否已更新,或与本地文件进行同步。

MDTM 是一个非常实用的命令,尤其是在需要编写脚本来自动化文件处理或同步时,它能让你精确地判断远程文件的状态。

分享:
扫描分享到社交APP
上一篇
下一篇