Wget 多个 FTP 文件,无需重新登录每个文件

Wget 多个 FTP 文件,无需重新登录每个文件

假设有一个 ftp 站点,里面有一堆我想下载的文件 -ftp://ftp.example.com,并且它们允许通过 FTP 进行“匿名登录”。

假设ftp://ftp.example.com

file1.zip, 
file2.zip, 
... ,
file100.zip

另外假设我有一个文件路径列表,我想将所有文件路径下载到 bash 变量中,如下所示:

paths="ftp://ftp.example.com/file1.zip ftp://ftp.example.com/file7.zip"

有没有办法做到wget $paths(即下载我的两个文件的列表)而不必看到 wget 对每个文件执行的操作:

Connecting to ftp.example.com|10.10.10.10|:21... connected.
Logging in as anonymous ... Logged In!

对于我下载的每个文件,wget 都会在哪里登录到该网站进行一次身份验证?

答案1

或者,您可以使用普通的旧 ftp。在您的~/.netrc文件中设置 ftp.example.com 的节:

machine ftp.example.com
  login ftp
  password anonymous

...确保其他人无法读取该文件:

chmod 600 ~/.netrc

然后ftp通过此处文档发送命令来检索文件:

ftp ftp.example.com <<'EOF'
prompt
mget file*.zip
bye
EOF

某些 ftp 客户端可能支持-i禁用提示的选项mget,从而无需使用prompt列表中的命令。

使用此选项将为所有文件传输建立一个 ftp 会话。

答案2

我想你想要第 9 条提示这一页。

基本上,使用 wget -i 下载多个文件,

$ cat > download-file-list.txt
URL1
URL2
URL3
URL4

$ wget-i download-file-list.txt

相关内容