我需要从ftp服务器下载文件并在传输完(在远程服务器上)后将其删除 它可能在一个命令行中?
curl ftp://host/testfile.txt -X 'GET testfile.txt' --user user:password -o local.txt
curl ftp://host/testfile.txt -X 'DELE testfile.txt' --user user:password
由于
答案 0 :(得分:1)
我建议您创建FTP命令的脚本,并将它们传送到内置的ftp
客户端。以下是我的计算机上的一个示例(使用您的ls
命令替换test.ftpscript
中的GET/DEL
命令):
[user@host ~] cat > test.ftpscript
user anonymous anonymous@gmail.com
ls
bye
[user@host ~] ftp -inv ftp.swfwmd.state.fl.us < test.ftpscript
Connected to ftp.swfwmd.state.fl.us (204.76.241.31).
220
331 Please specify the password.
230 Login successful.
227 Entering Passive Mode (204,76,241,31,191,167).
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 7478 Dec 05 09:59 README.txt
drwx------ 2 0 0 16384 Dec 04 13:40 lost+found
drwxr-xr-x 20 0 0 4096 Dec 18 14:42 pub
lrwxrwxrwx 1 0 0 3 Dec 05 10:07 public -> pub
drwxr-xr-x 3 0 0 4096 Dec 04 15:26 pvt
226 Directory send OK.
221 Goodbye.
[user@host ~]
答案 1 :(得分:0)
是的,可以在一个命令中执行此操作:
p[0]
在手册页中:
curl -Q '-DELE testfile.txt' --user user:password -o local.txt ftp://host/testfile.txt