You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用cURL按最后添加时间排序列出FTP远程文件?

解决cURL按指定顺序列出FTP文件的问题

问题原因

你之前的命令格式错误:curl ls -ltc -u login:pass ... 中,ls -ltc 会被cURL误认为是要下载的文件名,而非传递给FTP服务器的排序指令,所以只会返回默认的字母排序结果。

解决方案

有两种可行方式,根据FTP服务器的支持情况选择:

1. 向FTP服务器发送带排序参数的LIST命令

cURL允许通过 -Q 选项向FTP服务器发送自定义命令,直接让服务器返回已排序的列表。使用以下命令:

curl -u login:pass -Q "LIST -ltc" ftp://ip:port/path/to/file/
  • -Q "LIST -ltc":告诉FTP服务器执行带 -ltc 参数的LIST命令(-l 长格式、-t 按时间排序、-c 按创建时间而非修改时间,具体参数支持取决于服务器端的FTP软件)。
  • 若要按从旧到新排序,部分服务器可能需要调整参数为 -ltrc(-r 反向排序),可根据实际输出测试调整。

2. 本地对cURL输出进行排序

如果FTP服务器不支持LIST带参数,可先获取原始列表,再用本地工具排序。cURL默认输出的FTP列表格式与 ls -l 类似,可通过 sort 命令按时间列排序:

curl -u login:pass ftp://ip:port/path/to/file/ | sort -k 6,7
  • -k 6,7:指定按第6、7列(日期和时间字段)排序,默认升序即为从旧到新;若要反向则加 -r 参数(sort -r -k 6,7)。

内容的提问来源于stack exchange,提问作者supernoob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 00:02:42