我需要从一台服务器下载 800 个文件到我的服务器。这些文件有不同的名称,并且位于远程服务器的不同子目录中,但我有一个列表,上面有它们的名称。我怎样才能做到这一点,而不必逐一进行操作?我可以使用 scp 或 sftp,但我不知道如何提交要下载的文件列表。
多谢!
答案1
你应该能够做类似的事情:
wget http://the.source.of.it.all $(< /the/list/of/files/here)
甚至可以通过一个脚本来运行整个过程,该脚本遍历文件,从列表中读取一行并请求它。
您对 shell 编程了解多少?您对 Unix 命令行实用程序了解多少?您是否熟悉脚本语言,例如 Perl 或 Python?
答案2
sftp
有一个-b
选项可以从批处理文件中读取命令。批处理文件应包含命令列表,就像您在sftp>
命令提示符下键入的命令一样。
您可以生成一个批处理文件,其中包含get
要获取的每个文件的命令以及您需要发出的任何其他命令,例如lcd
将lmkdir
文件放在正确的本地目录中。