菜鸟科技网

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

MDTM 命令简介

MDTMModification TiMe 的缩写,它是一个 FTP 命令,用于从 FTP 服务器获取指定文件的最后修改时间

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

这个命令在需要检查文件是否被更新、进行同步操作或者记录文件状态等场景中非常有用。


命令语法

MDTM 命令的基本语法如下:

MDTM <文件名>
  • MDTM: 命令关键字,不区分大小写(通常使用大写)。
  • <文件名>: 你想查询修改时间的文件名,这个文件名必须是当前工作目录下的一个文件,或者是一个使用绝对路径/相对路径指定的文件。

响应码

执行 MDTM 命令后,FTP 服务器会返回一个三位数的响应码,告诉你操作的结果。

成功响应码

  • 213: 文件修改时间已成功找到。
    • 服务器会返回 213,后跟文件的修改时间,时间格式通常是 YYYYMMDDHHMMSS[.sss](年月日时分秒[.毫秒])。
    • 示例:
      FTP> MDTM report.txt
      213 20251027143000

      这表示 report.txt 文件最后修改时间是 2025年10月27日 14:30:00

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

失败响应码

  • 550: 请求的操作未执行,这通常意味着:

    • 文件不存在。
    • 你没有权限访问该文件。
    • 你指定的路径是一个目录而不是文件。
    • 示例:
      FTP> MDTM non_existent_file.txt
      550 non_existent_file.txt: No such file or directory.
  • 450: 请求的文件操作被中断,文件不可用(正在被另一个进程写入)。

  • 500: 语法错误,无法识别命令。

  • **`501``: 命令参数语法错误。

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

实际操作示例

下面是一个使用 MDTM 命令的完整交互示例。

# 1. 连接到 FTP 服务器
$ ftp ftp.example.com
Connected to ftp.example.com.
220-Welcome to the FTP example server.
220-Please use your email address as the password.
220-
Name (ftp.example.com:myuser): anonymous
Password: 
230 Login successful.
# 2. 列出当前目录的文件
ftp> dir
2025-10-27 14:25:00       12345 file1.txt
2025-10-26 10:15:00      67890 file2.log
226 Directory send ok.
# 3. 查询 file1.txt 的修改时间
ftp> MDTM file1.txt
213 20251027142500
# 4. 查询 file2.log 的修改时间
ftp> MDTM file2.log
213 20251026101500
# 5. 尝试查询一个不存在的文件
ftp> MDTM missing_file.txt
550 missing_file.txt: No such file or directory.
# 6. 退出 FTP
ftp> bye
221 Goodbye.

与其他相关命令的对比

命令 全称 功能 返回信息
MDTM Modification TiMe 获取文件的最后修改时间。 仅返回一个时间戳字符串。
SIZE - 获取文件的大小(以字节为单位)。 仅返回一个数字。
MDTM + SIZE - 结合使用,可以获取文件的唯一标识符(修改时间+大小)。 可以用于判断文件是否被修改或内容是否改变。
MLST LiSt 详细列出文件或目录的元数据,包括修改时间、大小、权限等。 返回结构化的列表信息,比 MDTM 更全面。

MLST (现代 FTP 服务器推荐)

对于支持现代 FTP 扩展的服务器,使用 MLST 命令通常是更好的选择,它一次性返回文件的多种属性,包括 modify(修改时间)。

ftp> MLST file1.txt
250- Listing file1.txt
modify=20251027142500; size=12345; file1.txt
250 End MLST.

可以看到,MLST 的响应更丰富,并且通常更可靠,但 MDTM 是一个非常基础和广泛支持的命令,几乎所有 FTP 服务器都支持它。


  • 用途: MDTM 命令用于获取 FTP 服务器上单个文件的最后修改时间。
  • 语法: MDTM <文件名>
  • 成功响应: 213 YYYYMMDDHHMMSS
  • 主要失败原因: 文件不存在 (550) 或权限不足。
  • 适用场景: 文件同步、版本检查、自动化脚本中判断文件是否更新。

在编写脚本时,通常会检查 MDTM 的返回码来判断命令是否成功执行,并解析返回的时间字符串以获取所需信息。

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