×

如何用 curl 操作FTP

Falcon 2023-02-09 views:
自动摘要

正在生成中……

FTP 上传/下载文件

假设 FTP 服务器 地址为:192.168.0.100; 用户名为:user; 密码为:passwd

(1) 查看文件

# 查看 FTP 指定目录(目录必须以"/"结尾)下的文件列表 

curl ftp://192.168.0.100/aaDir/ -u "user:passwd"

# 查看 FTP 指定文件的内容(直接输出到终端) 

curl ftp://192.168.0.100/aaDir/aa.txt -u "user:passwd"

# 用户名 和 密码 的另一种写法(查看 FTP 服务器指定目录)

curl ftp://user:passwd@192.168.0.200/aaDir/

(2) 上传文件

# 上传 aa.txt 文件到 FTP 指定目录下(目录必须以"/"结尾), 并以 原文件名 命名保存

curl ftp://192.168.0.100/aaDir/ -u "user:passwd" -T "aa.txt"

# 上传 aa.txt 文件到 FTP 指定目录下, 并以 bb.txt 命名保存

curl ftp://192.168.0.100/aaDir/bb.txt -u "user:passwd" -T "aa.txt"

# 同时上传多个文件

curl ftp://192.168.0.100/aaDir/ -u "user:passwd" -T "{aa.txt,bb.txt}"

(3) 下载文件

# 下载 FTP 指定文件 /aaDir/aa.txt, 以原文件名命名保存到当前目录 

curl ftp://192.168.0.100/aaDir/aa.txt -u "user:passwd" -O

# 下载 FTP 指定文件 /aaDir/aa.txt, 以 bb.txt 命名保存

curl ftp://192.168.0.100/aaDir/aa.txt -u "user:passwd" -o bb.txt

(4) 执行 FTP 协议命令

curl 执行 FTP 命令格式:

单条命令: curl [-options] <ftpUrl> -X "FTP命令"

多条命令: curl [-options] <ftpUrl> -Q "FTP命令" -Q "FTP命令"

# 创建文件夹, 在 /aaDir/ 目录(目录必须以"/"结尾)下创建 bbDir 文件夹

curl -u "user:passwd" ftp://192.168.0.100/aaDir/ -X "MKD bbDir"

# 删除文件夹, 删除 /aaDir/ 目录下的 bbDir 文件夹(文件夹必须为空)

curl -u "user:passwd" ftp://192.168.0.100/aaDir/ -X "RMD bbDir"

# 删除文件, 删除 /aaDir/ 目录下的 aa.txt 文件

curl -u "user:passwd" ftp://192.168.0.100/aaDir/ -X "DELE aa.txt"

# 重命名, 重命名需要连续执行两条命令, 使用两个 -Q 参数连续执行两条命令(必须先 RNFR, 后 RNTO)

curl -u "user:passwd" ftp://192.168.0.100/ -Q "RNFR OldPath" -Q "RNTO NewPath"

其他 FTP 协议命令参考:

http://www.nsftools.com/tips/RawFTP.htm

https://en.wikipedia.org/wiki/List_of_FTP_commands

本文收录于