wget命令–文件下载
wget http://www.Linuxcool.com/testfile.zipwget -O test.zip http://www.Linuxcool.comwget --limit-rate=300k http://www.linuxcool.com/test.zip利用wget批量下载文件
与该功能相关的Linux命令:
最后更新于
wget http://www.Linuxcool.com/testfile.zipwget -O test.zip http://www.Linuxcool.comwget --limit-rate=300k http://www.linuxcool.com/test.zip最后更新于
wget -c http://www.linuxcool.com/test.zipwget -b http://www.linuxcool.com/test.zip
Continuing in background, pid 1840.
Output will be written to `wget-log'.wget --mirror --convert-links www.qq.com
wget --mirror --convert-links www.baidu.com
wget -m -k -p www.qq.com#!/bin/bash
A=downloads1.txt #存放需要下载的url的文件名
B=test-file_ #生成的临时URL列表文件名前缀,可以不用管
rm -rf download/*
start=`date "+%s"` #开始时间
a=`cat $A | wc -l` #统计需要下载url的行数
b=`expr $a / 20 + 1` #计算将文件分成20个,每个文件的行数,这里设置的是计划分成20个文件,+1是防止出现奇数
split -l $b $A -d -a 2 $B #将需要下载的URL文件按上一条命令计算出的数量进行分割,并命名为$B+数字。
ls | grep $B > link.txt #将所有分割后的文字名记录到link.txt文本,
for line1 in `cat link.txt` #依次读取link.txt文件中的每一行,即分割成20份的文件名;
do
cat $line1 |while read line #依次列出分割成20份的文件中的URL
do xargs wget -q -c $line -P download #将上一条命令列出的URL传给wget进行下载,并放至指定目录xia
done & #默认是每个文件中的URL下载完之后再下载下一个,直到全部完成。为了加快速度,用&将命令放至后台,立即执行下一个循环,直到将20个文件读取完。
done
wait #前面的命令因为放在了后台,通过wait等待前面的所有命令执行完再执行后面的命令。
rm -rf link.txt $B* #删除之前生成的临时文件
end=`date "+%s"` #记录结束时间
echo "TIME: `expr $end - $start`" #打印总共用时,单位是秒url_file=urls.txt
for url in "${url_file}"
do
wget -P /save_path/ "${url}"
done