lftp
据称支持使用以下方法同时下载多个文件get -P
:
来自新闻文件:
Version 4.8.0 - 2017-07-10
...
* get/mget/put/mput: add -P option for parallel transfers and long options.
从手册页中:
get [-E] [-a] [-c] [-e] [-P N] [-O base] rfile [-o lfile] ...
Retrieve the remote file rfile [...]
...
-P N download N files in parallel
这似乎对我不起作用。以下是使用lftp
版本进行的 SFTP 连接交互式会话的摘录4.9.2:
# testing -P 3 with three files - sees "3" as a file name
lftp [email protected]:/basedir/subdir> get -P 3 f20230719.zip f20230720.zip f20230721.zip
get: Access failed: Cannot find message [/basedir/subdir/3]
45785 bytes transferred in 7 seconds (6.9 KiB/s)
Transfer of 1 of 4 files failed
# testing -P without argument - silently ignored
lftp [email protected]:/basedir/subdir> get -P big20230708.zip big20230715.zip
`big20230715.zip' at 4390912 (4%) 927.4K/s eta:94s [Receiving data]
Interrupt
在线help
的get
也不了解-P
(尽管同一版本的手册页知道 ):
lftp [email protected]:/basedir/subdir> help get
Usage: get [OPTS] <rfile> [-o <lfile>]
Retrieve remote file <rfile> and store it to local file <lfile>.
-o <lfile> specifies local file name (default - basename of rfile)
-c continue, resume transfer
-E delete remote files after successful transfer
-a use ascii mode (binary is the default)
-O <base> specifies base directory or URL where files should be placed
有人成功让它工作了吗?
答案1
这似乎是文档/UI 问题。get -P
不接受任何n
值,但也不会被忽略。重新运行第二次尝试显示这两个文件实际上是同时下载的。
除了手册页和在线帮助中的错误信息外,用户界面也相当具有误导性:每次只能看到一个下载。显示的下载速度和预计到达时间仅适用于该文件,一段时间后显示会切换到另一个并发下载。
如果两个文件的大小相似,它们的速度和预计到达时间也会相似。在我上面的第二个测试中,文件名也只相差一位数字,因此很难看出发生了什么。
与 相比get -P
,mget -P
坚持在后面使用一个数字-P
作为连接限制。目前尚不清楚get
将使用多少个并发连接;可能是在 中配置的值net:connection-limit
(默认为无限制)。
我要提交一个关于文档的问题。至少它在某种程度上是有用的。