微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

bash – 使用cURL下载目录中的所有文件

我正在使用cURL尝试下载某个目录中的所有文件.

这是我的文件列表:

我试过用bash脚本做的:iiumlabs.[].csv.pgp和iiumlabs *我觉得curl在通配符上并不大.

curl -u login:pass ftp.myftpsite.com/iiumlabs* -O

问题:如何使用cURL下载此文件目录?

好的,考虑到你使用的是Windows,最简单的方法就是使用与之捆绑的标准ftp工具.我将以下解决方案基于Windows XP,希望它在其他版本上也能正常工作(或稍作修改).

首先,您需要为ftp程序创建一个批处理(脚本)文件,其中包含相关说明.根据需要命名,然后输入:

curl -u login:pass ftp.myftpsite.com/iiumlabs* -O

open ftp.myftpsite.com
login
pass
mget *
quit

第一行打开与ftp服务器ftp.myftpsite.com的连接.以下两行指定了登录,以及ftp要求的密码(替换登录并仅使用登录名和密码,没有任何关键字).然后,使用mget *获取所有文件.您可以使用任何通配符代替*.最后,使用quit关闭ftp程序而不进行交互式提示.

如果您需要先输入某个目录,请在mget之前添加cd命令.它应该非常简单.

最后,编写该文件并像这样运行ftp:

ftp -i -s:yourscript

其中-i禁用交互性(在下载文件之前询问),-s指定您创建的脚本的路径.

遗憾的是,Windows中本机不支持通过SSH进行文件传输.但是对于那种情况,你可能还是想要使用PuTTy工具.对于这种情况特别感兴趣的是pscp,它实际上是openssh scp命令的PuTTy计数器部分.

语法类似于copy命令,它支持通配符:

pscp -batch login@mysshsite.com:iiumlabs* .

如果使用密钥文件进行身份验证,则应使用-i path-to-key-file传递它.如果使用密码,-pw pass.它还可以使用load -load your-session-name参数重用使用PuTTy保存的会话.

原文地址:https://www.jb51.cc/bash/387194.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐