wget并行下载

cat url.txt | xargs -P5 -t wget -c -t 10 -nv

-P表示并行下载的线程数,可以在wget后面加上-q不输出详情,加上-b在后台下载(不要加-b,后台下载会覆盖掉xargs的-P参数)

url.txt的格式为一行一组参数(在不为xargs添加-n的情况下),可以如下

https://download/a.zip
https://download/b.zip
...(等同-n1)

Or

https://download/a.zip -O 'a.zip'
https://download/b.zip -O 'b.zip'
...(等同-n3)

xargs 参数

https://www.runoob.com/linux/linux-comm-xargs.html

-a file 从文件中读入作为 stdin
-e flag ,注意有的时候可能会是-E,flag必须是一个以空格分隔的标志,当xargs分析到含有flag这个标志的时候就停止。
-p 当每次执行一个argument的时候询问一次用户。
-n num 后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的。
-t 表示先打印命令,然后再执行。
-i 或者是-I,这得看linux支持了,将xargs的每项名称,一般是一行一行赋值给 {},可以用 {} 代替。
-r no-run-if-empty 当xargs的输入为空的时候则停止xargs,不用再去执行了。
-s num 命令行的最大字符数,指的是 xargs 后面那个命令的最大命令行字符数。
-L num 从标准输入一次读取 num 行送给 command 命令。
-l 同 -L。
-d delim 分隔符,默认的xargs分隔符是回车,argument的分隔符是空格,这里修改的是xargs的分隔符。
-x exit的意思,主要是配合-s使用。。
-P 修改最大的进程数,默认是1,为0时候为as many as it can ,这个例子我没有想到,应该平时都用不到的吧。

wget 参数

https://wangchujiang.com/linux-command/c/wget.html

参考链接

  1. https://blog.51cto.com/zounan/4931745